1 2011-01-29 Carsten Haitzler (The Rasterman)
5 2011-01-29 Carsten Haitzler (The Rasterman)
7 * Enabled mempool for object allocation
8 * Allow shorter pre-render handler for rect objects if they are
11 2011-01-30 Tom Hacohen (TAsn)
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
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).
31 2011-01-31 ChunEon Park
33 * Fix lurking free bug in key grabs.
36 2011-02-01 Carsten Haitzler (The Rasterman)
38 * Added WBMP loader thanks to Samsung.
40 2011-02-01 Tom Hacohen (TAsn)
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
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.
53 2011-02-07 Brett Nash (nash@nash.id.au)
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 *
68 2011-02-02 Carsten Haitzler (The Rasterman)
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
75 2011-02-12 Carsten Haitzler (The Rasterman)
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.
85 2011-02-13 Brett Nash (nash@nash.id.au)
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.
93 2011-02-14 Tom Hacohen (TAsn)
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
101 * A lot of textblock speed improvements and reduced memory footprint.
103 2011-02-16 Jeonghyun Yun
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.
109 2011-02-16 Tom Hacohen (TAsn)
111 * Dropped Evas_Encoding and moved to use Eina_unicode_utf8 instead.
112 * Started showing the unicode replacement character instead of missing
115 2011-02-20 Carsten Haitzler (The Rasterman)
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.
121 2011-02-21 Carsten Haitzler (The Rasterman)
123 * Fixed bug with memory access of old utf8 string when
124 comparing prev and cur state with text obj.
126 2011-02-22 Tom Hacohen (TAsn)
128 * Fixed a bug in textblock cursor position with empty textblocks.
130 2011-02-22 Carsten Haitzler (The Rasterman)
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.
137 2011-02-27 Vincent Torri
139 * Fixed static linking of the bmp, wbmp and tga loaders
141 2011-03-07 Mike Blumenkrantz
143 * Fix segv when trying to set gl viewpoint with NULL ctx
145 2011-03-08 Carsten Haitzler (The Rasterman)
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
152 2011-03-09 Carsten Haitzler (The Rasterman)
154 * Fix bug with evas_object_del() calling DEL callback BEFORE
157 2011-03-10 Sung W. Park
159 * Fix bug with yinvert handling of native surfaces.
161 2011-03-10 Carsten Haitzler (The Rasterman)
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
168 2011-03-11 Carsten Haitzler (The Rasterman)
170 * Add ICO loader to evas (also can load CUR cursor files in theory)
172 2011-03-14 Carsten Haitzler (The Rasterman)
174 * Add "load from memory" API: evas_object_image_memfile_set() by
175 popular demand. Can load an image format from a memory address.
177 2011-03-15 Cedric BAIL
179 * Fix issues with clipping and map.
181 2011-03-18 Jiyoun Park
183 * Fix wrong call to free when using mempool for Evas_Object.
185 2011-03-19 Carsten Haitzler (The Rasterman)
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
192 2011-03-19 Brett Nash (nash)
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.
198 2011-03-22 Gustavo Sverzut Barbieri (k-s)
200 * Fix build of GL and static modules.
201 * Fix ico loader static build.
203 2011-03-30 Tom Hacohen (TAsn) and Carsten Haitzler (The Rasterman)
205 * Added vertical alignment support to textblock.
206 API: evas_object_textblock_valign_set/get
208 2011-04-04 Sung W. Park
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.
214 2011-04-05 Cedric Bail
216 * Remove Evas Quartz backend.
217 * Remove Evas Cairo backend.
218 * Remove Evas Qtopia backend.
219 * Remove Evas Xrender backend.
221 2011-04-06 Carsten Haitzler (The Rasterman)
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).
226 2011-04-07 Tom Hacohen (TAsn)
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
233 2011-04-10 Tom Hacohen (TAsn)
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
239 2011-04-11 Carsten Haitzler (The Rasterman)
241 * Feature: Text & Textblock - Add 8 explicit shadow directions for
244 2011-04-12 Myoungwoon Roy Kim (roy_kim)
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
251 2011-04-14 Tom Hacohen (TAsn)
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.
260 2011-04-19 Brett Nash (nash)
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 *
269 2011-04-24 Thierry el Borgi
271 * Add PSD file format support.
273 2011-04-26 Carsten Haitzler (The Rasterman)
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.
291 2011-04-28 Shilpaonkar Singh
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.
297 2011-05-04 Carsten Haitzler (The Rasterman)
299 * Improved table layout for homogenous mode to handle not column
300 or row multiple sized table better.
302 2011-05-04 Jiyoun Park
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.
308 2011-05-04 Tom Hacohen (TAsn)
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.
318 2011-05-06 Cedric Bail
320 * Don't try all image loader when user is pointing them on a directory.
322 2011-05-11 Carsten Haitzler (The Rasterman)
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
329 2011-05-11 Tom Hacohen (TAsn)
331 * Textblock: Added evas_textblock_node_format_list_get. This is very
332 useful for edje_entry that uses anchors in the text.
334 2011-05-12 Carsten Haitzler (The Rasterman)
336 * Add smart instance usage count get function for ability to free
337 data from memory from a smart class if needed.
339 2011-05-12 Brian Wang
341 * Textblock: fix segfault with evas_textblock_cursor_content_get
343 2011-05-12 Carsten Haitzler (The Rasterman)
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.
350 2011-05-18 Sung W. Park
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.
356 2011-05-23 Vincent Torri
358 * Fix compilation with libjpeg 8 on Windows.
360 2011-05-24 Cedric Bail
362 * Use Eina_File when possible.
364 2011-05-26 Carsten Haitzler (The Rasterman)
366 * Fix Evas table to handle weighting correctly for items and veto
367 rows or columns that have any child spanning that column not
369 * Fix Evas table to use actual fractional weights, not just
370 boolean expand/not expand from weight value.
372 2011-05-27 Carsten Haitzler (The Rasterman)
374 * Add evas_event_thaw_eval() for conveneince of evaluating in state
375 and callbacks of the pointer after a thaw is complete.
377 2011-05-29 Tom Hacohen (TAsn)
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.
382 2011-05-29 Tom Hacohen (TAsn)
384 * Font-engine: Conform to the API changes in Harfbuzz 0.6.0
386 2011-05-29 Raoul Hecky
388 * Textblock: Added support for numeric escape codes. e.g "<".
390 2011-05-29 Vincent Torri
392 * Fix compilation when --disable-async-preload is passed to configure.
394 2011-06-01 Cedric Bail
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.
400 2011-06-07 Cedric Bail
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.
406 2011-06-17 Carsten Haitzler (The Rasterman)
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
412 2011-06-28 Tom Hacohen (TAsn)
414 * Polygon: Implemented "is_inside".
416 2011-07-05 Hyoyoung Chang
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.
421 2011-07-06 Carsten Haitzler (The Rasterman)
423 * Fix bug in grab counting on object hide while events are frozen
425 2011-07-07 Cedric Bail
427 * Fix infite loop when reinserting object during recalc stage.
429 2011-07-27 Tom Hacohen (TAsn)
431 * Textblock: Closing tags formats is now well-defined for complex
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
439 2011-07-28 Tom Hacohen (TAsn)
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:
447 2011-07-31 Tom Hacohen (TAsn)
449 * Textblock: Added font_width.
450 This allows overriding the font width set using:
451 font=':style=Condensed'
453 2011-08-01 Tom Hacohen (TAsn)
455 * Textblock: Added lang to markup to set the lang of the text.
457 2011-08-09 Tom Hacohen (TAsn)
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
465 2011-08-17 Tom Hacohen (TAsn)
467 * Callbacks: Added priority support to callbacks.
469 2011-08-23 Cedric Bail
471 * Fix evas_object_image_data_convert.
472 * Add YUV 601 input format to evas_object_image_data_convert.
474 2011-08-29 Cedric Bail
476 * Add colorspaces NV12 and MT12 (64 * 32 macro block tiled
477 format, see Linux videodev documentation for more information).
479 2011-10-17 Shilpa Singh
481 * Textblock: Added underline=dashed support.
483 - dashed is a legal value for underline
485 - underline_dash_color
486 - underline_dash_width
489 2011-10-21 Carsten Haitzler (The Rasterman)
491 * Add function to request what the largest possible image (or texture)
494 2011-10-27 ChunEon Park (Hermet)
496 * Add evas_object_freeze_events_set/get to discard the object events.
497 they will be useful some cases such as transition.
499 2011-11-02 Nicolas Aguirre
500 * Add gl_cocoa engine
502 2011-11-16 Carsten Haitzler (The Rasterman)
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
508 2011-11-20 Carsten Haitzler (The Rasterman)
510 * TGA loader gets fixed alpha decode - real life tga's have
511 proper alpha values. also reduce false positive tga file
514 2011-11-24 Carsten Haitzler (The Rasterman)
516 * Fix repeat event inheritance from parent smart just like
517 pass events are inherited. This was inconsistent.
519 2011-12-02 Carsten Haitzler (The Rasterman)
523 2011-12-07 Carsten Haitzler (The Rasterman)
525 * Fix build if gcc too old - if immintrin.h doesn't exist,
528 2011-12-08 Tom Hacohen (TAsn)
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
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.
537 2011-12-12 Carsten Haitzler (The Rasterman)
539 * Fix rounding error in map clip bounds calculation
541 2011-12-12 Tom Hacohen (TAsn)
543 * Textblock: Added evas_textblock_cursor_word_start/end.
544 Those functions let you jump to the start/end of the word under the
547 2011-12-13 Carsten Haitzler (The Rasterman)
549 * Fix grab count negative values if you do weird combinations of
550 press and release with multiple fingers or multiple mouse
553 2011-12-14 Cedric BAIL
555 * Use Eina_File when loading bmp, ico, pmaps and wbmp files.
556 * Fix potential race condition in wbmp loader code.
558 2011-12-14 Tom Hacohen (TAsn)
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
565 2011-12-16 Carsten Haitzler (The Rasterman)
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.
571 2011-12-19 Carsten Haitzler (The Rasterman)
573 * Add new canvas events called just before and after evas rendering
576 2011-12-21 ChunEon Park (Hermet)
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.
582 2011-12-23 Sanghee Park
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.
590 2011-12-26 Christopher Michael (devilhorns)
592 * Add functions to get/set if an object is a 'frame_object'
594 2011-12-27 Carsten Haitzler (The Rasterman)
596 * Add feature to get number of pressed devices (help fix
599 2011-12-28 Carsten Haitzler (The Rasterman)
601 * Add recursive name find function - evas_object_name_child_find()
603 2012-01-01 Carsten Haitzler (The Rasterman)
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.
611 2012-01-02 Cedric Bail
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.
617 2012-01-03 Cedric Bail
619 * Use Eina_File for PSD file to.
621 2012-01-06 Sung W. Park (sung_)
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.
629 2012-01-12 Sung W. Park (sung_)
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
636 2012-01-16 Raphael Kubo da Costa (rakuco)
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.
642 2012-01-17 Carsten Haitzler (The Rasterman)
644 * Add EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN pointer mode
645 for some very specific behavior needed for accessibility.
647 2012-01-19 Cedric Bail
649 * Add double buffer support to buffer engine.
651 2012-01-20 Sung W. Park (sung_)
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.
663 2012-01-23 Tom Hacohen (TAsn)
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
670 2012-02-23 Carsten Haitzler (The Rasterman)
672 * Fix rouding of update regions for image objects when scaled
673 (leaves trails without this).
675 2012-02-23 Cedric Bail
677 * Remove Software SDL engine.
679 2012-02-23 Carsten Haitzler (The Rasterman)
681 * Add evas_object_ref_get() to be able to tell if others ref
684 2012-04-03 Gustavo Sverzut Barbieri (k-s)
686 * Box layouts: fix handling of weights that have decimal parts,
687 they were being handled as "int" where "double" was expected.
689 2012-04-12 Carsten Haitzler (The Rasterman)
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.
695 2012-04-12 Tom Hacohen (TAsn)
697 * Textblock: Fixed compilation with liblinebreak disabled.
699 2012-04-14 Carsten Haitzler (The Rasterman)
701 * Fix color multiplier staying set when rendering map.
703 2012-04-22 Carsten Haitzler (The Rasterman)
705 * Fix shader binary saving to save with dir existing already.
707 2012-04-26 Carsten Haitzler (The Rasterman)
711 2012-04-26 Cedric Bail
713 * Lock less font rendering.
714 * Removing EVAS_SLI, METRIC_CACHE and WORD_CACHE.