summaryrefslogtreecommitdiff
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
parenta5ac6a987caec5a7f7596a25d0a065b9cc94c50c (diff)
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 0000000..3bc62e3
--- /dev/null
+++ b/old/ChangeLog.evas
@@ -0,0 +1,1147 @@
12011-01-29 Carsten Haitzler (The Rasterman)
2
3 1.0.0 release
4
52011-01-29 Carsten Haitzler (The Rasterman)
6
7 * Enabled mempool for object allocation
8 * Allow shorter pre-render handler for rect objects if they are
9 invisible
10
112011-01-30 Tom Hacohen (TAsn)
12
13 * It's actually a merge from my local branch upstream so this
14 includes many changes.
15 * Fixed cursor/selection handling with BiDi text.
16 * Fixed many BiDi issues in both textblock and text objects.
17 * Cleaned up textblock and font engine a lot.
18 * Added auto-alignment to tetxblock and text objects.
19 * Added mixedwrap (word wrap, and if a word is too big cut it) support
20 to textblock.
21 * Renamed a lot of stuff.
22 * Made textblock faster, mostly by saving item sizes and caching
23 layout items when text doesn't change.
24 * Added harfbuzz (ot layouting/shaping and etc) support.
25 * Currently you need to set the env var EVAS_USE_OT to '1' in order to
26 use OT support (harfbuzz) that will change soon.
27 * More code cleanups will be coming in the future. This shipment is
28 mostly to get code review started (and also make sure I don't have a
29 merging hell later on).
30
312011-01-31 ChunEon Park
32
33 * Fix lurking free bug in key grabs.
34
35
362011-02-01 Carsten Haitzler (The Rasterman)
37
38 * Added WBMP loader thanks to Samsung.
39
402011-02-01 Tom Hacohen (TAsn)
41
42 * Started using string objects instead of strings in most of the
43 font engine (everywhere except draw). Haven't removed the
44 paramteres yet, but did mark them as UNUSED. Removing them will be
45 part of a future change.
46 * Removed run-time OT toggling support, OT is now fast, no need for that.
47 * Renamed all of the intl_props->text_props (because it really
48 changed purpose
49 * Fixed spliting/merging of text_props to be fast and good, not
50 hacky and complex like before.
51 * Added "mirrored mode" to table object.
52
532011-02-07 Brett Nash (nash@nash.id.au)
54
55 * Proxy Objects; Now you can set an image to have a 'source' of
56 another object. The proxy will display the object as well. Proxy
57 objects should be mostly complete.
58 * Proxy objects should be complete; please report and bugs to me.
59 * Partial support for arbitrary clipping. Final support coming soon
60 (with some other changes). You can set most objects as a clip on
61 other objects. This will use the alpha channel of the object as a
62 clip on the object. This is still buggy.
63 * CLIPPING DISABLED AND REMOVED DUE TO BEING TOO BUGGY AND INCOMPLETE *
64 * Software support for arbitrary maps. So you can use any size map
65 (not just 4 points) for maps. Once again this is a little buggy.
66 * ARBITRARY MAPS DISABLED AND REMOVED DUE TO BEING TOO BUGGY AND INCOMPLETE *
67
682011-02-02 Carsten Haitzler (The Rasterman)
69
70 * GL engine gets a speculative texture cache to shadow the
71 normal image cache to avoid excess texture uploads when
72 cycling images often. Should improve performance in some
73 cases.
74
752011-02-12 Carsten Haitzler (The Rasterman)
76
77 * Fix "ridiculous scaling size" bug, where scaling images to
78 sizes like 1 billion pixels high or wide caused evas to try
79 allocate scaletables on the stack and the stack just couldn't
80 handle it. Now it only allocates a table for the visible
81 region which will always be sane, and even has insanity
82 checks now. At worst you'll get an unrendered image if the
83 values are silly and some slowness. No crashes.
84
852011-02-13 Brett Nash (nash@nash.id.au)
86
87 * Fix crash when deleting proxies. This _technically_ breaks
88 evas engines which realloc engine data when a border is set.
89 Practically no engines do this. There is a comment there (and
90 if the engine does that border set won't work), in which case
91 a more complex work-around is possible.
92
932011-02-14 Tom Hacohen (TAsn)
94
95 * Added a newline character mode API to textblock. This lets us set
96 the newline behavior to either normal (i.e only break a line, not
97 a paragraph) to "behave as a PS" mode. Default is the latter.
98 The former is the more correct approach but I guess everything else
99 is in e is not yet ready to use it. These API should help with the
100 transition.
101 * A lot of textblock speed improvements and reduced memory footprint.
102
1032011-02-16 Jeonghyun Yun
104
105 * Patch from Jeonghyun Yun <jh0506.yun@samsung.com> that
106 improves BMP loader support to handle malformed RLE BMP's that
107 encode more pixels per line than the image actuall has.
108
1092011-02-16 Tom Hacohen (TAsn)
110
111 * Dropped Evas_Encoding and moved to use Eina_unicode_utf8 instead.
112 * Started showing the unicode replacement character instead of missing
113 glyphs.
114
1152011-02-20 Carsten Haitzler (The Rasterman)
116
117 * Fix bug in font string parsing that can result in a crash if a
118 font element is long enough.
119 * Fix convert rgba8888 -> a8 bug so it wont crash.
120
1212011-02-21 Carsten Haitzler (The Rasterman)
122
123 * Fixed bug with memory access of old utf8 string when
124 comparing prev and cur state with text obj.
125
1262011-02-22 Tom Hacohen (TAsn)
127
128 * Fixed a bug in textblock cursor position with empty textblocks.
129
1302011-02-22 Carsten Haitzler (The Rasterman)
131
132 * Fixed bug smart calc array where it'd nuke the array when nested
133 process calls happen and leave some objects uncalculated, but
134 removed from the array and marked as needing a calc thus never
135 getting back into the array.
136
1372011-02-27 Vincent Torri
138
139 * Fixed static linking of the bmp, wbmp and tga loaders
140
1412011-03-07 Mike Blumenkrantz
142
143 * Fix segv when trying to set gl viewpoint with NULL ctx
144
1452011-03-08 Carsten Haitzler (The Rasterman)
146
147 * Fix problem with different x vsync api between SGI and EXT flavor
148 as they have the same base name, but different prototypes
149 * Add evas_object_ref() and evas_object_unref() to defer
150 deletion of objects until all references are removed
151
1522011-03-09 Carsten Haitzler (The Rasterman)
153
154 * Fix bug with evas_object_del() calling DEL callback BEFORE
155 the HIDE one.
156
1572011-03-10 Sung W. Park
158
159 * Fix bug with yinvert handling of native surfaces.
160
1612011-03-10 Carsten Haitzler (The Rasterman)
162
163 * Fix issue with loading alpha BMP's with "check if all pixel alpha
164 are 0 or not and then force alpha off if all are 0". This
165 means you can never have a 100% empty/transparent BMP though
166 in 32bpp mode.
167
1682011-03-11 Carsten Haitzler (The Rasterman)
169
170 * Add ICO loader to evas (also can load CUR cursor files in theory)
171
1722011-03-14 Carsten Haitzler (The Rasterman)
173
174 * Add "load from memory" API: evas_object_image_memfile_set() by
175 popular demand. Can load an image format from a memory address.
176
1772011-03-15 Cedric BAIL
178
179 * Fix issues with clipping and map.
180
1812011-03-18 Jiyoun Park
182
183 * Fix wrong call to free when using mempool for Evas_Object.
184
1852011-03-19 Carsten Haitzler (The Rasterman)
186
187 * Caching and timestamp checker for image files made much more
188 pedantic and it checks not just modified timestamp but also
189 inode number, size, and on linux, the nanonsecond resolution
190 timestamp as well.
191
1922011-03-19 Brett Nash (nash)
193
194 * Proxy: Bypass the clip on smart clipped objects. This is probably
195 what you want if you are using proxies, as it means clips don't cause
196 the object to be invisible by the proxy.
197
1982011-03-22 Gustavo Sverzut Barbieri (k-s)
199
200 * Fix build of GL and static modules.
201 * Fix ico loader static build.
202
2032011-03-30 Tom Hacohen (TAsn) and Carsten Haitzler (The Rasterman)
204
205 * Added vertical alignment support to textblock.
206 API: evas_object_textblock_valign_set/get
207
2082011-04-04 Sung W. Park
209
210 * Added Evas OpenGL interface to be able to get an OpenGL API for
211 rendering to image objects. This is the beginning so not
212 totally functional yet.
213
2142011-04-05 Cedric Bail
215
216 * Remove Evas Quartz backend.
217 * Remove Evas Cairo backend.
218 * Remove Evas Qtopia backend.
219 * Remove Evas Xrender backend.
220
2212011-04-06 Carsten Haitzler (The Rasterman)
222
223 * Fix bug in GL engine with someone stealing the GLX context away
224 as well as scissor clips when rotated output is not 0 (90, 180, 270).
225
2262011-04-07 Tom Hacohen (TAsn)
227
228 * Textblock: Major speed improvements.
229 * Textblock: Only relayout and remake paragraphs that have actually
230 changed. This means we are a lot faster than before, especially with
231 long texts.
232
2332011-04-10 Tom Hacohen (TAsn)
234
235 * Textblock: Fixed a bug in evas_object_textblock_text_markup_prepend
236 that caused it to use the object's cursor instead of the cursor
237 passed.
238
2392011-04-11 Carsten Haitzler (The Rasterman)
240
241 * Feature: Text & Textblock - Add 8 explicit shadow directions for
242 text style effects.
243
2442011-04-12 Myoungwoon Roy Kim (roy_kim)
245
246 * Font-engine: Added runtime italic (actually slanting) and
247 emboldening. - Automatically slants/emboldens a font at runtime if
248 italic/bold/crusiva and etc are requested but not found in the
249 system.
250
2512011-04-14 Tom Hacohen (TAsn)
252
253 * Font-engine: Implemented higher level override API for the bidi
254 functions. This implements clause HL4 of the bidi algorithm.
255 This is very cool actually, it lets us to force-separate paragraphs
256 so each part will get his bidi calculated on it's own. This is very
257 useful for "to" field of email/sms applications where ',' is used to
258 separate different text entities.
259
2602011-04-19 Brett Nash (nash)
261
262 * Filters: So filtering of various flavours. They work only on images
263 (use a proxy if you want it on other objects). Documentation inline.
264 Supports a filter object or filter under (the area where the object
265 is filtered). Various parameters to tweak, and potential for
266 additional filters (but you get to write the shader ;-)
267 * FILTERS DISABLED AND REMOVED DUE TO BEING TOO BUGGY AND INCOMPLETE *
268
2692011-04-24 Thierry el Borgi
270
271 * Add PSD file format support.
272
2732011-04-26 Carsten Haitzler (The Rasterman)
274
275 * Added "generic" image loader that can just execute some command
276 to load any given file format and read the RGBA data as stdout
277 from the command, or from an intermediate temporary file or
278 shared memory segment the executable loader provides. Evas
279 doesn't care about the loader beyond it providing output via
280 stdout to define image parameters (size, alpha channel and data
281 information), and evas will call a specific loader binary
282 based on extension name of srouce file. This allows for evas to
283 load image data from files where the loader may be prone to
284 instability, or require use of libraries that are GPL or
285 otherwise undesirable in terms of the result to applications
286 using evas. So basically, if you want a GPL loader or have a
287 very unstable one, write a loader binary and call it
288 evas_image_loader.extension e.g. evas_image_loader.pdf or
289 evas_image_loader.xcf or evas_image_loader.xcf.gz etc. etc.
290
2912011-04-28 Shilpaonkar Singh
292
293 * Textblock: Add "password" tag to turn on/off password in the middle
294 of the textblok. Especially useful for implementing "show last char"
295 for password entries.
296
2972011-05-04 Carsten Haitzler (The Rasterman)
298
299 * Improved table layout for homogenous mode to handle not column
300 or row multiple sized table better.
301
3022011-05-04 Jiyoun Park
303
304 * OpenGL binary shader ability to cache (save and load back
305 later) to avoid re-compiling shaders on every time an app starts and
306 uses the GL engine. Faster startup time.
307
3082011-05-04 Tom Hacohen (TAsn)
309
310 * Textblock: Do standard compliant line breaks. In order to achieve
311 that we now statically link against liblinebreak (available in
312 src/static_deps/liblinebreak). It's usage can be disabled using the
313 configure flag: "--disable-liblinebreak"; Disabling it will activate
314 the fallback line breaking methods which are not very correct, but
315 are possibly faster. I haven't noticed any difference between the
316 two speed-wise, but there probably are in some rare cases.
317
3182011-05-06 Cedric Bail
319
320 * Don't try all image loader when user is pointing them on a directory.
321
3222011-05-11 Carsten Haitzler (The Rasterman)
323
324 * Fix problem with Evas engine not calling pre/post swap functions
325 in the GL engine when using EGL/OpenGL-ES2
326 * Fix SVG loader 2 phase loader having differing scale down code
327 for first and 2nd phase. Resulted in crash when loading some SVGs
328
3292011-05-11 Tom Hacohen (TAsn)
330
331 * Textblock: Added evas_textblock_node_format_list_get. This is very
332 useful for edje_entry that uses anchors in the text.
333
3342011-05-12 Carsten Haitzler (The Rasterman)
335
336 * Add smart instance usage count get function for ability to free
337 data from memory from a smart class if needed.
338
3392011-05-12 Brian Wang
340
341 * Textblock: fix segfault with evas_textblock_cursor_content_get
342
3432011-05-12 Carsten Haitzler (The Rasterman)
344
345 * Add a smart "Grid" layout object that lays out objects in a regular
346 "virtual resolution" grid (eg 100x100) so you can lay them out
347 as a "scaled percentage" of the virtual resolution. virtual
348 resolution is defineable as is the geometry of each member.
349
3502011-05-18 Sung W. Park
351
352 * Fix some internal stencil and depth requests for OpenGL-ES2
353 due to OpenGL-ES limitations.
354 * Fix Surface recreation for FBO in Evas GL support.
355
3562011-05-23 Vincent Torri
357
358 * Fix compilation with libjpeg 8 on Windows.
359
3602011-05-24 Cedric Bail
361
362 * Use Eina_File when possible.
363
3642011-05-26 Carsten Haitzler (The Rasterman)
365
366 * Fix Evas table to handle weighting correctly for items and veto
367 rows or columns that have any child spanning that column not
368 able to expand.
369 * Fix Evas table to use actual fractional weights, not just
370 boolean expand/not expand from weight value.
371
3722011-05-27 Carsten Haitzler (The Rasterman)
373
374 * Add evas_event_thaw_eval() for conveneince of evaluating in state
375 and callbacks of the pointer after a thaw is complete.
376
3772011-05-29 Tom Hacohen (TAsn)
378
379 * Font-engine: Fixed a bug in glyph search causing inconsistent return
380 values. The found fi should always be NULL if there was no fi found.
381
3822011-05-29 Tom Hacohen (TAsn)
383
384 * Font-engine: Conform to the API changes in Harfbuzz 0.6.0
385
3862011-05-29 Raoul Hecky
387
388 * Textblock: Added support for numeric escape codes. e.g "&#x3c;".
389
3902011-05-29 Vincent Torri
391
392 * Fix compilation when --disable-async-preload is passed to configure.
393
3942011-06-01 Cedric Bail
395
396 * Add +evas_object_image_extension_can_load_get and
397 evas_object_image_extension_can_load_fast_get that check if a file
398 may be opened by Evas_Object_Image.
399
4002011-06-07 Cedric Bail
401
402 * Use Eina_File for JPEG loader.
403 * Add evas_object_image_load_orientation_get and evas_object_image_load_orientation_set,
404 that tell if we should honor the orientation information when loading image file.
405
4062011-06-17 Carsten Haitzler (The Rasterman)
407
408 * Allow evas table to re-pack the same object without error and just
409 update packing parameters
410 * Allow to get packing location of table child
411
4122011-06-28 Tom Hacohen (TAsn)
413
414 * Polygon: Implemented "is_inside".
415
4162011-07-05 Hyoyoung Chang
417
418 * Fix bug where event causes event in callback on same object, but
419 with same event counter, so also filter out same event types.
420
4212011-07-06 Carsten Haitzler (The Rasterman)
422
423 * Fix bug in grab counting on object hide while events are frozen
424
4252011-07-07 Cedric Bail
426
427 * Fix infite loop when reinserting object during recalc stage.
428
4292011-07-27 Tom Hacohen (TAsn)
430
431 * Textblock: Closing tags formats is now well-defined for complex
432 formats.
433 For example: <font=Sans font_size=23 color=#FFF> should now be
434 closed with </font> (or, like before, with the generic poper).
435 * Textblock: Add support for out-of-order tag openers/closers.
436 Markup sequences like <b><i></b></i> are now legal and work as
437 expeceted.
438
4392011-07-28 Tom Hacohen (TAsn)
440
441 * Textblock: Added support for quoting format parameters.
442 Formats like: <font='Sans' color='#FFF'> are now legal.
443 * Textblock: Added font_weight and font_style formats.
444 These format allow overriding the font style set using:
445 font=':style=Bold'.
446
4472011-07-31 Tom Hacohen (TAsn)
448
449 * Textblock: Added font_width.
450 This allows overriding the font width set using:
451 font=':style=Condensed'
452
4532011-08-01 Tom Hacohen (TAsn)
454
455 * Textblock: Added lang to markup to set the lang of the text.
456
4572011-08-09 Tom Hacohen (TAsn)
458
459 * Textblock: Added evas_textblock_cursor_range_formats_get which
460 returns the formats inside a range.
461 * Textblock: Added evas_textblock_cursor_visible_range_get which
462 updates the cursors to the ends of the area currently visible on
463 screen.
464
4652011-08-17 Tom Hacohen (TAsn)
466
467 * Callbacks: Added priority support to callbacks.
468
4692011-08-23 Cedric Bail
470
471 * Fix evas_object_image_data_convert.
472 * Add YUV 601 input format to evas_object_image_data_convert.
473
4742011-08-29 Cedric Bail
475
476 * Add colorspaces NV12 and MT12 (64 * 32 macro block tiled
477 format, see Linux videodev documentation for more information).
478
4792011-10-17 Shilpa Singh
480
481 * Textblock: Added underline=dashed support.
482 Tag changes:
483 - dashed is a legal value for underline
484 New tags:
485 - underline_dash_color
486 - underline_dash_width
487 - underline_dash_gap
488
4892011-10-21 Carsten Haitzler (The Rasterman)
490
491 * Add function to request what the largest possible image (or texture)
492 size is from evas.
493
4942011-10-27 ChunEon Park (Hermet)
495
496 * Add evas_object_freeze_events_set/get to discard the object events.
497 they will be useful some cases such as transition.
498
4992011-11-02 Nicolas Aguirre
500 * Add gl_cocoa engine
501
5022011-11-16 Carsten Haitzler (The Rasterman)
503
504 * JPEG encode and decode in eet now uses ISLOW (not IFAST) due to
505 noticable quality losses in the chase for speed. It will use
506 IFAST for quality less than 60 when encoding
507
5082011-11-20 Carsten Haitzler (The Rasterman)
509
510 * TGA loader gets fixed alpha decode - real life tga's have
511 proper alpha values. also reduce false positive tga file
512 detection
513
5142011-11-24 Carsten Haitzler (The Rasterman)
515
516 * Fix repeat event inheritance from parent smart just like
517 pass events are inherited. This was inconsistent.
518
5192011-12-02 Carsten Haitzler (The Rasterman)
520
521 1.1.0 release
522
5232011-12-07 Carsten Haitzler (The Rasterman)
524
525 * Fix build if gcc too old - if immintrin.h doesn't exist,
526 don't enable SSE3.
527
5282011-12-08 Tom Hacohen (TAsn)
529
530 * Textblock markup: Support self closing format tags, i.e <br/>.
531 You should use <br/> and not <br>. The latter still works but it's use
532 is discouraged.
533 * Textblock: Added evas_textblock_text_markup_to_utf8.
534 This lets you convert textblock markup to plain text.
535 This converts formats and everything correctly.
536
5372011-12-12 Carsten Haitzler (The Rasterman)
538
539 * Fix rounding error in map clip bounds calculation
540
5412011-12-12 Tom Hacohen (TAsn)
542
543 * Textblock: Added evas_textblock_cursor_word_start/end.
544 Those functions let you jump to the start/end of the word under the
545 cursor.
546
5472011-12-13 Carsten Haitzler (The Rasterman)
548
549 * Fix grab count negative values if you do weird combinations of
550 press and release with multiple fingers or multiple mouse
551 buttons.
552
5532011-12-14 Cedric BAIL
554
555 * Use Eina_File when loading bmp, ico, pmaps and wbmp files.
556 * Fix potential race condition in wbmp loader code.
557
5582011-12-14 Tom Hacohen (TAsn)
559
560 * Textblock: Made "br" and "tab" default tags for newline and tab.
561 * Textblock: Added "b" and "i" as default tags that can be overridden
562 by style, and added the infra to support this.
563 * Textblock: Added evas_textblock_text_utf8_to_markup
564
5652011-12-16 Carsten Haitzler (The Rasterman)
566
567 * Fix clip bug that shows up in buffer engine
568 * Fix SSE3 routines with buggy output - disable
569 * Add new api to set and get default event flags.
570
5712011-12-19 Carsten Haitzler (The Rasterman)
572
573 * Add new canvas events called just before and after evas rendering
574 starts and stops.
575
5762011-12-21 ChunEon Park (Hermet)
577
578 * Events: repeat events should not be affected by children.
579 Fixed to object passes events to the next object in the same layer
580 if the repeat_events is enabled.
581
5822011-12-23 Sanghee Park
583
584 * Extend pixman support to allow other operations to use
585 pixman when doing software rendering. On x86 this isn't useful
586 but on ARMv7 with NEON pixman happens to do better with image
587 blending and nearest scale blending.
588 * Add tiled rotator for 32bit display as an option.
589
5902011-12-26 Christopher Michael (devilhorns)
591
592 * Add functions to get/set if an object is a 'frame_object'
593
5942011-12-27 Carsten Haitzler (The Rasterman)
595
596 * Add feature to get number of pressed devices (help fix
597 ecore-evas bug).
598
5992011-12-28 Carsten Haitzler (The Rasterman)
600
601 * Add recursive name find function - evas_object_name_child_find()
602
6032012-01-01 Carsten Haitzler (The Rasterman)
604
605 * Improve CPU use on nvidia drivers when vsyncing. It was
606 actually glXWaitGL() spinning, not glXSwapBuffers(), so this
607 points to a bug in the nvidia drivers where the sleep logic
608 in glXSwapBuffers() hasn't been transferred to glXWaitGL().
609 Avoid use of glXWaitGL() to avoid the nvidia bug.
610
6112012-01-02 Cedric Bail
612
613 * Fix unitialized value when running generic loader without any
614 application found to open the file.
615 * Use Eina_File when openning XPM file.
616
6172012-01-03 Cedric Bail
618
619 * Use Eina_File for PSD file to.
620
6212012-01-06 Sung W. Park (sung_)
622
623 * Add EvasGL support to software backend using OSMesa. Requires OSMesa
624 library. Due to caveats in OSMesa, surface config stays with a
625 context rather than with a surface. So for now, the config of a
626 surface remains with the first context that it binds to. May need
627 to come up with a different solution in the near future.
628
6292012-01-12 Sung W. Park (sung_)
630
631 * Add new api evas_gl_config_new/free() to ensure backward compatibility.
632 Previously, the user simply declared a Evas_GL_Config object but this
633 can cause issues if new configs are added. Now we have evas allocate it
634 for you.
635
6362012-01-16 Raphael Kubo da Costa (rakuco)
637
638 * Add evas_object_smart_callback_del_full() to allow users to
639 unregister a specific smart event callback instead of all
640 callbacks matching a given type and function pointer.
641
6422012-01-17 Carsten Haitzler (The Rasterman)
643
644 * Add EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN pointer mode
645 for some very specific behavior needed for accessibility.
646
6472012-01-19 Cedric Bail
648
649 * Add double buffer support to buffer engine.
650
6512012-01-20 Sung W. Park (sung_)
652
653 * Add Direct Rendering to Evas' window optimization for Evas_GL. This
654 optimization can be significant since it avoids and extra copy from
655 an offscreen buffer. Normally, Evas_GL will render to a render
656 target using an FBO. This can be enabled by giving
657 EVAS_GL_OPTIONS_DIRECT hint in the config options_bits. Direct
658 rendering is actually done if the following conditions are met -
659 1) All GL rendering is done in the pixel_getter callback 2) No
660 rotation on the image object 3) Corresponding image
661 object has alpha disabled.
662
6632012-01-23 Tom Hacohen (TAsn)
664
665 * Textblock: Added evas_object_textblock_style_user_push/pop.
666 This is used to override the default style set for an evas object.
667 For example, this can be used to nicely change the font and size
668 in a text editor.
669
6702012-02-23 Carsten Haitzler (The Rasterman)
671
672 * Fix rouding of update regions for image objects when scaled
673 (leaves trails without this).
674
6752012-02-23 Cedric Bail
676
677 * Remove Software SDL engine.
678
6792012-02-23 Carsten Haitzler (The Rasterman)
680
681 * Add evas_object_ref_get() to be able to tell if others ref
682 an object.
683
6842012-04-03 Gustavo Sverzut Barbieri (k-s)
685
686 * Box layouts: fix handling of weights that have decimal parts,
687 they were being handled as "int" where "double" was expected.
688
6892012-04-12 Carsten Haitzler (The Rasterman)
690
691 * Fix gl engine clipping bug when rendering to evas map fbo's
692 when gl window buffer is smaller than the fbo. used wrong
693 surface size in clipping logic.
694
6952012-04-12 Tom Hacohen (TAsn)
696
697 * Textblock: Fixed compilation with liblinebreak disabled.
698
6992012-04-14 Carsten Haitzler (The Rasterman)
700
701 * Fix color multiplier staying set when rendering map.
702
7032012-04-22 Carsten Haitzler (The Rasterman)
704
705 * Fix shader binary saving to save with dir existing already.
706
7072012-04-26 Carsten Haitzler (The Rasterman)
708
709 1.2.0 release
710
7112012-04-26 Cedric Bail
712
713 * Lock less font rendering.
714 * Removing EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
715
7162012-04-29 Tom Hacohen (TAsn)
717
718 * Textblock: Fixed a couple of bugs with range delete.
719
7202012-04-30 Jérôme Pinot
721
722 * Add missing files in the tarballs.
723
7242012-05-01 Cedric Bail
725
726 * Compute limited bounding box for Smart object.
727 * Use bounding box to reduce the number of object explored during event propagation.
728
7292012-05-03 Iván Briano (Sachiel)
730
731 * Add CServe2 and image cache2 that makes use of it. Several changes
732 in the buffer and software engines to use the right cache if CServe2
733 is requested for the application.
734
7352012-05-14 Carsten Haitzler (The Rasterman)
736
737 * Fix pixman rendering support if you set alpha flag AFTER
738 setting image size for custom image data.
739
7402012-05-14 Sanghee Park
741
742 * Add Multisample Anti-Anliased surface format for Evas GL.
743 The formats are divided into High, Med, Low, None, where High represent
744 max number of samples. Currently, this feature is only supported in GLES2
745 environment with GL_IMG_multisampled_render_to_texture extension supported.
746
7472012-05-16 Vincent Torri
748
749 * Use Esvg for svg rendering. If not found, librsvg is still used.
750
7512012-05-18 Cedric Bail
752
753 * Remove librsvg svg loader as it is a massive source of crash in e17. If
754 you still want to use it, use the evas_generic_loader librsvg binary.
755
7562012-05-18 ChunEon Park (Hermet)
757
758 * Update mapped objects rendering when their color is changed
759
7602012-05-24 Carsten Haitzler (The Rasterman)
761
762 * Fix evas_object_image_memfile_set() on non-linux systems.
763
7642012-05-29 Tom Hacohen (TAsn)
765
766 * Text: Fixed an issue with text object sizing.
767 * Font: Fixed run-time italic.
768
7692012-05-30 ChunEon Park (Hermet)
770
771 * Fixed to clean up when map actually changed. Now rendering updates will be
772 correct after evas_map acutally disabled/enabled for the smart object.
773
7742012-05-30 Cedric Bail
775
776 * Don't wake up prepare thread if there is nothing to prepare.
777
7782012-05-30 Daniel Zaoui
779
780 * Fix evas_free callback deletion to not sometimes abort evas freeing
781 in some situations, thus leaking.
782
7832012-06-10 Carsten Haitzler (The Rasterman)
784
785 * Fix evas font handling so bitmap fonts work again like they
786 once did. This ifxes max height, and max ascent/descent
787 calculation for 0 em fonts with 0 bbox size (bitmap case), and
788 fixes 1 rounding error in text objects that placed ascent in the wrong
789 place by 1 pixel for even ascents.
790
7912012-06-10 Cedric Bail
792
793 * Limit the updated region to fit in CPU cache for Pipe rendering.
794
7952012-06-12 ChunEon Park (Hermet)
796
797 * Fixed simple line drawing on s/w backened. Unmatched loop scope caused the
798 destination buffer pointer march in place.
799
8002012-06-12 ChunEon Park (Hermet)
801
802 * Removed empty evas_object_map_source_set/get APIs. Will Not be implemented.
803
8042012-06-13 Mike Blumenkrantz
805
806 * Fix crash in evas_object_image_add() when called prior to setting an engine
807 for the given canvas.
808
8092012-06-14 Cedric Bail
810
811 * Cache convertion from Evas_Map to RGBA_Map.
812
8132012-06-15 Vincent Torri
814
815 * Add Textgrid object.
816
8172012-06-15 Mike Blumenkrantz
818
819 * evas_object_smart_members_get() now returns NULL on non-smart objects
820
8212012-04-26 Carsten Haitzler (The Rasterman)
822
823 * Fix GL engine bitmap font handling
824
8252012-06-19 Vincent Torri
826
827 * Remove uselesss software DirectDraw 16 bits engine
828
8292012-06-27 Sung W. Park (sung_)
830
831 * Added (w, h) <= 0 check in EvasGL surface that was never handled before.
832 * Handled evas_gl_make_current to return error when either surface
833 or context is NULL. Before, when that was the case, it just did
834 make_current(NULL, NULL) internally.
835
8362012-04-28 Carsten Haitzler (The Rasterman)
837
838 * Fix font instance refcounting for textprops that hang around.
839
8402012-06-29 Jiyoun Park
841
842 * upstream merge
843 * Merge remote-tracking branch 'remotes/origin/upstream'
844
8452012-07-03 Christopher Michael
846
847 * Merge Tizen changes to upstream EFL.
848 * Support gif scaling in evas gif loader.
849 * Create vertex & fragment shader(s) in the gl_common engine.
850 * Don't call glGetTexLevelParameteriv unless it is supported.
851 * Support evas_cserve2 in the wayland_shm engine.
852 * When freeing a gl_x11 window, make sure to call eglMakeCurrent with a null surface
853 to inform EGL that this window is no longer valid.
854
8552012-07-04 Cedric Bail
856
857 * Make pipeline rendering use more extensively the prepare stage.
858
8592012-07-04 Gustavo Lima Chaves
860
861 * Add simple interfaces support to Evas smart classes
862
8632012-07-05 ChunEon Park(Hermet)
864
865 * Fixed Map pipe region issue. It caused the incorrect object rendering order
866 on gl backened.
867
8682012-07-05 Cedric Bail
869
870 * Strongly disable Evas pipe rendering.
871
8722012-07-05 Cedric Bail
873
874 * Don't let bad map sneek at render time and ban them as early as possible.
875
8762012-07-07 ChunEon Park(Hermet)
877
878 * Let Draw Text with viewport size instead of window size. When map is enabled then it should be rendered completely.
879
8802012-07-11 Tom Hacohen (TAsn)
881
882 * Fixed runtime emboldenment with bitmap fonts.
883
8842012-07-16 Hermet (ChunEon Park)
885
886 * Fixed to do pre render for the children of mapped object.
887
8882012-07-17 Cedric Bail
889
890 * Fix garbage left by mapped smart object when they fly away from the canvas.
891 * Fix map life cycle.
892
8932012-07-18 Carsten Haitzler (The Rasterman)
894
895 * Fix evas box to not skip dealing with size hint changes
896 while it lays out objects. This breaks elementary badly and it should
897 never have done this. This broke the general logic of size
898 hint handling.
899
9002012-07-19 Jiyoun Park(jypark)
901
902 * Fix jpeg save bug related with error handler
903
9042012-07-22 Cedric Bail
905
906 * Don't crash when calling evas_object_smart_type_check without type.
907
9082012-07-24 Ingvaldur Sigurjonsson
909
910 * Fix typoe in docs
911
9122012-07-24 Hermet (ChunEon Park)
913
914 * Fixed evas_gl resource list have cleared properly when it is released
915 so it would be no problem when it is reinitialized in one same process.
916
9172012-07-24 Cedric Bail
918
919 * Handle Proxy with the right context.
920
9212012-07-24 Carsten Haitzler (The Rasterman)
922
923 * Fix long-standing bug when changing layer of a smart object,
924 its children dont change their layer value and pointer with it, thus
925 getting layer from them get you the wrong one.
926
9272012-07-26 Cedric Bail
928
929 * Keep track of inactive proxied object change so we always update the proxy correctly.
930
9312012-08-01 Jiyoun Park(jypark)
932
933 * Fix gif load bug. we initialize first frame buffer of gif loader
934
9352012-08-01 Jiyoun Park(jypark)
936
937 * Fix evas pointer count problem, if press/release events occurs not pair,
938 it screws up the evas event process. We are not deal with release event if
939 there is no pressed pointer.
940
9412012-08-01 Carsten Haitzler (The Rasterman)
942
943 * Provide share (Data) file for prefix finding and use
944 eina_prefix for modules too so we work with debian multiarch
945
946
9472012-08-02 Sung W. Park (sung_)
948
949 * Fix evas_gl's internal resource surface bug. For optimzation evas_gl
950 was using evas' window surface to do its resource creation and it
951 wans't properly updated when a window is destroyed and recreated.
952
9532012-08-07 Cedric Bail
954
955 * Properly warn when user try to link object from different canvas.
956
9572012-08-13 Carsten Haitzler (The Rasterman)
958
959 * Fix async fd stuff to generate new pipe after a fork (pid mismatch)
960
9612012-08-14 Tom Hacohen (TAsn)
962
963 * Textblock: Fixed range geometry when the last item is a format.
964
9652012-08-17 Hermet (ChunEon Park)
966
967 * Let clip the mapped obj even if it is a child of the mapped obj and do
968 it only when clipper exists
969
9702012-08-20 Hermet (ChunEon Park)
971
972 * Removed unnessesary lines which causes the gles resource leak and
973 corruption.
974
9752012-08-21 Sung W. Park (sung_)
976
977 * Fix evas_gl current_context update issue when evas_gl context is deleted.
978
9792012-08-23 Tom Hacohen (TAsn)
980
981 * Textblock: Fixed bug with 1 char word separators at the start of the
982 text when going to the start of the word (e.g: "=test").
983
9842012-08-26 Jiyoun Park(jypark)
985
986 * Jpeg loader: fix orientation didn't work if jpeg file format is JFIF.
987 Add code deal with JFIF file format.
988
9892012-08-27 Tom Hacohen (TAsn)
990
991 * Textblock: Make sure scale changes causes a complete recalc.
992
9932012-08-29 Christopher Michael (devilhorns)
994
995 * Wayland Egl Engine: Add support for Multi-Sample Anti-Aliasing and GL Direct Images.
996 Add support for using native image binding.
997 Add support for setting GL surface capabilities.
998
9992012-08-30 Carsten Haitzler (The Rasterman)
1000
1001 1.7.0 release
1002
10032012-08-31 Christophe Sadoine
1004
1005 * Added a function: evas_map_util_quat_rotate().
1006
10072012-09-02 Vincent Torri
1008
1009 * Fix seg fault in the esvg loader, latest code is required, and
1010 enable it on Windows.
1011
10122012-09-03 Igor Murzov
1013
1014 * Add WEBP loader module and cserve2 binary loader patch.
1015
10162012-09-03 Christopher Michael (devilhorns)
1017
1018 * When doing a move or geometry_get, we need to make sure that we
1019 don't try to do these on the framespace clip object. Also, since we
1020 need the evas to get the framespace clip object, just directly use the
1021 framespace values from the canvas, rather than function call to get
1022 those values.
1023
10242012-09-05 ChunEon Park (Hermet)
1025
1026 * Added EVAS_CALLBACK_IMAGE_RESIZE. Now user have a notify when image data size of the image object is changed.
1027
10282012-09-05 Carsten Haitzler (The Rasterman)
1029
1030 * Fix EGL/GLES bug when setting up rgba dest alpha windows where they
1031 cease to be rendered to. use a shared context and it works.
1032
10332012-09-07 Carsten Haitzler (The Rasterman)
1034
1035 * Fix image alpha set bug if the image data has not been loaded
1036 yet from disk. Fixes across software and gl engines needed.
1037 * Fix map surface leak.
1038
10392012-09-14 Carsten Haitzler (The Rasterman)
1040
1041 * Add env EVAS_GL_NO_BLACKLIST to disable blacklisting.
1042
10432012-09-17 Carsten Haitzler (The Rasterman)
1044
1045 * Add evas_device API for being able to register devices, set
1046 their names, descriptions, classes, parents, sources etc. etc.
1047
10482012-09-20 Carsten Haitzler (The Rasterman)
1049
1050 * Fix native surface crash when setting to null in some
1051 situations.
1052
10532012-09-24 Sung W. Park (sung_)
1054
1055 * Refactored Evas GL engine code so wayland_egl and gl_x11 and other
1056 engines can share the same code. The common codes are in gl_common/
1057 directory and evas_engine just has to implement a few engine functions.
1058
10592012-09-26 Carsten Haitzler (The Rasterman)
1060
1061 * Add the ability via env vars to do partial swaps in the gl
1062 engine. This requires that we also can get from gl info as to
1063 if a swap was a copy, swap, discard and if a swap with 2 or 3
1064 buffers. don't have that but env var will do for now for testing.
1065
10662012-09-27 Jiyoun Park (jypark)
1067
1068 * Add the object display mode hint. this can be used to check object
1069 mode like compress or expand or etc
1070
10712012-10-03 Mike Blumenkrantz
1072
1073 * evas_object_del() now accepts NULL more peacefully
1074
10752012-10-05 Sung W. Park (sung_)
1076
1077 * Added Debug feature for Evas GL's GL APIs. It can be set with
1078 EVAS_GL_API_DEBUG=1 and when it is set, all the GL calls will check
1079 if make_current has been properly called. Also, it'll check if all
1080 the GL calls are called within the Pixel Getter function for Direct
1081 Rendering option.
1082
10832012-10-09 Daniel Zaoui and Tom Hacohen
1084
1085 * Evas: change Evas to use Eo.
1086 This change adds Eo support to Evas while keeping the old API intact.
1087 For more information, go to Eo.
1088
10892012-10-10 Carsten Haitzler (The Rasterman)
1090
1091 * Fix font sizing issues when size scaling happens to down down
1092 when it should round up. happens in rare sizing situations and fonts.
1093
10942012-10-11 Sohyun Kim
1095
1096 * Fix texture size issues when the image has nv12 format
1097
10982012-10-11 Carsten Haitzler (The Rasterman)
1099
1100 * Fix C code fallback line rendering path in software
1101
11022012-10-16 Carsten Haitzler (The Rasterman)
1103
1104 * Like 16bpp engine, 8bpp engine goes the way of the dodo.
1105
11062012-10-16 ChunEon Park (Hermet)
1107
1108 * Fix the vertical line drawing on gl backened.
1109
11102012-10-18 ChunEon Park (Hermet)
1111
1112 * Update move event when object freeze event is off.
1113
11142012-10-19 ChunEon Park (Hermet)
1115
1116 * Added Proxy'source visibility set APIs
1117
11182012-10-23 Carsten Haitzler (The Rasterman)
1119
1120 * Fix possible segfault in gl engine if image->im is null in
1121 image size set.
1122
11232012-10-24 ChunEon Park (Hermet)
1124
1125 * Added Proxy'source events set APIs.
1126
11272012-10-25 Cedric Bail
1128
1129 * Make XPM loader faster.
1130
11312012-10-25 ChunEon Park (Hermet)
1132
1133 * Added Evas_Coord_Size, Evas_Coord_Precision_Size type.
1134
11352012-10-26 ChunEon Park (Hermet)
1136
1137 * Fixed event multi move memory leak.
1138
11392012-10-30 Sung W. Park (sung_)
1140
1141 * Fix clip bug while computing coordinates for Evas GL
1142 direct rendering optimization.
1143
11442012-11-02 Carsten Haitzler (The Rasterman)
1145
1146 * Fix evas textblock tag parser to respect escaped spaces and
1147 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 0000000..3271bbe
--- /dev/null
+++ b/old/NEWS.evas
@@ -0,0 +1,255 @@
1Evas 1.8.0
2
3Changes since Evas 1.7.1
4-------------------------
5
6Fixes:
7 * Fix evas textblock tag parser to respect escaped spaces and escaped single quotes
8
9Changes since Evas 1.7.0:
10-------------------------
11
12Additions:
13
14 * WEBP image loader support.
15 * EVAS_CALLBACK_IMAGE_RESIZE.
16 * Evas_Device registration/manipulation/querying API
17 * Evas_Object_Display_Mode querying API
18 * EVAS_GL_API_DEBUG=1 env. var option for outputting debug logs related to Evas GL's GL calls.
19 * Proxy source visibility set APIs
20 * Proxy source events set APIs
21 * Evas_Coord_Size, Evas_Coord_Precision_Size types
22
23Improvements:
24
25 * Function to rotate an evas map with a quaternion: evas_map_util_quat_rotate().
26 * EVAS_GL_NO_BLACKLIST env var to turn off blacklisted drivers in gl
27 * Evas gl engine can do partial swaps now.
28 * evas_object_del() now takes NULL parameters
29 * make xpm loader faster (from O(N) to O(log(N))).
30
31Fixes:
32 * Fix segmentation fault with the esvg loader.
33 * Fix EGL/GLES dest alpha rendering bug (no rendering).
34 * Fix evas_object_image_alpha_set when image data not loaded yet.
35 * Fix map surface leak.
36 * Fix native surface set to null crash bug in gl engine.
37 * Fix font sizing issue with some rare sizes and fonts when rounding wrong.
38 * Fix software line drawing c fallback code.
39 * Fix the vertical line drawing on gl backened.
40 * Fix potential segfault in gl engine if image internal image is NULL.
41 * coordinate compute bug for Evas GL direct rendering.
42
43Removal:
44 * No more support s3c6410.
45 * 16bpp engine removed.
46 * 8bpp engine removed.
47
48Evas 1.7.0
49
50Changes since Evas 1.2.0:
51-------------------------
52
53Additions:
54
55 * Textgrid object.
56 * Evas_Smart_Interface type, which brings simple interfaces support to smart objects.
57
58Improvements:
59 * Lock less font rendering.
60 * Reduce cost of propagating event by limiting the object we explore by using a bouncing box.
61 * Don't wake up prepare thread if there is nothing to prepare.
62 * Limit the updated region to fit in CPU cache for Pipe rendering.
63 * Cache convertion from Evas_Map to RGBA_Map.
64 * evas_object_smart_members_get() now returns NULL on non-smart objects.
65 * Pipeline rendering use prepare stage more extensively.
66 * Properly warn when user try to link object from different canvas.
67
68Fixes:
69 * Add missing files in the tarball.
70 * Add svg rendering with Esvg
71 * Don't accept broken map.
72 * Fix garbage left by mapped smart object when they fly away from the canvas.
73 * Fix map life cycle.
74 * Don't crash when calling evas_object_smart_type_check without type.
75 * Handle proxy with the right context.
76 * Force proxied object to stay active to keep track of change in them.
77 * Fix evas_gl's internal resource surface bug when evas' window is deleted/recreated.
78 * Fix evas_gl current_context update issue when evas_gl context is deleted.
79
80Removal:
81 * Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
82 * Remove librsvg svg loader (If you want to use it, use the evas_generic_loader variant).
83 * Remove software DirectDraw 16 bits engine
84 * Pipe rendering now need a patch to be turned on.
85
86Evas 1.2.0
87
88Changes since Evas 1.1.0:
89-------------------------
90
91Additions:
92
93 * Textblock now supports self-closing tags, i.e <br/>. Those should be used instead of the old <br> way.
94 * Shm engine for drawing in Wayland.
95 * evas_object_smart_callback_del_full API.
96 * Add double buffer support to the buffer engine.
97 * evas_textblock_cursor_word_start/end.
98 * evas_textblock_text_utf8_to_markup.
99 * textblock b and i tags able to be overriden by style.
100 * new api to set and get event flags
101 * events just before/after canvas rendering
102 * frame object set/get API's
103 * evas_object_name_child_find.
104 * evas_gl_config_new/free.
105 * evas_object_smart_callback_del_full.
106 * EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN.
107 * EVAS_GL_OPTIONS_DIRECT.
108 * evas_object_textblock_style_user_pop/push.
109 * evas_object_ref_get
110 * Evas_GL_Multisample_Bits MSAA surface config option for supported devices.
111
112Fixes:
113
114 * don't enable SSE3 if immintrin.h isn't there.
115 * clip bounds calculation rounding error.
116 * grab count negative values with weird multi-finger press/release usage.
117 * clip bug that shows up in buffer engine.
118 * disabled buggy SSE3 routines.
119 * repeat events passing between layers within the same object.
120 * uninitialized value when running generic loader.
121 * rounding of update regions in scaled image objects.
122 * handling of layouts where weights have sub integer values.
123 * gl engine cliupping bug when rendering maps to fbo's.
124 * liblinebreak disabled compilation bug.
125 * color multiplier staying set when rendering map.
126 * shader binary now saves if shader dir exists already.
127
128Improvements:
129
130 * use Eina_File mmap for bmp, ico, pmaps, psd, wbmp and xpm file access.
131 * textblock br and tab tags now default for newline and tab.
132 * extended pixman routine support for most software rendering routines.
133 * added tiled rotator for 32bit displays (faster).
134 * work around nvidia driver spin-using-cpu and don't use glXWaitGL()
135 * evasgl back-end for software using OSMesa.
136
137Removal:
138
139 * Software_SDL engine is gone, use buffer engine directly.
140
141Evas 1.1.0
142
143Changes since Evas 1.0.0:
144-------------------------
145
146Additions:
147
148 * auto-align feature to textblock
149 * mixedwrap wrap mode to textblock
150 * harfbuzz support for shaping
151 * WBMP loader
152 * mirror mode for tables
153 * proxy abilities to image objects to choose source ro mirror
154 * speculative texture cache to the OpenGL engine to avoid texture uploads
155 * newline policy setting API to textblock
156 * evas_object_ref and evas_object_unref to defer object deletions
157 * ICO loader
158 * evas_object_image_memfile_set to load images from memory
159 * vertical alignment to textblock
160 * more shadow directions for text rendering
161 * runtime italicizing and boldening of fonts that don't have their own
162 * more bidi API support
163 * PSD loader
164 * generic external-process loader for thins like xcf, pdf, video, ps
165 * password mode to textblock
166 * GL shader disk cache to avoid re-compilng on start
167 * evas_textblock_node_format_list_get. API
168 * smart class usage count get API
169 * grid layout smart object and API
170 * evas_event_thaw_eval to help evaluate state and events on event thaw
171 * textblock support for numeric escapes like "&#x3c;" in markup
172 * evas_object_image_extension_can_load_get API
173 * evas_object_image_extension_can_load_fast_get API
174 * evas_object_image_load_orientation_get API
175 * evas_object_image_load_orientation_set API
176 * feature to allow tables to repack the same object without error
177 * API to get child packing from table
178 * is_inside implementation for polygon objects
179 * out-of-order open/close tag support in textblock markup
180 * support for quoted parameters in tags in textblock markup
181 * font_weight and font_style formats
182 * font_width font format
183 * markup tag to specify language
184 * evas_textblock_cursor_range_formats_get API
185 * evas_textblock_cursor_visible_range_get API
186 * callback prioritization support
187 * YUV 601 input support for evas_object_image_data_convert
188 * NV12 colorspace for evas image objects
189 * MT12 colorspace for evas image objects
190 * underline dashing support to textblock
191 * API to get largest image size
192 * GL Cocoa engine
193 * Evas GL support in software backend through OSMesa
194 * API to new/free Evas_GL_Config rather than user declaring it
195 * Evas GL Direct rendering option hint to allow rendering to evas' window when possible
196
197Fixes:
198
199 * cursor and selection handling with bidi text
200 * many general bid issues with text
201 * free bug in key grabs
202 * bug when images are scaled to massive sizes (like 1 billion pixels)
203 * BMP decode for have more pixels per line than the image does
204 * font string parsing bug if font element is too long
205 * crash bug in argb8888 to a8 conversion
206 * textblock bug with cursors in empty textblocks
207 * bug in smart calc array where some objects would be skipped
208 * static linking of BMP and TGA loaders
209 * bug when GL viewport was set with a NULL context
210 * bug when looking for vsync API due to SGI vs EXT differences
211 * bug in evas_object_del where DEL callback happened before HIDE
212 * yinversion bug on some GL surfaces
213 * BMP loader to handle alpha BMPS as solid where all alpha values are 0
214 * clipping with evas map issues
215 * bug where wrong call was used for freeing a mempool object
216 * static linking of GL engine
217 * GL engine to handle if someone uses GL contexts outside of evas
218 * bug in evas_object_textblock_text_markup_prepend that broke cursors
219 * lack of calling pre/post swap callbacks when using OpenGL-ES2
220 * some crashes with load options scaling of SVGs in 2nd pass decode
221 * segfault with evas_textblock_cursor_content_get
222 * libjpeg 8 compilation support on windows
223 * evas table to handle weighting correctly and expansion
224 * evas table to allow fractional weights, not just 0/1
225 * glyph search bug causing inconsitent return values in some cases
226 * compile when --disable-async-preload is used
227 * callback counter bug
228 * grab count and hide bug
229 * infinite loop bug when re-inserting objects during pre-render calc
230 * evas_object_image_data_convert
231 * TGA loader detects false positives less and handles alpha TGAs better
232 * repeat event flag not inherited from parent smart like pass events
233 * texture size for nv12 format
234
235Improvements:
236
237 * pre-render speed for rectangles if they are invisible
238 * code of textblock and font engine
239 * textblock layout speed
240 * speed and memory usage of textblock
241 * cache handler to also use file size, mode and sub-second timestamp
242 * textblock to re-layout only paragraphs that have changed
243 * homogenous table layout alignment and sizing
244 * textblock linebreaking by using liblinebreak
245 * image loader to drop out instantly if image file is a directory
246 * object allocation to use mempools
247 * font engine to use string objects not strings for caching purposes
248 * text to display missing unicode char instead of missing glyphs
249 * internal file code to use eina_file more
250 * jpeg loader to use eina_file
251 * jpeg encode and decode quality improved at expense of speed
252
253Removals:
254
255 * removed quartz, cairo, qtopia and xrender engines. dead.
diff --git a/old/README.evas b/old/README.evas
new file mode 100644
index 0000000..a881811
--- /dev/null
+++ b/old/README.evas
@@ -0,0 +1,812 @@
1Evas 1.7.99
2
3******************************************************************************
4
5 FOR ANY ISSUES PLEASE EMAIL:
6 enlightenment-devel@lists.sourceforge.net
7
8******************************************************************************
9
10Requirements:
11-------------
12
13Must:
14 libc
15 eina (1.6.0 or better)
16 eobj
17 freetype (2.1.9 or better)
18
19Recommended:
20 libX11 + libXext + libXrender
21 OpenGL2.0 or OpenGL-ES 2.0
22 fontconfig
23 libpng
24 libjpeg (6.0 or better)
25 eet (1.5.0 or better)
26 fribidi
27 harfbuzz
28 liblinebreak
29
30Optional:
31 XCB SDL esvg libtiff libwebp libgif edb DirectFB evas_generic_loaders
32
33Evas is a clean display canvas API for several target display systems
34that can draw anti-aliased text, smooth super and sub-sampled scaled
35images, alpha-blend objects much and more.
36
37Evas is designed to be portable to different display systems. Evas uses very
38little RAM too (try profiling it in memprof if you want to
39know) most of the ram allocated, if you look, is for freetype itself,
40image pixel data, and font glyph data. You can't really avoid this, though
41evas tries to share this data as much as possible and not duplicate where it
42can. Feel free to point me at sensible memory optimizations etc. though :) I
43want this baby to be lean, mean tiny, fast and do everything from your
44massive multi-cpu desktop with gobs of ram and disk to a tiny watch.
45
46Evas also supports full UTF-8 for text object strings, thus allowing for
47full internationalized text strings (if your font gives you all the
48characters). I've tested with quite a few fonts and it works quite well.
49Though this requires a unicode compatible font with unicode charmap support
50(cyberbit is quite good actually as a font). For now Evas draws the fonts
51only from left to right, so arabic, hebrew etc. won't display quite right,
52direction-wise, but the characters do.
53
54------------------------------------------------------------------------------
55COMPILING AND INSTALLING:
56
57 ./configure
58 make
59(as root unless you are installing in your users directories):
60 make install
61
62if you want to know what options to enable
63./configure --help
64
65Evas's rendering code assumes a decently optimizing compiler. For
66example gcc with -O2 -march=nocona for example (compile for core2 duo
67x86 or better). You may choose not to compile for a very modern
68architecture, and Evas still has MMX/SSE, NEON and other hand-crafted
69assembly, but not for everything, so make use of your compiler
70optimizing as much as possible. At least use -O2 or equivalents.
71
72Notes:
73 the small dither mask is faster on the ipaq, but is not as good looking. on
74 desktop machines it makes no speed difference so only use
75 --enable-small-dither-mask if you really need the speed for low depth
76 you need at least 1 image loader if you want to load images.
77 gcc 3.0.x on solaris screws up the jpeg code so erroring out doesn't work.
78 use gcc 3.2 on solaris.
79
80notes on features (--enable-FEATURE enables it and --disable-FEATURE
81disables it, some being enabled or disabled by default or if
82dependencies are found):
83
84Also the wayland support (EGL and SHM engines) is considered experimental as
85wayland itself is still unstable and liable to change core protocol.
86If you use this api, it is possible it will break in future, until this
87notice is removed.
88
89------------------------------------------------------------------------------
90SCALING:
91--enable-scale-sample
92
93this enables the sampling scaler code. this is the fastest image scaling
94code, but also the lowest quality. when scaling up pixels will become blocky
95and when scaling down you will see shimmering/aliasing artifacts. this is a
96speed vs. quality tradeoff
97
98
99--enable-scale-smooth
100
101this is the nicest looking scaler that is not that much slower than
102tri-linear, but it looks really good.
103
104
105------------------------------------------------------------------------------
106DITHERING:
107--enable-small-dither-mask
108
109this uses a 4x4 dither mask instead of 128x128. on desktop boxes these days
110(pentium, pentium2, amd etc.) the speed difference is not really measurable,
111but the quality of the 128x128 dither mask is quite a lot better. patterns
112of dithering are much less noticeable, so it is recommended to not enable
113this unless you are struggling for speed. the compaq ipaq for example shows
114a slowdown with this large a dither mask so enabling a small dither mask is
115recommended unless you really want to forgo the speed.
116
117
118--enable-line-dither-mask
119
120this is a faster alternative to the small or large dither masks above.
121this dithers only on an alternating-line basis. this only provides 1
122intermediate "dither" level whose odd and even pixels alternate
123between the 2 closest colors available, but it is very fast. almost as
124fast as no dithering. quality though will not be as good as small or
125default "large" dither masks.
126
127
128--enable-no-dither-mask
129
130this disables dithering entirely. this is the fastest option, but the
131lowest quality. not suggested in general unless you are really in need
132of an extra few percent speed and are willing to have fairly awful
133quality. but in general this is the standard rendering for most
134"realtime graphics" if it has to drop to lower bit-depths, so it's
135not anything unusual. just in the evas world the quality is considered
136poor enough to be discouraged as evas's internal rendering is so much
137higher quality.
138
139
140------------------------------------------------------------------------------
141ENGINES:
142
143All engines can be compiled statically inside libevas.so in order to
144reduce runtime time at dynamically loaded modules. All you have to do
145is to enable your chosen modules with "=static" suffix. If they depend
146on software_generic (most do), you need that as well. Examples:
147
148 ./configure --enable-static-software-generic --enable-software-xlib=static
149
150
151--enable-software-xlib[=static]
152
153this enables the software x11 rendering engine that renders to X drawable
154targets using highly optimized software routines. there is no hardware
155assist here. this engine requires X11 to be installed to build (and run).
156This is a good generic engine that is fast and can run in X for good
157development and debugging purposes.
158
159
160--enable-software-xcb[=static]
161
162this enable the software xcb rendering engine. It allows the same
163features than the software xlib engine. It require the XCB and XCBImage
164libraries. For the test programs, XCBICCCM is also needed. It is not
165recommended to use this as it's experimental and will create problems
166with both ecore_evas and enlightenment itself.
167
168
169--enable-fb[=static]
170
171this is the software framebuffer driving engine. this uses the linux
172framebuffer device (/dev/fb{X}) and will currently just inherit the current
173framebuffer settings on the fb device and use them to run in. this engine is
174almost fully functional except for the fb management itself. this engine is
175specifically geared towards people writing minimalist display systems for
176embedded devices such as the ipaq, zaurus, etc. it also scales up to high-res
177desktop systems as
178well.
179
180
181--enable-directfb[=static]
182
183this is the direct fb engine that uses direcftb (http://www.directfb.org) on
184linux to access the framebuffer with (or maybe without) acceleration. for
185people making set-top boxes or just wanting an alternative to X this is
186really good. it may also be useful for embedded devices supported by
187directfb that offer acceleration (otherwise the fb driver will likely be
188faster). as such this engine is in relative disrepair and is not
189maintained. use with great care.
190
191
192--enable-buffer[=static]
193
194this enables the memory buffer rendering engine. this engine renders
195to a region of memory that is considered to be a 32bit ARGB buffer of
196pixels, allowing the results of rendering to be directly read out or
197used again for other purposes.
198
199
200--enable-gl-x11[=static]
201
202this is the opengl engine. it is intended for an x11 target (via xlib)
203rather than framebuffer (even if you use EGL, the EGL flavor is
204expected to be an x11 one). it is a full opengl based rendering engine
205with all rendering implemented as a texture + triangle pipeline and
206more. it also supports opengl-es2.0 and is reliant on modern opengl2.0+
207shader support. this engine also supports the native surface api for
208adopting pixmaps directly to textures for compositing.
209
210some environment variables that control the opengl engine are as
211follows:
212
213export EVAS_GL_INFO=1
214 set this environment variable to enable output of opengl information
215such as vendor, version, extensions, maximum texture size etc. unset
216the environment variable to make the output quiet again.
217
218export EVAS_GL_MEMINFO=1
219 set this environment variable to enable dumping of debug output
220whenever textures are allocated or freed, giving the number of
221textures of each time and how many kb worth of pixel data are
222allocated for the textures. unset it again to stop this dumping of
223information.
224
225export EVAS_GL_WIN_RESURF=1
226 set this environment variable to enable the gl engine to try and
227ddelete the window surface, if it can, when told to "dump resources"
228to save memory, and re-allocate it when needed (when rendering
229occurs). unset it to not have this behavior.
230
231export EVAS_GL_CUTOUT_MAX=N
232 set this environment variable to the maximum number of rectangles
233applied to a rendering of a primitive that "cut away" parts of that
234primitive to render to avoid overdraw. default is 512. unset it to use
235defaults, otherwise set N to the max value desired or to -1 for
236"unlimited rectangles".
237
238export EVAS_GL_PIPES_MAX=N
239 set the maximum number of parallel pending pipelines to N. the
240default number is 32 (except on tegra2 where is it 1). evas keeps 1 (or more)
241pipelines of gl draw commands in parallel at any time, to allow for merging
242of non-overlapping draw commands to avoid texture binding and context
243changes which allows for more streamlining of the draw arrays that are
244filled and passed to gl per frame. the more pipelines exist, the more
245chance evas has of merging draw commands that have the same modes,
246texture source etc., but the more overhead there is in finding a
247pipeline slot for the draw command to merge into, so there is a
248compromise here between spare cpu resources and gpu pipelining. unset
249this environment variable to let evas use it's default value.
250
251export EVAS_GL_ATLAS_ALLOC_SIZE=N
252 set the size (width in pixels) of the evas texture atlas strips that
253are allocated. the default is 1024. unset this to let evas use its
254default. if this value is larger than the maximum texture size, then it
255is limited to that maximum size internally anyway. evas tries to
256store images together in "atlases". these are large single textures
257that contain multiple images within the same texture. to do this evas
258allocates a "wide strip" of pixels (that is a certain height) and then
259tries to fit all images loaded that need textures into an existing
260atlas texture before allocating a new one. evas tries a best fit
261policy to avoid too much wasting of texture memory. texture atlas
262textures are always allocated to be EVAS_GL_ATLAS_ALLOC_SIZE width,
263and a multiple of EVAS_GL_ATLAS_SLOT_SIZE pixels high (if possible -
264power of 2 limits are enforced if required).
265
266export EVAS_GL_ATLAS_ALLOC_ALPHA_SIZE=N
267 this is exactly the same as EVAS_GL_ATLAS_ALLOC_SIZE, but for
268"alpha" textures (texture used for font glyph data). it works exactly
269the same way as for images, but per font glyph being put in an atlas
270slot. the default value for this is 4096.
271
272export EVAS_GL_ATLAS_MAX_W=N
273 set this to limit the maximum image size (width) that will be
274allowed to go into a texture atlas. if an image exceeds this size, it
275gets allocated its own separate individual texture (this is to help
276minimize fragmentation). the default value for this is 512. if you set
277this environment variable it will be overridden by the value it is set
278to. the maximum value possible here is 512. you may set it to a
279smaller value.
280
281export EVAS_GL_ATLAS_MAX_H=N
282 this is the same as EVAS_GL_ATLAS_MAX_W, but sets the maximum height
283of an image that is allowed into an atlas texture.
284
285export EVAS_GL_ATLAS_SLOT_SIZE=N
286 this sets the height granularity for atlas strips. the default (and
287minimum) value is 16. this means texture atlas strips are always a
288multiple of 16 pixels high (16, 32, 48, 64, etc...). this allows you
289to change the granularity to another value to avoid having more
290textures allocated or try and consolidate allocations into fewer atlas
291strips etc.
292
293export EVAS_GL_NO_MAP_IMAGE_SEC=1
294 if this environment variable is set, it disabled support for the SEC
295map image extension (a zero copy direct-texture access extension that
296removes texture upload overhead). if you have problems with dynamic
297evas images, and this is detected by evas (see EVAS_GL_INFO above to
298find out if its detected), then setting this will allow it to be
299forcibly disabled. unset it to allow auto-detection to keep working.
300
301
302--enable-gl-flavor-gles
303
304this enables the opengl-es 2.0 flavor of opengl (as opposed to desktop
305opengl) when building evas's gl-x11 engine above. this will be needed
306if you are building evas for opengl-es 2.0 enabled embedded devices.
307evas works on several opengl-es 2.0 compliant gpu's and gains more
308testing and optimization regularly. it is also capable of
309texture-from-pixmap support in opengl-es like it is in desktop opengl.
310
311
312--enable-gles-variety-sgx
313
314this tells evas that you are building the gl-es engine for a
315shader-compiler "sgx style" opengl-es 2.0 implementation. this is
316where the shader compiler is provided at runtime and can accept the
317shader glsl source and work
318
319
320--enable-gles-variety-s3c6410
321
322this tells evas that you have an s3c6410 style opengl-es
323implementation that has an offline shader compiler and that needs
324pre-compiled shader binaries (provided with evas). this has not been
325tested in quite a while as the drivers and environment for this system
326have gone missing
327
328
329--enable-software-gdi[=static]
330
331windows gdi based engine for evas
332
333
334--enable-software-ddraw[=static]
335
336windows direct-draw engine for evas
337
338
339--enable-direct3d[=static]
340
341evas direct3d engine (experimental)
342
343
344--enable-software-sdl[=static]
345
346this is the sdl engine that uses sdl library (http://www.libsdl.org). This
347library should work on many operating system. the buffer is
348software-rendered with evas's default software rendering core.
349
350
351--enable-gl-sdl[=static]
352
353opengl (and opengl-es2.0) rendering engine that uses sdl as the front
354end interface. see --enable-gl-x11 etc. for information.
355
356------------------------------------------------------------------------------
357CPU:
358--enable-cpu-c
359
360this enabled the c code. you can actually build the code without the c
361fallback code and only have the mmx routines for example. it is suggested to
362always use this regardless unless you have some definite size issues with the
363code.
364
365
366--enable-cpu-mmx
367
368this enables the mmx optimized routines. this works for pentium, pentium2,
369pentium3, pentium4, athlon and duron processors. it can get quite
370considerable speedups, souse it if you can. ppc owners just have to live with
371the c fallback functions unfortunately as no one has provided any ALTIVEC asm
372routines yet. :) arm owners will also have to rely on the c fallback
373routines as i haven't managed to come up with any arm assembly that actually
374can beat the c code (when compiled with all optimizations) in speed.
375
376
377--enable-cpu-sse
378
379this enables sse optimizations available in he pentium3 and 4 cpus (not
380athlon and duron or pentium 2 or pentium cpu's). ppc owners just have to
381live with the c fallback functions unfortunately as no one has provided any
382ALTIVEC asm routines yet. :) arm owners will also have to rely on the c
383fallback routines as i haven't managed to come up with any arm assembly that
384actually can beat the c code (when compiled with all optimizations) in speed.
385
386--enable-cpu-sse3
387
388this enables sse3 optimizations available in the Intel Pentium4, Core, Xeon,
389and Atom processors, as well as the AMD Athlon64, Phenom, Opteron, and Turion
390processors.
391
392
393--enable-cpu-neon
394
395This enables support for the Arm Cortex-A8 and later Neon register
396set. In particular it will use neon optimized code for rotations and
397drawing with the software engines. Open GL based renderers will gain
398nothing from the use of neon.
399
400To use neon with gcc-4.4 you need a post-2009 gcc and options
401something like: -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon
402Note that this slightly slows down non-optimized parts of evas but
403the gains in drawing are more then worth it overall.
404
405This is enabled by default, and turns off if a small test program is
406unable to compile.
407
408Performance is at least 50%, and in some real world tests approaches
409100%.
410
411If you have any issues with neon, please report them to either the
412edevel mailing list or Brett Nash <nash@nash.id.au>
413
414
415------------------------------------------------------------------------------
416IMAGE LOADERS:
417--enable-image-loader-png[=static]
418
419this enables the loader code that loads png files using libpng. there may be
420call for embedded devices later that have custom written small image
421loaders that uses less disk space than libpng to load custom format images.
422for now this is the only loader so you may as well include it.
423
424
425--enable-image-loader-jpeg[=static]
426
427this enables the loader code that loads jpeg files using libjpeg. this
428loader also supports load options to pre-scale jpeg images down to
429provide much faster load times while also getting downscaling by 1/2,
4301/4 or 1/8th the size in each dimension for "free". with an added
431patch to libjpeg7, it can also fast-decode a specific region of a jpeg
432file (without the patch it take a slow-path to do this).
433
434
435--enable-image-loader-edb[=static]
436
437edb image loader- can load images inside edb database files. not very
438useful as edb itself is no longer used by enlightenment. may be
439removed at some point, so unless you have a burning need for this,
440don't use edb files to store image data and rely on this loader
441
442
443--enable-image-loader-eet[=static]
444
445loads image data from eet files. eet files are the backing for edje
446storage, so this is needed for edje to work. it is very useful as it
447can load an image from anywhere in the eet archive by key value so eet
448files are like "zip" files where you can pack a whole lot of image and
449other data together and just pick out the pieces you need at runtime.
450requires the eet library.
451
452
453--enable-image-loader-gif[=static]
454
455gif image loader. gif is an obsolete format, but due to its longevity,
456sitll has lots of existing data around.
457
458NOTE: evas has no notion of time, thus animated gif file are not
459supported!
460
461
462--enable-image-loader-pmaps[=static]
463
464ppm/pnm/pgm image loader that can load the "pnm" style image format.
465not very common, but the files are simple raw RGB, greyscale image or
466bitmap data in binary or ascii format
467
468
469--enable-image-loader-svg[=static]
470
471this loader can load svg files via esvg (thus it is a dependency). This
472loader supports load options to set the dpi to decode the svg at etc. which
473can then be used to create scalable images that scale to any size without
474becoming blocky or blurry, if the source is an svg file.
475
476Esvg can be found here:
477
478http://code.google.com/p/enesim/
479
480Install (in that order):
481
482enesim
483ender
484etch
485egueb
486
487
488--enable-image-loader-tiff[=static]
489
490this loader uses libtiff to load tiff image files
491
492--enable-image-loader-webp[=static]
493
494this loader uses libwebp to load webp image files
495
496--enable-image-loader-xpm[=static]
497
498this is an xpm format image loader. xpm format images are ascii files
499that look like c/c++ source code that contain images. these files are
500old-fashioned unix+x11 images you may encounter, but are inefficient
501for storage and decoding and have been superseded by png files in
502almost every way
503
504
505--enable-image-loader-bmp[=static]
506
507this enables the bmp image format loader. note that there seems to be
508a disagreement on 32bit bmp format images where alpha channels are
509concerned and you may run into issues with bmps generated by the gimp
510that have alpha channels. there is a problem where they don't seem to
511be spec-conformant.
512
513
514--enable-image-loader-tga[=static]
515
516this loader load tga format files. these files are very old-fashioned
517but found often in the 3d graphics world.
518
519
520--enable-image-loader-generic[=static]
521
522this loader will execute a given binary to decode an image and read
523the resulting image data via a shared memory segment, a mmaped file or
524stdout. it uses the command-line to pass the filename and any load
525parameters, and reads stdout from the loader binary to get metadata like
526width, height, alpha channel flag and location of pixel data. this
527loader has no dependencies as the binaries run are to be found in
528PREIFX/lib/evas/utils and are named evas_image_loader.EXTENSION where
529.EXTENSION is replaced by the filename extension to be decoded. if
530this binary does not exist then evas_image_loader (with no extension) is
531tried as a last fallback allowing it to handle "all cases".
532
533since this loader doesn't use any libraires, it relies on runtime
534dependencies and executables existing in the utils directory. note that
535images loaded via this mechanism will have slower load times due to the
536overhead of execution of another binary, but any instability in the
537loaders themselves will not affect the application using evas.
538
539this also means that licenses such as GPL for the binaries in this
540utils directory do not affect evas and the applications or libraries
541using evas.
542
543there is a separately released evas_generic_loaders package which
544builds stand-alone binaries that can do this style of decoding for for
545evas. this package currently handles XCF, PDF, PS, RAW, SVG (via
546librsvg) and video formats (via gstreamer).
547
548
549------------------------------------------------------------------------------
550FONT LOADERS:
551--enable-font-loader-eet[=static]
552
553this loader can load font (ttf) files directly from eet archives like
554the eet image loader. requires the eet library
555
556
557------------------------------------------------------------------------------
558CONVERTERS:
559--enable-convert-yuv
560
561this enables an optimized yuv (yv12 601 colorspace) to ARGB32
562converter in evas
563
564
565--enable-convert-16-rgb-565
566
567the most common converter you'll want for 16bpp. this means 5 bits for red,
5686 bits for green and 5 bits for blue are used.
569
570
571--enable-convert-16-rgb-555
572
573this is a converter for what many people know as "15 bit" color. you might
574want to enable this for X output as it used to be common to find many cards
575that do this.
576
577
578--enable-convert-16-rgb-444
579
580this converter outputs to 12bit packed (int 16 bit WORDS).
581
582
583--enable-convert-16-rgb-ipq
584
585this converter was written specifically for the ipaq (and may apply to
586similarly configured devices) because it lies about its screen depth. it
587says it is 16bit 565 (that means 5 upper bits of the WORD are red, the next 6
588bits are for green abd the next 5 for blue) but in fact only the upper 4
589bits of each color component (red green and blue) are significant and work,
590so effectively the display is 12 bits of color, not 16, but padded out to
591fill 16bits, with unused bits in the color masks. X on the ipaq advertises
592it as a full 16bpp 565 display (i can't remember what the linux framebuffer
593advertised it as) and so many lumps of code can be fooled into rendering
594data badly because they think the output will look as the expect. This
595renderer assumes the upper 4 bits fo each color primitive only are
596significant and renders accordingly. this produces nice quality images on
597the ipaq and even still works in 16bpp 565 on your pc. it is highly
598recommended to use this renderer if your target is an ipaq or your device
599displays similar qualities of the ipaq for display purposes.
600
601
602--enable-convert-16-rgb-rot-0
603
604this enables the 16bpp converters to run with 0 degrees rotation - this is
605normal display and you should really include this (though it is optional if you
606only ever want to do portrait mode - perhaps like on an ipaq embedded device)
607
608
609--enable-convert-16-rgb-rot-270
610
611this enables the portrait mode (270 degree rotation) converters for 16bpp.
612this is the standard display mode for things like pocketpc on the ipaq and
613the zaurus etc. this is an optimized part of the rendering pipeline to allow
614portrait display with a much lower overhead than doing it through X.
615
616
617--enable-convert-16-rgb-rot-180
618
619same as --enable-convert-16-rgb-rot-270 but for 180 degrees
620
621
622--enable-convert-16-rgb-rot-90
623
624same as --enable-convert-16-rgb-rot-270 but for 90 degrees
625
626
627--enable-convert-24-rgb-888
628
629this converts evas's 32bit ARGB to 24bit RGB packed format for output
630if needed
631
632
633--enable-convert-24-bgr-888
634
635this converts evas's 32bit ARGB to 24bit packed BGR format for output
636if needed
637
638
639--enable-convert-32-rgb-8888
640
64132bit RGB output conversion support. byteswapping compared to evas's
642native colorspace
643
644
645--enable-convert-32-bgr-8888
646
647conversion (reduces to a memory copy) from evas's native colorspace to
648the same color format.
649
650
651--enable-convert-32-rgb-rot-0
652
653copies without rotation evas's native image format
654
655
656--enable-convert-32-rgb-rot-270
657
658copies evas's native ARGB32 pixels but at a rotation of 270 degrees.
659
660
661--enable-convert-32-rgb-rot-180
662
663same as --enable-convert-32-rgb-rot-270 but for 180 degrees
664
665
666--enable-convert-32-rgb-rot-90
667
668same as --enable-convert-32-rgb-rot-270 but for 90 degrees
669
670
671--enable-convert-24-rgb-ezx
672
673a special colorspace handler for 18bit color packed into 24bit output
674(where only 6 bits per r, g and b byte are used). the only known
675platform that did this was the motorola esx based phones that used
676qtopia originally and have open ezx ports for them.
677
678
679--enable-convert-8-gry-1
680
681enable 8bit gray to 1 bit black & white converter
682
683
684--enable-convert-8-gry-16
685
6868bit grey to 16 level grayscale converter
687
688
689--enable-convert-8-grayscale-64
690
6918bit grey to 64 level grayscale converter
692
693
694--enable-convert-8-rgb-332
695
696enable converter from 32bit ARGB to 8bit color "332" colorspace (3bits
697red, 3 bits green, 2 bits blue)
698
699
700--enable-convert-8-rgb-666
701
702enable converter from 32bit ARGB to 8bit color "216" "websafe"
703colorspace (6 values for red, 6 for green and 6 for blue - 6x6x6 being
704216 colors).
705
706
707--enable-convert-8-rgb-232
708
709same as convert-8-rgb-332 but 2 bits red, 3 green, 2 blue
710
711
712--enable-convert-8-rgb-222
713
714same as convert-8-rgb-332 but 2 bits red, 2 green, 2 blue
715
716
717--enable-convert-8-rgb-221
718
719same as convert-8-rgb-332 but 2 bits red, 2 green, 1 blue
720
721
722--enable-convert-8-rgb-121
723
724same as convert-8-rgb-332 but 1 bit red, 2 green, 1 blue
725
726
727--enable-convert-8-rgb-111
728
729same as convert-8-rgb-332 but 1 bit red, 1 green, 1 blue. this is the
730lowest sized colorspace supported for rgb (3bits, 8 color).
731
732
733------------------------------------------------------------------------------
734MISC:
735--enable-pthreads
736
737this enables pthread support in evas so multiple threads may run
738internally for parallel rendering, loading etc.
739
740
741--enable-async-events
742
743this provides the ability for evas to have an asynchronous event
744notification pipe to provide events when background threads are done
745with tasks, like pre-loading image files
746
747
748--enable-async-preload
749
750evas can load images (preload) in the background using a thread
751if you ask it to, and provide events when done. this goes hand-in-hand
752with --enable-pthreads and --enable-async-events. you really want all
753of these available.
754
755
756--enable-pipe-render **NOT ON BY DEFAULT DUE TO DUBIOUS IMPROVEMENTS**
757
758this enables a multiple-thread renderer that divides the rendering
759into N regions (1 per core) to speed up rendering in software when you
760have multiple cpu cores.
761
762
763--enable-fontconfig
764
765this enables fontconfig support for loading font files by using
766generic fontconfig font names and styles. you really should use this
767by default on any linux/unix platform for universal font support.
768
769
770--enable-fribidi
771
772this enables support for the fribidi library to have right to left and
773left to right font rendering so languges such as arabic, hebrew and
774other "RTL" langauges display properly.
775
776
777--enable-harfbuzz
778
779this enables support for the harfbuzz shaping library for complex
780shaping support in arabic, hindi and other similar languages.
781
782--enable-liblinebreak
783
784this enables support of complex line breaking rules using liblinebreak.
785
786--enable-evas-magic-debug
787
788this allows you to enable and disable evas's extra magic number
789checks. these allow better stability with runtime object magic
790"number" checks to make sure you are accessing a real object in memory
791of the right type, and will avoid doing "bad things" if they detect
792the wrong object type being passed in. if you are absolutely sure your
793system has no bugs in accessing objects of the wrong type with the
794wrong calls, you can gain some small performance by disabling this.
795
796
797------------------------------------------------------------------------------
798NOTES:
799
800For the arm optimizations you want to try:
801 export CFLAGS="-O2 -march=armv5te -mcpu=arm1136jf-s -fomit-frame-pointer"
802
803To enable the async renderer compile with:
804 --enable-async-render
805and also runtime set this environment variable:
806 export EVAS_RENDER_MODE=non-blocking
807
808For compilation with MinGW, fnmatch.h is probably missing. That file can be
809found here:
810 http://www.koders.com/c/fid2B518462CB1EED3D4E31E271DB83CD1582F6EEBE.aspx
811It should be installed in the mingw include directory.
812