aboutsummaryrefslogtreecommitdiffstats
path: root/old
diff options
context:
space:
mode:
authorVincent Torri <vincent.torri@gmail.com>2012-11-04 11:51:42 +0000
committerVincent Torri <vincent.torri@gmail.com>2012-11-04 11:51:42 +0000
commitc15e9c6575c3b5f39ded167dda5259de3de96151 (patch)
tree5115d7ae3620af24c2bc094cd062575af7adeda9 /old
parentefreet: better english (diff)
downloadefl-c15e9c6575c3b5f39ded167dda5259de3de96151.tar.gz
merge: and now Evas
I've tested make -j 3 install and it works nicely I've tested expedite with software and opengl xlib, and it works. Not tested other engines, so please report any problems (engines or other) on the ML. TODO: examples and tests, I'll add them later ISSUE: Eina_Unicode size check. It indirectly depends on eina_config.h, which is created at the end of the configure script. So its size is always 0. I don't know how that size is used, so I can't do a lot, for now. SVN revision: 78895
Diffstat (limited to 'old')
-rw-r--r--old/ChangeLog.evas1147
-rw-r--r--old/NEWS.evas255
-rw-r--r--old/README.evas812
3 files changed, 2214 insertions, 0 deletions
diff --git a/old/ChangeLog.evas b/old/ChangeLog.evas
new file mode 100644
index 0000000000..3bc62e3d22
--- /dev/null
+++ b/old/ChangeLog.evas
@@ -0,0 +1,1147 @@
+2011-01-29 Carsten Haitzler (The Rasterman)
+
+ 1.0.0 release
+
+2011-01-29 Carsten Haitzler (The Rasterman)
+
+ * Enabled mempool for object allocation
+ * Allow shorter pre-render handler for rect objects if they are
+ invisible
+
+2011-01-30 Tom Hacohen (TAsn)
+
+ * It's actually a merge from my local branch upstream so this
+ includes many changes.
+ * Fixed cursor/selection handling with BiDi text.
+ * Fixed many BiDi issues in both textblock and text objects.
+ * Cleaned up textblock and font engine a lot.
+ * Added auto-alignment to tetxblock and text objects.
+ * Added mixedwrap (word wrap, and if a word is too big cut it) support
+ to textblock.
+ * Renamed a lot of stuff.
+ * Made textblock faster, mostly by saving item sizes and caching
+ layout items when text doesn't change.
+ * Added harfbuzz (ot layouting/shaping and etc) support.
+ * Currently you need to set the env var EVAS_USE_OT to '1' in order to
+ use OT support (harfbuzz) that will change soon.
+ * More code cleanups will be coming in the future. This shipment is
+ mostly to get code review started (and also make sure I don't have a
+ merging hell later on).
+
+2011-01-31 ChunEon Park
+
+ * Fix lurking free bug in key grabs.
+
+
+2011-02-01 Carsten Haitzler (The Rasterman)
+
+ * Added WBMP loader thanks to Samsung.
+
+2011-02-01 Tom Hacohen (TAsn)
+
+ * Started using string objects instead of strings in most of the
+ font engine (everywhere except draw). Haven't removed the
+ paramteres yet, but did mark them as UNUSED. Removing them will be
+ part of a future change.
+ * Removed run-time OT toggling support, OT is now fast, no need for that.
+ * Renamed all of the intl_props->text_props (because it really
+ changed purpose
+ * Fixed spliting/merging of text_props to be fast and good, not
+ hacky and complex like before.
+ * Added "mirrored mode" to table object.
+
+2011-02-07 Brett Nash (nash@nash.id.au)
+
+ * Proxy Objects; Now you can set an image to have a 'source' of
+ another object. The proxy will display the object as well. Proxy
+ objects should be mostly complete.
+ * Proxy objects should be complete; please report and bugs to me.
+ * Partial support for arbitrary clipping. Final support coming soon
+ (with some other changes). You can set most objects as a clip on
+ other objects. This will use the alpha channel of the object as a
+ clip on the object. This is still buggy.
+ * CLIPPING DISABLED AND REMOVED DUE TO BEING TOO BUGGY AND INCOMPLETE *
+ * Software support for arbitrary maps. So you can use any size map
+ (not just 4 points) for maps. Once again this is a little buggy.
+ * ARBITRARY MAPS DISABLED AND REMOVED DUE TO BEING TOO BUGGY AND INCOMPLETE *
+
+2011-02-02 Carsten Haitzler (The Rasterman)
+
+ * GL engine gets a speculative texture cache to shadow the
+ normal image cache to avoid excess texture uploads when
+ cycling images often. Should improve performance in some
+ cases.
+
+2011-02-12 Carsten Haitzler (The Rasterman)
+
+ * Fix "ridiculous scaling size" bug, where scaling images to
+ sizes like 1 billion pixels high or wide caused evas to try
+ allocate scaletables on the stack and the stack just couldn't
+ handle it. Now it only allocates a table for the visible
+ region which will always be sane, and even has insanity
+ checks now. At worst you'll get an unrendered image if the
+ values are silly and some slowness. No crashes.
+
+2011-02-13 Brett Nash (nash@nash.id.au)
+
+ * Fix crash when deleting proxies. This _technically_ breaks
+ evas engines which realloc engine data when a border is set.
+ Practically no engines do this. There is a comment there (and
+ if the engine does that border set won't work), in which case
+ a more complex work-around is possible.
+
+2011-02-14 Tom Hacohen (TAsn)
+
+ * Added a newline character mode API to textblock. This lets us set
+ the newline behavior to either normal (i.e only break a line, not
+ a paragraph) to "behave as a PS" mode. Default is the latter.
+ The former is the more correct approach but I guess everything else
+ is in e is not yet ready to use it. These API should help with the
+ transition.
+ * A lot of textblock speed improvements and reduced memory footprint.
+
+2011-02-16 Jeonghyun Yun
+
+ * Patch from Jeonghyun Yun <jh0506.yun@samsung.com> that
+ improves BMP loader support to handle malformed RLE BMP's that
+ encode more pixels per line than the image actuall has.
+
+2011-02-16 Tom Hacohen (TAsn)
+
+ * Dropped Evas_Encoding and moved to use Eina_unicode_utf8 instead.
+ * Started showing the unicode replacement character instead of missing
+ glyphs.
+
+2011-02-20 Carsten Haitzler (The Rasterman)
+
+ * Fix bug in font string parsing that can result in a crash if a
+ font element is long enough.
+ * Fix convert rgba8888 -> a8 bug so it wont crash.
+
+2011-02-21 Carsten Haitzler (The Rasterman)
+
+ * Fixed bug with memory access of old utf8 string when
+ comparing prev and cur state with text obj.
+
+2011-02-22 Tom Hacohen (TAsn)
+
+ * Fixed a bug in textblock cursor position with empty textblocks.
+
+2011-02-22 Carsten Haitzler (The Rasterman)
+
+ * Fixed bug smart calc array where it'd nuke the array when nested
+ process calls happen and leave some objects uncalculated, but
+ removed from the array and marked as needing a calc thus never
+ getting back into the array.
+
+2011-02-27 Vincent Torri
+
+ * Fixed static linking of the bmp, wbmp and tga loaders
+
+2011-03-07 Mike Blumenkrantz
+
+ * Fix segv when trying to set gl viewpoint with NULL ctx
+
+2011-03-08 Carsten Haitzler (The Rasterman)
+
+ * Fix problem with different x vsync api between SGI and EXT flavor
+ as they have the same base name, but different prototypes
+ * Add evas_object_ref() and evas_object_unref() to defer
+ deletion of objects until all references are removed
+
+2011-03-09 Carsten Haitzler (The Rasterman)
+
+ * Fix bug with evas_object_del() calling DEL callback BEFORE
+ the HIDE one.
+
+2011-03-10 Sung W. Park
+
+ * Fix bug with yinvert handling of native surfaces.
+
+2011-03-10 Carsten Haitzler (The Rasterman)
+
+ * Fix issue with loading alpha BMP's with "check if all pixel alpha
+ are 0 or not and then force alpha off if all are 0". This
+ means you can never have a 100% empty/transparent BMP though
+ in 32bpp mode.
+
+2011-03-11 Carsten Haitzler (The Rasterman)
+
+ * Add ICO loader to evas (also can load CUR cursor files in theory)
+
+2011-03-14 Carsten Haitzler (The Rasterman)
+
+ * Add "load from memory" API: evas_object_image_memfile_set() by
+ popular demand. Can load an image format from a memory address.
+
+2011-03-15 Cedric BAIL
+
+ * Fix issues with clipping and map.
+
+2011-03-18 Jiyoun Park
+
+ * Fix wrong call to free when using mempool for Evas_Object.
+
+2011-03-19 Carsten Haitzler (The Rasterman)
+
+ * Caching and timestamp checker for image files made much more
+ pedantic and it checks not just modified timestamp but also
+ inode number, size, and on linux, the nanonsecond resolution
+ timestamp as well.
+
+2011-03-19 Brett Nash (nash)
+
+ * Proxy: Bypass the clip on smart clipped objects. This is probably
+ what you want if you are using proxies, as it means clips don't cause
+ the object to be invisible by the proxy.
+
+2011-03-22 Gustavo Sverzut Barbieri (k-s)
+
+ * Fix build of GL and static modules.
+ * Fix ico loader static build.
+
+2011-03-30 Tom Hacohen (TAsn) and Carsten Haitzler (The Rasterman)
+
+ * Added vertical alignment support to textblock.
+ API: evas_object_textblock_valign_set/get
+
+2011-04-04 Sung W. Park
+
+ * Added Evas OpenGL interface to be able to get an OpenGL API for
+ rendering to image objects. This is the beginning so not
+ totally functional yet.
+
+2011-04-05 Cedric Bail
+
+ * Remove Evas Quartz backend.
+ * Remove Evas Cairo backend.
+ * Remove Evas Qtopia backend.
+ * Remove Evas Xrender backend.
+
+2011-04-06 Carsten Haitzler (The Rasterman)
+
+ * Fix bug in GL engine with someone stealing the GLX context away
+ as well as scissor clips when rotated output is not 0 (90, 180, 270).
+
+2011-04-07 Tom Hacohen (TAsn)
+
+ * Textblock: Major speed improvements.
+ * Textblock: Only relayout and remake paragraphs that have actually
+ changed. This means we are a lot faster than before, especially with
+ long texts.
+
+2011-04-10 Tom Hacohen (TAsn)
+
+ * Textblock: Fixed a bug in evas_object_textblock_text_markup_prepend
+ that caused it to use the object's cursor instead of the cursor
+ passed.
+
+2011-04-11 Carsten Haitzler (The Rasterman)
+
+ * Feature: Text & Textblock - Add 8 explicit shadow directions for
+ text style effects.
+
+2011-04-12 Myoungwoon Roy Kim (roy_kim)
+
+ * Font-engine: Added runtime italic (actually slanting) and
+ emboldening. - Automatically slants/emboldens a font at runtime if
+ italic/bold/crusiva and etc are requested but not found in the
+ system.
+
+2011-04-14 Tom Hacohen (TAsn)
+
+ * Font-engine: Implemented higher level override API for the bidi
+ functions. This implements clause HL4 of the bidi algorithm.
+ This is very cool actually, it lets us to force-separate paragraphs
+ so each part will get his bidi calculated on it's own. This is very
+ useful for "to" field of email/sms applications where ',' is used to
+ separate different text entities.
+
+2011-04-19 Brett Nash (nash)
+
+ * Filters: So filtering of various flavours. They work only on images
+ (use a proxy if you want it on other objects). Documentation inline.
+ Supports a filter object or filter under (the area where the object
+ is filtered). Various parameters to tweak, and potential for
+ additional filters (but you get to write the shader ;-)
+ * FILTERS DISABLED AND REMOVED DUE TO BEING TOO BUGGY AND INCOMPLETE *
+
+2011-04-24 Thierry el Borgi
+
+ * Add PSD file format support.
+
+2011-04-26 Carsten Haitzler (The Rasterman)
+
+ * Added "generic" image loader that can just execute some command
+ to load any given file format and read the RGBA data as stdout
+ from the command, or from an intermediate temporary file or
+ shared memory segment the executable loader provides. Evas
+ doesn't care about the loader beyond it providing output via
+ stdout to define image parameters (size, alpha channel and data
+ information), and evas will call a specific loader binary
+ based on extension name of srouce file. This allows for evas to
+ load image data from files where the loader may be prone to
+ instability, or require use of libraries that are GPL or
+ otherwise undesirable in terms of the result to applications
+ using evas. So basically, if you want a GPL loader or have a
+ very unstable one, write a loader binary and call it
+ evas_image_loader.extension e.g. evas_image_loader.pdf or
+ evas_image_loader.xcf or evas_image_loader.xcf.gz etc. etc.
+
+2011-04-28 Shilpaonkar Singh
+
+ * Textblock: Add "password" tag to turn on/off password in the middle
+ of the textblok. Especially useful for implementing "show last char"
+ for password entries.
+
+2011-05-04 Carsten Haitzler (The Rasterman)
+
+ * Improved table layout for homogenous mode to handle not column
+ or row multiple sized table better.
+
+2011-05-04 Jiyoun Park
+
+ * OpenGL binary shader ability to cache (save and load back
+ later) to avoid re-compiling shaders on every time an app starts and
+ uses the GL engine. Faster startup time.
+
+2011-05-04 Tom Hacohen (TAsn)
+
+ * Textblock: Do standard compliant line breaks. In order to achieve
+ that we now statically link against liblinebreak (available in
+ src/static_deps/liblinebreak). It's usage can be disabled using the
+ configure flag: "--disable-liblinebreak"; Disabling it will activate
+ the fallback line breaking methods which are not very correct, but
+ are possibly faster. I haven't noticed any difference between the
+ two speed-wise, but there probably are in some rare cases.
+
+2011-05-06 Cedric Bail
+
+ * Don't try all image loader when user is pointing them on a directory.
+
+2011-05-11 Carsten Haitzler (The Rasterman)
+
+ * Fix problem with Evas engine not calling pre/post swap functions
+ in the GL engine when using EGL/OpenGL-ES2
+ * Fix SVG loader 2 phase loader having differing scale down code
+ for first and 2nd phase. Resulted in crash when loading some SVGs
+
+2011-05-11 Tom Hacohen (TAsn)
+
+ * Textblock: Added evas_textblock_node_format_list_get. This is very
+ useful for edje_entry that uses anchors in the text.
+
+2011-05-12 Carsten Haitzler (The Rasterman)
+
+ * Add smart instance usage count get function for ability to free
+ data from memory from a smart class if needed.
+
+2011-05-12 Brian Wang
+
+ * Textblock: fix segfault with evas_textblock_cursor_content_get
+
+2011-05-12 Carsten Haitzler (The Rasterman)
+
+ * Add a smart "Grid" layout object that lays out objects in a regular
+ "virtual resolution" grid (eg 100x100) so you can lay them out
+ as a "scaled percentage" of the virtual resolution. virtual
+ resolution is defineable as is the geometry of each member.
+
+2011-05-18 Sung W. Park
+
+ * Fix some internal stencil and depth requests for OpenGL-ES2
+ due to OpenGL-ES limitations.
+ * Fix Surface recreation for FBO in Evas GL support.
+
+2011-05-23 Vincent Torri
+
+ * Fix compilation with libjpeg 8 on Windows.
+
+2011-05-24 Cedric Bail
+
+ * Use Eina_File when possible.
+
+2011-05-26 Carsten Haitzler (The Rasterman)
+
+ * Fix Evas table to handle weighting correctly for items and veto
+ rows or columns that have any child spanning that column not
+ able to expand.
+ * Fix Evas table to use actual fractional weights, not just
+ boolean expand/not expand from weight value.
+
+2011-05-27 Carsten Haitzler (The Rasterman)
+
+ * Add evas_event_thaw_eval() for conveneince of evaluating in state
+ and callbacks of the pointer after a thaw is complete.
+
+2011-05-29 Tom Hacohen (TAsn)
+
+ * Font-engine: Fixed a bug in glyph search causing inconsistent return
+ values. The found fi should always be NULL if there was no fi found.
+
+2011-05-29 Tom Hacohen (TAsn)
+
+ * Font-engine: Conform to the API changes in Harfbuzz 0.6.0
+
+2011-05-29 Raoul Hecky
+
+ * Textblock: Added support for numeric escape codes. e.g "&#x3c;".
+
+2011-05-29 Vincent Torri
+
+ * Fix compilation when --disable-async-preload is passed to configure.
+
+2011-06-01 Cedric Bail
+
+ * Add +evas_object_image_extension_can_load_get and
+ evas_object_image_extension_can_load_fast_get that check if a file
+ may be opened by Evas_Object_Image.
+
+2011-06-07 Cedric Bail
+
+ * Use Eina_File for JPEG loader.
+ * Add evas_object_image_load_orientation_get and evas_object_image_load_orientation_set,
+ that tell if we should honor the orientation information when loading image file.
+
+2011-06-17 Carsten Haitzler (The Rasterman)
+
+ * Allow evas table to re-pack the same object without error and just
+ update packing parameters
+ * Allow to get packing location of table child
+
+2011-06-28 Tom Hacohen (TAsn)
+
+ * Polygon: Implemented "is_inside".
+
+2011-07-05 Hyoyoung Chang
+
+ * Fix bug where event causes event in callback on same object, but
+ with same event counter, so also filter out same event types.
+
+2011-07-06 Carsten Haitzler (The Rasterman)
+
+ * Fix bug in grab counting on object hide while events are frozen
+
+2011-07-07 Cedric Bail
+
+ * Fix infite loop when reinserting object during recalc stage.
+
+2011-07-27 Tom Hacohen (TAsn)
+
+ * Textblock: Closing tags formats is now well-defined for complex
+ formats.
+ For example: <font=Sans font_size=23 color=#FFF> should now be
+ closed with </font> (or, like before, with the generic poper).
+ * Textblock: Add support for out-of-order tag openers/closers.
+ Markup sequences like <b><i></b></i> are now legal and work as
+ expeceted.
+
+2011-07-28 Tom Hacohen (TAsn)
+
+ * Textblock: Added support for quoting format parameters.
+ Formats like: <font='Sans' color='#FFF'> are now legal.
+ * Textblock: Added font_weight and font_style formats.
+ These format allow overriding the font style set using:
+ font=':style=Bold'.
+
+2011-07-31 Tom Hacohen (TAsn)
+
+ * Textblock: Added font_width.
+ This allows overriding the font width set using:
+ font=':style=Condensed'
+
+2011-08-01 Tom Hacohen (TAsn)
+
+ * Textblock: Added lang to markup to set the lang of the text.
+
+2011-08-09 Tom Hacohen (TAsn)
+
+ * Textblock: Added evas_textblock_cursor_range_formats_get which
+ returns the formats inside a range.
+ * Textblock: Added evas_textblock_cursor_visible_range_get which
+ updates the cursors to the ends of the area currently visible on
+ screen.
+
+2011-08-17 Tom Hacohen (TAsn)
+
+ * Callbacks: Added priority support to callbacks.
+
+2011-08-23 Cedric Bail
+
+ * Fix evas_object_image_data_convert.
+ * Add YUV 601 input format to evas_object_image_data_convert.
+
+2011-08-29 Cedric Bail
+
+ * Add colorspaces NV12 and MT12 (64 * 32 macro block tiled
+ format, see Linux videodev documentation for more information).
+
+2011-10-17 Shilpa Singh
+
+ * Textblock: Added underline=dashed support.
+ Tag changes:
+ - dashed is a legal value for underline
+ New tags:
+ - underline_dash_color
+ - underline_dash_width
+ - underline_dash_gap
+
+2011-10-21 Carsten Haitzler (The Rasterman)
+
+ * Add function to request what the largest possible image (or texture)
+ size is from evas.
+
+2011-10-27 ChunEon Park (Hermet)
+
+ * Add evas_object_freeze_events_set/get to discard the object events.
+ they will be useful some cases such as transition.
+
+2011-11-02 Nicolas Aguirre
+ * Add gl_cocoa engine
+
+2011-11-16 Carsten Haitzler (The Rasterman)
+
+ * JPEG encode and decode in eet now uses ISLOW (not IFAST) due to
+ noticable quality losses in the chase for speed. It will use
+ IFAST for quality less than 60 when encoding
+
+2011-11-20 Carsten Haitzler (The Rasterman)
+
+ * TGA loader gets fixed alpha decode - real life tga's have
+ proper alpha values. also reduce false positive tga file
+ detection
+
+2011-11-24 Carsten Haitzler (The Rasterman)
+
+ * Fix repeat event inheritance from parent smart just like
+ pass events are inherited. This was inconsistent.
+
+2011-12-02 Carsten Haitzler (The Rasterman)
+
+ 1.1.0 release
+
+2011-12-07 Carsten Haitzler (The Rasterman)
+
+ * Fix build if gcc too old - if immintrin.h doesn't exist,
+ don't enable SSE3.
+
+2011-12-08 Tom Hacohen (TAsn)
+
+ * Textblock markup: Support self closing format tags, i.e <br/>.
+ You should use <br/> and not <br>. The latter still works but it's use
+ is discouraged.
+ * Textblock: Added evas_textblock_text_markup_to_utf8.
+ This lets you convert textblock markup to plain text.
+ This converts formats and everything correctly.
+
+2011-12-12 Carsten Haitzler (The Rasterman)
+
+ * Fix rounding error in map clip bounds calculation
+
+2011-12-12 Tom Hacohen (TAsn)
+
+ * Textblock: Added evas_textblock_cursor_word_start/end.
+ Those functions let you jump to the start/end of the word under the
+ cursor.
+
+2011-12-13 Carsten Haitzler (The Rasterman)
+
+ * Fix grab count negative values if you do weird combinations of
+ press and release with multiple fingers or multiple mouse
+ buttons.
+
+2011-12-14 Cedric BAIL
+
+ * Use Eina_File when loading bmp, ico, pmaps and wbmp files.
+ * Fix potential race condition in wbmp loader code.
+
+2011-12-14 Tom Hacohen (TAsn)
+
+ * Textblock: Made "br" and "tab" default tags for newline and tab.
+ * Textblock: Added "b" and "i" as default tags that can be overridden
+ by style, and added the infra to support this.
+ * Textblock: Added evas_textblock_text_utf8_to_markup
+
+2011-12-16 Carsten Haitzler (The Rasterman)
+
+ * Fix clip bug that shows up in buffer engine
+ * Fix SSE3 routines with buggy output - disable
+ * Add new api to set and get default event flags.
+
+2011-12-19 Carsten Haitzler (The Rasterman)
+
+ * Add new canvas events called just before and after evas rendering
+ starts and stops.
+
+2011-12-21 ChunEon Park (Hermet)
+
+ * Events: repeat events should not be affected by children.
+ Fixed to object passes events to the next object in the same layer
+ if the repeat_events is enabled.
+
+2011-12-23 Sanghee Park
+
+ * Extend pixman support to allow other operations to use
+ pixman when doing software rendering. On x86 this isn't useful
+ but on ARMv7 with NEON pixman happens to do better with image
+ blending and nearest scale blending.
+ * Add tiled rotator for 32bit display as an option.
+
+2011-12-26 Christopher Michael (devilhorns)
+
+ * Add functions to get/set if an object is a 'frame_object'
+
+2011-12-27 Carsten Haitzler (The Rasterman)
+
+ * Add feature to get number of pressed devices (help fix
+ ecore-evas bug).
+
+2011-12-28 Carsten Haitzler (The Rasterman)
+
+ * Add recursive name find function - evas_object_name_child_find()
+
+2012-01-01 Carsten Haitzler (The Rasterman)
+
+ * Improve CPU use on nvidia drivers when vsyncing. It was
+ actually glXWaitGL() spinning, not glXSwapBuffers(), so this
+ points to a bug in the nvidia drivers where the sleep logic
+ in glXSwapBuffers() hasn't been transferred to glXWaitGL().
+ Avoid use of glXWaitGL() to avoid the nvidia bug.
+
+2012-01-02 Cedric Bail
+
+ * Fix unitialized value when running generic loader without any
+ application found to open the file.
+ * Use Eina_File when openning XPM file.
+
+2012-01-03 Cedric Bail
+
+ * Use Eina_File for PSD file to.
+
+2012-01-06 Sung W. Park (sung_)
+
+ * Add EvasGL support to software backend using OSMesa. Requires OSMesa
+ library. Due to caveats in OSMesa, surface config stays with a
+ context rather than with a surface. So for now, the config of a
+ surface remains with the first context that it binds to. May need
+ to come up with a different solution in the near future.
+
+2012-01-12 Sung W. Park (sung_)
+
+ * Add new api evas_gl_config_new/free() to ensure backward compatibility.
+ Previously, the user simply declared a Evas_GL_Config object but this
+ can cause issues if new configs are added. Now we have evas allocate it
+ for you.
+
+2012-01-16 Raphael Kubo da Costa (rakuco)
+
+ * Add evas_object_smart_callback_del_full() to allow users to
+ unregister a specific smart event callback instead of all
+ callbacks matching a given type and function pointer.
+
+2012-01-17 Carsten Haitzler (The Rasterman)
+
+ * Add EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN pointer mode
+ for some very specific behavior needed for accessibility.
+
+2012-01-19 Cedric Bail
+
+ * Add double buffer support to buffer engine.
+
+2012-01-20 Sung W. Park (sung_)
+
+ * Add Direct Rendering to Evas' window optimization for Evas_GL. This
+ optimization can be significant since it avoids and extra copy from
+ an offscreen buffer. Normally, Evas_GL will render to a render
+ target using an FBO. This can be enabled by giving
+ EVAS_GL_OPTIONS_DIRECT hint in the config options_bits. Direct
+ rendering is actually done if the following conditions are met -
+ 1) All GL rendering is done in the pixel_getter callback 2) No
+ rotation on the image object 3) Corresponding image
+ object has alpha disabled.
+
+2012-01-23 Tom Hacohen (TAsn)
+
+ * Textblock: Added evas_object_textblock_style_user_push/pop.
+ This is used to override the default style set for an evas object.
+ For example, this can be used to nicely change the font and size
+ in a text editor.
+
+2012-02-23 Carsten Haitzler (The Rasterman)
+
+ * Fix rouding of update regions for image objects when scaled
+ (leaves trails without this).
+
+2012-02-23 Cedric Bail
+
+ * Remove Software SDL engine.
+
+2012-02-23 Carsten Haitzler (The Rasterman)
+
+ * Add evas_object_ref_get() to be able to tell if others ref
+ an object.
+
+2012-04-03 Gustavo Sverzut Barbieri (k-s)
+
+ * Box layouts: fix handling of weights that have decimal parts,
+ they were being handled as "int" where "double" was expected.
+
+2012-04-12 Carsten Haitzler (The Rasterman)
+
+ * Fix gl engine clipping bug when rendering to evas map fbo's
+ when gl window buffer is smaller than the fbo. used wrong
+ surface size in clipping logic.
+
+2012-04-12 Tom Hacohen (TAsn)
+
+ * Textblock: Fixed compilation with liblinebreak disabled.
+
+2012-04-14 Carsten Haitzler (The Rasterman)
+
+ * Fix color multiplier staying set when rendering map.
+
+2012-04-22 Carsten Haitzler (The Rasterman)
+
+ * Fix shader binary saving to save with dir existing already.
+
+2012-04-26 Carsten Haitzler (The Rasterman)
+
+ 1.2.0 release
+
+2012-04-26 Cedric Bail
+
+ * Lock less font rendering.
+ * Removing EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
+
+2012-04-29 Tom Hacohen (TAsn)
+
+ * Textblock: Fixed a couple of bugs with range delete.
+
+2012-04-30 Jérôme Pinot
+
+ * Add missing files in the tarballs.
+
+2012-05-01 Cedric Bail
+
+ * Compute limited bounding box for Smart object.
+ * Use bounding box to reduce the number of object explored during event propagation.
+
+2012-05-03 Iván Briano (Sachiel)
+
+ * Add CServe2 and image cache2 that makes use of it. Several changes
+ in the buffer and software engines to use the right cache if CServe2
+ is requested for the application.
+
+2012-05-14 Carsten Haitzler (The Rasterman)
+
+ * Fix pixman rendering support if you set alpha flag AFTER
+ setting image size for custom image data.
+
+2012-05-14 Sanghee Park
+
+ * Add Multisample Anti-Anliased surface format for Evas GL.
+ The formats are divided into High, Med, Low, None, where High represent
+ max number of samples. Currently, this feature is only supported in GLES2
+ environment with GL_IMG_multisampled_render_to_texture extension supported.
+
+2012-05-16 Vincent Torri
+
+ * Use Esvg for svg rendering. If not found, librsvg is still used.
+
+2012-05-18 Cedric Bail
+
+ * Remove librsvg svg loader as it is a massive source of crash in e17. If
+ you still want to use it, use the evas_generic_loader librsvg binary.
+
+2012-05-18 ChunEon Park (Hermet)
+
+ * Update mapped objects rendering when their color is changed
+
+2012-05-24 Carsten Haitzler (The Rasterman)
+
+ * Fix evas_object_image_memfile_set() on non-linux systems.
+
+2012-05-29 Tom Hacohen (TAsn)
+
+ * Text: Fixed an issue with text object sizing.
+ * Font: Fixed run-time italic.
+
+2012-05-30 ChunEon Park (Hermet)
+
+ * Fixed to clean up when map actually changed. Now rendering updates will be
+ correct after evas_map acutally disabled/enabled for the smart object.
+
+2012-05-30 Cedric Bail
+
+ * Don't wake up prepare thread if there is nothing to prepare.
+
+2012-05-30 Daniel Zaoui
+
+ * Fix evas_free callback deletion to not sometimes abort evas freeing
+ in some situations, thus leaking.
+
+2012-06-10 Carsten Haitzler (The Rasterman)
+
+ * Fix evas font handling so bitmap fonts work again like they
+ once did. This ifxes max height, and max ascent/descent
+ calculation for 0 em fonts with 0 bbox size (bitmap case), and
+ fixes 1 rounding error in text objects that placed ascent in the wrong
+ place by 1 pixel for even ascents.
+
+2012-06-10 Cedric Bail
+
+ * Limit the updated region to fit in CPU cache for Pipe rendering.
+
+2012-06-12 ChunEon Park (Hermet)
+
+ * Fixed simple line drawing on s/w backened. Unmatched loop scope caused the
+ destination buffer pointer march in place.
+
+2012-06-12 ChunEon Park (Hermet)
+
+ * Removed empty evas_object_map_source_set/get APIs. Will Not be implemented.
+
+2012-06-13 Mike Blumenkrantz
+
+ * Fix crash in evas_object_image_add() when called prior to setting an engine
+ for the given canvas.
+
+2012-06-14 Cedric Bail
+
+ * Cache convertion from Evas_Map to RGBA_Map.
+
+2012-06-15 Vincent Torri
+
+ * Add Textgrid object.
+
+2012-06-15 Mike Blumenkrantz
+
+ * evas_object_smart_members_get() now returns NULL on non-smart objects
+
+2012-04-26 Carsten Haitzler (The Rasterman)
+
+ * Fix GL engine bitmap font handling
+
+2012-06-19 Vincent Torri
+
+ * Remove uselesss software DirectDraw 16 bits engine
+
+2012-06-27 Sung W. Park (sung_)
+
+ * Added (w, h) <= 0 check in EvasGL surface that was never handled before.
+ * Handled evas_gl_make_current to return error when either surface
+ or context is NULL. Before, when that was the case, it just did
+ make_current(NULL, NULL) internally.
+
+2012-04-28 Carsten Haitzler (The Rasterman)
+
+ * Fix font instance refcounting for textprops that hang around.
+
+2012-06-29 Jiyoun Park
+
+ * upstream merge
+ * Merge remote-tracking branch 'remotes/origin/upstream'
+
+2012-07-03 Christopher Michael
+
+ * Merge Tizen changes to upstream EFL.
+ * Support gif scaling in evas gif loader.
+ * Create vertex & fragment shader(s) in the gl_common engine.
+ * Don't call glGetTexLevelParameteriv unless it is supported.
+ * Support evas_cserve2 in the wayland_shm engine.
+ * When freeing a gl_x11 window, make sure to call eglMakeCurrent with a null surface
+ to inform EGL that this window is no longer valid.
+
+2012-07-04 Cedric Bail
+
+ * Make pipeline rendering use more extensively the prepare stage.
+
+2012-07-04 Gustavo Lima Chaves
+
+ * Add simple interfaces support to Evas smart classes
+
+2012-07-05 ChunEon Park(Hermet)
+
+ * Fixed Map pipe region issue. It caused the incorrect object rendering order
+ on gl backened.
+
+2012-07-05 Cedric Bail
+
+ * Strongly disable Evas pipe rendering.
+
+2012-07-05 Cedric Bail
+
+ * Don't let bad map sneek at render time and ban them as early as possible.
+
+2012-07-07 ChunEon Park(Hermet)
+
+ * Let Draw Text with viewport size instead of window size. When map is enabled then it should be rendered completely.
+
+2012-07-11 Tom Hacohen (TAsn)
+
+ * Fixed runtime emboldenment with bitmap fonts.
+
+2012-07-16 Hermet (ChunEon Park)
+
+ * Fixed to do pre render for the children of mapped object.
+
+2012-07-17 Cedric Bail
+
+ * Fix garbage left by mapped smart object when they fly away from the canvas.
+ * Fix map life cycle.
+
+2012-07-18 Carsten Haitzler (The Rasterman)
+
+ * Fix evas box to not skip dealing with size hint changes
+ while it lays out objects. This breaks elementary badly and it should
+ never have done this. This broke the general logic of size
+ hint handling.
+
+2012-07-19 Jiyoun Park(jypark)
+
+ * Fix jpeg save bug related with error handler
+
+2012-07-22 Cedric Bail
+
+ * Don't crash when calling evas_object_smart_type_check without type.
+
+2012-07-24 Ingvaldur Sigurjonsson
+
+ * Fix typoe in docs
+
+2012-07-24 Hermet (ChunEon Park)
+
+ * Fixed evas_gl resource list have cleared properly when it is released
+ so it would be no problem when it is reinitialized in one same process.
+
+2012-07-24 Cedric Bail
+
+ * Handle Proxy with the right context.
+
+2012-07-24 Carsten Haitzler (The Rasterman)
+
+ * Fix long-standing bug when changing layer of a smart object,
+ its children dont change their layer value and pointer with it, thus
+ getting layer from them get you the wrong one.
+
+2012-07-26 Cedric Bail
+
+ * Keep track of inactive proxied object change so we always update the proxy correctly.
+
+2012-08-01 Jiyoun Park(jypark)
+
+ * Fix gif load bug. we initialize first frame buffer of gif loader
+
+2012-08-01 Jiyoun Park(jypark)
+
+ * Fix evas pointer count problem, if press/release events occurs not pair,
+ it screws up the evas event process. We are not deal with release event if
+ there is no pressed pointer.
+
+2012-08-01 Carsten Haitzler (The Rasterman)
+
+ * Provide share (Data) file for prefix finding and use
+ eina_prefix for modules too so we work with debian multiarch
+
+
+2012-08-02 Sung W. Park (sung_)
+
+ * Fix evas_gl's internal resource surface bug. For optimzation evas_gl
+ was using evas' window surface to do its resource creation and it
+ wans't properly updated when a window is destroyed and recreated.
+
+2012-08-07 Cedric Bail
+
+ * Properly warn when user try to link object from different canvas.
+
+2012-08-13 Carsten Haitzler (The Rasterman)
+
+ * Fix async fd stuff to generate new pipe after a fork (pid mismatch)
+
+2012-08-14 Tom Hacohen (TAsn)
+
+ * Textblock: Fixed range geometry when the last item is a format.
+
+2012-08-17 Hermet (ChunEon Park)
+
+ * Let clip the mapped obj even if it is a child of the mapped obj and do
+ it only when clipper exists
+
+2012-08-20 Hermet (ChunEon Park)
+
+ * Removed unnessesary lines which causes the gles resource leak and
+ corruption.
+
+2012-08-21 Sung W. Park (sung_)
+
+ * Fix evas_gl current_context update issue when evas_gl context is deleted.
+
+2012-08-23 Tom Hacohen (TAsn)
+
+ * Textblock: Fixed bug with 1 char word separators at the start of the
+ text when going to the start of the word (e.g: "=test").
+
+2012-08-26 Jiyoun Park(jypark)
+
+ * Jpeg loader: fix orientation didn't work if jpeg file format is JFIF.
+ Add code deal with JFIF file format.
+
+2012-08-27 Tom Hacohen (TAsn)
+
+ * Textblock: Make sure scale changes causes a complete recalc.
+
+2012-08-29 Christopher Michael (devilhorns)
+
+ * Wayland Egl Engine: Add support for Multi-Sample Anti-Aliasing and GL Direct Images.
+ Add support for using native image binding.
+ Add support for setting GL surface capabilities.
+
+2012-08-30 Carsten Haitzler (The Rasterman)
+
+ 1.7.0 release
+
+2012-08-31 Christophe Sadoine
+
+ * Added a function: evas_map_util_quat_rotate().
+
+2012-09-02 Vincent Torri
+
+ * Fix seg fault in the esvg loader, latest code is required, and
+ enable it on Windows.
+
+2012-09-03 Igor Murzov
+
+ * Add WEBP loader module and cserve2 binary loader patch.
+
+2012-09-03 Christopher Michael (devilhorns)
+
+ * When doing a move or geometry_get, we need to make sure that we
+ don't try to do these on the framespace clip object. Also, since we
+ need the evas to get the framespace clip object, just directly use the
+ framespace values from the canvas, rather than function call to get
+ those values.
+
+2012-09-05 ChunEon Park (Hermet)
+
+ * Added EVAS_CALLBACK_IMAGE_RESIZE. Now user have a notify when image data size of the image object is changed.
+
+2012-09-05 Carsten Haitzler (The Rasterman)
+
+ * Fix EGL/GLES bug when setting up rgba dest alpha windows where they
+ cease to be rendered to. use a shared context and it works.
+
+2012-09-07 Carsten Haitzler (The Rasterman)
+
+ * Fix image alpha set bug if the image data has not been loaded
+ yet from disk. Fixes across software and gl engines needed.
+ * Fix map surface leak.
+
+2012-09-14 Carsten Haitzler (The Rasterman)
+
+ * Add env EVAS_GL_NO_BLACKLIST to disable blacklisting.
+
+2012-09-17 Carsten Haitzler (The Rasterman)
+
+ * Add evas_device API for being able to register devices, set
+ their names, descriptions, classes, parents, sources etc. etc.
+
+2012-09-20 Carsten Haitzler (The Rasterman)
+
+ * Fix native surface crash when setting to null in some
+ situations.
+
+2012-09-24 Sung W. Park (sung_)
+
+ * Refactored Evas GL engine code so wayland_egl and gl_x11 and other
+ engines can share the same code. The common codes are in gl_common/
+ directory and evas_engine just has to implement a few engine functions.
+
+2012-09-26 Carsten Haitzler (The Rasterman)
+
+ * Add the ability via env vars to do partial swaps in the gl
+ engine. This requires that we also can get from gl info as to
+ if a swap was a copy, swap, discard and if a swap with 2 or 3
+ buffers. don't have that but env var will do for now for testing.
+
+2012-09-27 Jiyoun Park (jypark)
+
+ * Add the object display mode hint. this can be used to check object
+ mode like compress or expand or etc
+
+2012-10-03 Mike Blumenkrantz
+
+ * evas_object_del() now accepts NULL more peacefully
+
+2012-10-05 Sung W. Park (sung_)
+
+ * Added Debug feature for Evas GL's GL APIs. It can be set with
+ EVAS_GL_API_DEBUG=1 and when it is set, all the GL calls will check
+ if make_current has been properly called. Also, it'll check if all
+ the GL calls are called within the Pixel Getter function for Direct
+ Rendering option.
+
+2012-10-09 Daniel Zaoui and Tom Hacohen
+
+ * Evas: change Evas to use Eo.
+ This change adds Eo support to Evas while keeping the old API intact.
+ For more information, go to Eo.
+
+2012-10-10 Carsten Haitzler (The Rasterman)
+
+ * Fix font sizing issues when size scaling happens to down down
+ when it should round up. happens in rare sizing situations and fonts.
+
+2012-10-11 Sohyun Kim
+
+ * Fix texture size issues when the image has nv12 format
+
+2012-10-11 Carsten Haitzler (The Rasterman)
+
+ * Fix C code fallback line rendering path in software
+
+2012-10-16 Carsten Haitzler (The Rasterman)
+
+ * Like 16bpp engine, 8bpp engine goes the way of the dodo.
+
+2012-10-16 ChunEon Park (Hermet)
+
+ * Fix the vertical line drawing on gl backened.
+
+2012-10-18 ChunEon Park (Hermet)
+
+ * Update move event when object freeze event is off.
+
+2012-10-19 ChunEon Park (Hermet)
+
+ * Added Proxy'source visibility set APIs
+
+2012-10-23 Carsten Haitzler (The Rasterman)
+
+ * Fix possible segfault in gl engine if image->im is null in
+ image size set.
+
+2012-10-24 ChunEon Park (Hermet)
+
+ * Added Proxy'source events set APIs.
+
+2012-10-25 Cedric Bail
+
+ * Make XPM loader faster.
+
+2012-10-25 ChunEon Park (Hermet)
+
+ * Added Evas_Coord_Size, Evas_Coord_Precision_Size type.
+
+2012-10-26 ChunEon Park (Hermet)
+
+ * Fixed event multi move memory leak.
+
+2012-10-30 Sung W. Park (sung_)
+
+ * Fix clip bug while computing coordinates for Evas GL
+ direct rendering optimization.
+
+2012-11-02 Carsten Haitzler (The Rasterman)
+
+ * Fix evas textblock tag parser to respect escaped spaces and
+ escaped single quotes. This fixes an edje text class restyling bug.
diff --git a/old/NEWS.evas b/old/NEWS.evas
new file mode 100644
index 0000000000..3271bbe905
--- /dev/null
+++ b/old/NEWS.evas
@@ -0,0 +1,255 @@
+Evas 1.8.0
+
+Changes since Evas 1.7.1
+-------------------------
+
+Fixes:
+ * Fix evas textblock tag parser to respect escaped spaces and escaped single quotes
+
+Changes since Evas 1.7.0:
+-------------------------
+
+Additions:
+
+ * WEBP image loader support.
+ * EVAS_CALLBACK_IMAGE_RESIZE.
+ * Evas_Device registration/manipulation/querying API
+ * Evas_Object_Display_Mode querying API
+ * EVAS_GL_API_DEBUG=1 env. var option for outputting debug logs related to Evas GL's GL calls.
+ * Proxy source visibility set APIs
+ * Proxy source events set APIs
+ * Evas_Coord_Size, Evas_Coord_Precision_Size types
+
+Improvements:
+
+ * Function to rotate an evas map with a quaternion: evas_map_util_quat_rotate().
+ * EVAS_GL_NO_BLACKLIST env var to turn off blacklisted drivers in gl
+ * Evas gl engine can do partial swaps now.
+ * evas_object_del() now takes NULL parameters
+ * make xpm loader faster (from O(N) to O(log(N))).
+
+Fixes:
+ * Fix segmentation fault with the esvg loader.
+ * Fix EGL/GLES dest alpha rendering bug (no rendering).
+ * Fix evas_object_image_alpha_set when image data not loaded yet.
+ * Fix map surface leak.
+ * Fix native surface set to null crash bug in gl engine.
+ * Fix font sizing issue with some rare sizes and fonts when rounding wrong.
+ * Fix software line drawing c fallback code.
+ * Fix the vertical line drawing on gl backened.
+ * Fix potential segfault in gl engine if image internal image is NULL.
+ * coordinate compute bug for Evas GL direct rendering.
+
+Removal:
+ * No more support s3c6410.
+ * 16bpp engine removed.
+ * 8bpp engine removed.
+
+Evas 1.7.0
+
+Changes since Evas 1.2.0:
+-------------------------
+
+Additions:
+
+ * Textgrid object.
+ * Evas_Smart_Interface type, which brings simple interfaces support to smart objects.
+
+Improvements:
+ * Lock less font rendering.
+ * Reduce cost of propagating event by limiting the object we explore by using a bouncing box.
+ * Don't wake up prepare thread if there is nothing to prepare.
+ * Limit the updated region to fit in CPU cache for Pipe rendering.
+ * Cache convertion from Evas_Map to RGBA_Map.
+ * evas_object_smart_members_get() now returns NULL on non-smart objects.
+ * Pipeline rendering use prepare stage more extensively.
+ * Properly warn when user try to link object from different canvas.
+
+Fixes:
+ * Add missing files in the tarball.
+ * Add svg rendering with Esvg
+ * Don't accept broken map.
+ * Fix garbage left by mapped smart object when they fly away from the canvas.
+ * Fix map life cycle.
+ * Don't crash when calling evas_object_smart_type_check without type.
+ * Handle proxy with the right context.
+ * Force proxied object to stay active to keep track of change in them.
+ * Fix evas_gl's internal resource surface bug when evas' window is deleted/recreated.
+ * Fix evas_gl current_context update issue when evas_gl context is deleted.
+
+Removal:
+ * Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
+ * Remove librsvg svg loader (If you want to use it, use the evas_generic_loader variant).
+ * Remove software DirectDraw 16 bits engine
+ * Pipe rendering now need a patch to be turned on.
+
+Evas 1.2.0
+
+Changes since Evas 1.1.0:
+-------------------------
+
+Additions:
+
+ * Textblock now supports self-closing tags, i.e <br/>. Those should be used instead of the old <br> way.
+ * Shm engine for drawing in Wayland.
+ * evas_object_smart_callback_del_full API.
+ * Add double buffer support to the buffer engine.
+ * evas_textblock_cursor_word_start/end.
+ * evas_textblock_text_utf8_to_markup.
+ * textblock b and i tags able to be overriden by style.
+ * new api to set and get event flags
+ * events just before/after canvas rendering
+ * frame object set/get API's
+ * evas_object_name_child_find.
+ * evas_gl_config_new/free.
+ * evas_object_smart_callback_del_full.
+ * EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN.
+ * EVAS_GL_OPTIONS_DIRECT.
+ * evas_object_textblock_style_user_pop/push.
+ * evas_object_ref_get
+ * Evas_GL_Multisample_Bits MSAA surface config option for supported devices.
+
+Fixes:
+
+ * don't enable SSE3 if immintrin.h isn't there.
+ * clip bounds calculation rounding error.
+ * grab count negative values with weird multi-finger press/release usage.
+ * clip bug that shows up in buffer engine.
+ * disabled buggy SSE3 routines.
+ * repeat events passing between layers within the same object.
+ * uninitialized value when running generic loader.
+ * rounding of update regions in scaled image objects.
+ * handling of layouts where weights have sub integer values.
+ * gl engine cliupping bug when rendering maps to fbo's.
+ * liblinebreak disabled compilation bug.
+ * color multiplier staying set when rendering map.
+ * shader binary now saves if shader dir exists already.
+
+Improvements:
+
+ * use Eina_File mmap for bmp, ico, pmaps, psd, wbmp and xpm file access.
+ * textblock br and tab tags now default for newline and tab.
+ * extended pixman routine support for most software rendering routines.
+ * added tiled rotator for 32bit displays (faster).
+ * work around nvidia driver spin-using-cpu and don't use glXWaitGL()
+ * evasgl back-end for software using OSMesa.
+
+Removal:
+
+ * Software_SDL engine is gone, use buffer engine directly.
+
+Evas 1.1.0
+
+Changes since Evas 1.0.0:
+-------------------------
+
+Additions:
+
+ * auto-align feature to textblock
+ * mixedwrap wrap mode to textblock
+ * harfbuzz support for shaping
+ * WBMP loader
+ * mirror mode for tables
+ * proxy abilities to image objects to choose source ro mirror
+ * speculative texture cache to the OpenGL engine to avoid texture uploads
+ * newline policy setting API to textblock
+ * evas_object_ref and evas_object_unref to defer object deletions
+ * ICO loader
+ * evas_object_image_memfile_set to load images from memory
+ * vertical alignment to textblock
+ * more shadow directions for text rendering
+ * runtime italicizing and boldening of fonts that don't have their own
+ * more bidi API support
+ * PSD loader
+ * generic external-process loader for thins like xcf, pdf, video, ps
+ * password mode to textblock
+ * GL shader disk cache to avoid re-compilng on start
+ * evas_textblock_node_format_list_get. API
+ * smart class usage count get API
+ * grid layout smart object and API
+ * evas_event_thaw_eval to help evaluate state and events on event thaw
+ * textblock support for numeric escapes like "&#x3c;" in markup
+ * evas_object_image_extension_can_load_get API
+ * evas_object_image_extension_can_load_fast_get API
+ * evas_object_image_load_orientation_get API
+ * evas_object_image_load_orientation_set API
+ * feature to allow tables to repack the same object without error
+ * API to get child packing from table
+ * is_inside implementation for polygon objects
+ * out-of-order open/close tag support in textblock markup
+ * support for quoted parameters in tags in textblock markup
+ * font_weight and font_style formats
+ * font_width font format
+ * markup tag to specify language
+ * evas_textblock_cursor_range_formats_get API
+ * evas_textblock_cursor_visible_range_get API
+ * callback prioritization support
+ * YUV 601 input support for evas_object_image_data_convert
+ * NV12 colorspace for evas image objects
+ * MT12 colorspace for evas image objects
+ * underline dashing support to textblock
+ * API to get largest image size
+ * GL Cocoa engine
+ * Evas GL support in software backend through OSMesa
+ * API to new/free Evas_GL_Config rather than user declaring it
+ * Evas GL Direct rendering option hint to allow rendering to evas' window when possible
+
+Fixes:
+
+ * cursor and selection handling with bidi text
+ * many general bid issues with text
+ * free bug in key grabs
+ * bug when images are scaled to massive sizes (like 1 billion pixels)
+ * BMP decode for have more pixels per line than the image does
+ * font string parsing bug if font element is too long
+ * crash bug in argb8888 to a8 conversion
+ * textblock bug with cursors in empty textblocks
+ * bug in smart calc array where some objects would be skipped
+ * static linking of BMP and TGA loaders
+ * bug when GL viewport was set with a NULL context
+ * bug when looking for vsync API due to SGI vs EXT differences
+ * bug in evas_object_del where DEL callback happened before HIDE
+ * yinversion bug on some GL surfaces
+ * BMP loader to handle alpha BMPS as solid where all alpha values are 0
+ * clipping with evas map issues
+ * bug where wrong call was used for freeing a mempool object
+ * static linking of GL engine
+ * GL engine to handle if someone uses GL contexts outside of evas
+ * bug in evas_object_textblock_text_markup_prepend that broke cursors
+ * lack of calling pre/post swap callbacks when using OpenGL-ES2
+ * some crashes with load options scaling of SVGs in 2nd pass decode
+ * segfault with evas_textblock_cursor_content_get
+ * libjpeg 8 compilation support on windows
+ * evas table to handle weighting correctly and expansion
+ * evas table to allow fractional weights, not just 0/1
+ * glyph search bug causing inconsitent return values in some cases
+ * compile when --disable-async-preload is used
+ * callback counter bug
+ * grab count and hide bug
+ * infinite loop bug when re-inserting objects during pre-render calc
+ * evas_object_image_data_convert
+ * TGA loader detects false positives less and handles alpha TGAs better
+ * repeat event flag not inherited from parent smart like pass events
+ * texture size for nv12 format
+
+Improvements:
+
+ * pre-render speed for rectangles if they are invisible
+ * code of textblock and font engine
+ * textblock layout speed
+ * speed and memory usage of textblock
+ * cache handler to also use file size, mode and sub-second timestamp
+ * textblock to re-layout only paragraphs that have changed
+ * homogenous table layout alignment and sizing
+ * textblock linebreaking by using liblinebreak
+ * image loader to drop out instantly if image file is a directory
+ * object allocation to use mempools
+ * font engine to use string objects not strings for caching purposes
+ * text to display missing unicode char instead of missing glyphs
+ * internal file code to use eina_file more
+ * jpeg loader to use eina_file
+ * jpeg encode and decode quality improved at expense of speed
+
+Removals:
+
+ * removed quartz, cairo, qtopia and xrender engines. dead.
diff --git a/old/README.evas b/old/README.evas
new file mode 100644
index 0000000000..a881811c0f
--- /dev/null
+++ b/old/README.evas
@@ -0,0 +1,812 @@
+Evas 1.7.99
+
+******************************************************************************
+
+ FOR ANY ISSUES PLEASE EMAIL:
+ enlightenment-devel@lists.sourceforge.net
+
+******************************************************************************
+
+Requirements:
+-------------
+
+Must:
+ libc
+ eina (1.6.0 or better)
+ eobj
+ freetype (2.1.9 or better)
+
+Recommended:
+ libX11 + libXext + libXrender
+ OpenGL2.0 or OpenGL-ES 2.0
+ fontconfig
+ libpng
+ libjpeg (6.0 or better)
+ eet (1.5.0 or better)
+ fribidi
+ harfbuzz
+ liblinebreak
+
+Optional:
+ XCB SDL esvg libtiff libwebp libgif edb DirectFB evas_generic_loaders
+
+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 really need the speed for low depth
+ 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):
+
+Also the wayland support (EGL and SHM engines) is considered experimental as
+wayland itself is still unstable and liable to change core protocol.
+If you use this api, it is possible it will break in future, until this
+notice is removed.
+
+------------------------------------------------------------------------------
+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-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-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.
+
+------------------------------------------------------------------------------
+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-sse3
+
+this enables sse3 optimizations available in the Intel Pentium4, Core, Xeon,
+and Atom processors, as well as the AMD Athlon64, Phenom, Opteron, and Turion
+processors.
+
+
+--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 esvg (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.
+
+Esvg can be found here:
+
+http://code.google.com/p/enesim/
+
+Install (in that order):
+
+enesim
+ender
+etch
+egueb
+
+
+--enable-image-loader-tiff[=static]
+
+this loader uses libtiff to load tiff image files
+
+--enable-image-loader-webp[=static]
+
+this loader uses libwebp to load webp 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.
+
+
+--enable-image-loader-generic[=static]
+
+this loader will execute a given binary to decode an image and read
+the resulting image data via a shared memory segment, a mmaped file or
+stdout. it uses the command-line to pass the filename and any load
+parameters, and reads stdout from the loader binary to get metadata like
+width, height, alpha channel flag and location of pixel data. this
+loader has no dependencies as the binaries run are to be found in
+PREIFX/lib/evas/utils and are named evas_image_loader.EXTENSION where
+.EXTENSION is replaced by the filename extension to be decoded. if
+this binary does not exist then evas_image_loader (with no extension) is
+tried as a last fallback allowing it to handle "all cases".
+
+since this loader doesn't use any libraires, it relies on runtime
+dependencies and executables existing in the utils directory. note that
+images loaded via this mechanism will have slower load times due to the
+overhead of execution of another binary, but any instability in the
+loaders themselves will not affect the application using evas.
+
+this also means that licenses such as GPL for the binaries in this
+utils directory do not affect evas and the applications or libraries
+using evas.
+
+there is a separately released evas_generic_loaders package which
+builds stand-alone binaries that can do this style of decoding for for
+evas. this package currently handles XCF, PDF, PS, RAW, SVG (via
+librsvg) and video formats (via gstreamer).
+
+
+------------------------------------------------------------------------------
+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 to a 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) 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-pipe-render **NOT ON BY DEFAULT DUE TO DUBIOUS IMPROVEMENTS**
+
+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-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-harfbuzz
+
+this enables support for the harfbuzz shaping library for complex
+shaping support in arabic, hindi and other similar languages.
+
+--enable-liblinebreak
+
+this enables support of complex line breaking rules using liblinebreak.
+
+--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.
+