evas/font: fix handling querying char at coords (click on gap)
[framework/uifw/evas.git] / NEWS
1 Evas 1.8.0
2
3 Additions:
4    * Add EVAS_GL_LINE_OFFSET_HACK_DISABLE to turn off line shift correction by evas.
5
6 Fixes:
7    * Fix evas textblock tag parser to respect escaped spaces and escaped single quotes
8    * Fix the line drawing clipping problem on arm gl driver.
9    * Evas: Fix Evas_Object_Text when LTR and RTL are used in the same paragraph.
10    * Evas font: click on left/right half of char does matter now.
11
12 Evas 1.7.7
13
14 Changes since Evas 1.7.6
15 -------------------------
16
17     * Fix SIGFPE in evas map update if image is 0.
18     * Evas textblock: Fixed issue and simplified cursor_geometry_get.
19     * Evas text: Fixed issue with horiz advance.
20     * Evas text utils: Fixed issue with no-harfbuzz bidi.
21     * Fixed pixman surface alloc where allocated and image size differ.
22
23 Changes since Evas 1.7.5:
24 -------------------------
25
26    * Fix build of Evas XCB backend.
27    * Fix evas bmp loader code which deal with image size.
28    * Fix not up to date clip cache for Evas_Object_Text.
29    * Evas texblock: Fixed a bug with breaking after format items.
30    * Evas textblock: Fixed issue with line height when breaking on a format.
31    
32 Changes since Evas 1.7.4:
33 -------------------------
34
35    * Fix mask write lines to not choose too small segments
36
37 Evas 1.7.4
38
39 Changes since Evas 1.7.3:
40 -------------------------
41
42 Fixes:
43    * Fix the gl line incorrect position drawing.
44    * Fix uninitialized data in Evas_Smart initialization code.
45    * Fix potential segv in software engine native_set call.
46    * Fix uninitialized data in OpenGL engine native_set call.
47    * Fix crash when precise_is_inside is set on an image, and events are generated from it.
48    * Properly close async pipe fd on exec.
49    * Fix the line drawing clipping problem on arm gl driver.
50    * Fix big rendering/conversion problem in kvm/qemu 24bpp.
51    * Fix Evas RGBA_Image->flags.loaded for copied images. 
52    * Fix evas_object_image_is_inside()
53    * Fix small memory leak in evas_bidi_utils error path
54     
55     
56 Evas 1.7.3
57
58 Changes since Evas 1.7.2
59 -------------------------
60
61 Fixes:
62    * Fixed evas_object_box to reset size_hint_min to zero when no child.
63    * Don't leak fd on exec.
64
65 Evas 1.7.2
66
67 Changes since Evas 1.7.1
68 -------------------------
69
70 Fixes:
71    * Fix evas textblock tag parser to respect escaped spaces and escaped single quotes
72    * Fixed longstanding memset bug in evas box.
73    * Fixed GLX native surface handling (fixes new mesa+intel comp bug).
74    * Fixed textblock textprop leak.
75     
76 Changes since Evas 1.7.0:
77 -------------------------
78
79 Additions:
80
81    * WEBP image loader support.
82    * EVAS_CALLBACK_IMAGE_RESIZE.
83    * Evas_Device registration/manipulation/querying API
84    * Evas_Object_Display_Mode querying API
85    * EVAS_GL_API_DEBUG=1 env. var option for outputting debug logs related to Evas GL's GL calls.
86
87 Improvements:
88
89    * Function to rotate an evas map with a quaternion: evas_map_util_quat_rotate().
90    * EVAS_GL_NO_BLACKLIST env var to turn off blacklisted drivers in gl
91    * Evas gl engine can do partial swaps now.
92    * evas_object_del() now takes NULL parameters
93    * make xpm loader faster (from O(N) to O(log(N))).
94
95 Fixes:
96
97    * Fix segmentation fault with the esvg loader.
98    * Fix EGL/GLES dest alpha rendering bug (no rendering).
99    * Fix evas_object_image_alpha_set when image data not loaded yet.
100    * Fix map surface leak.
101    * Fix native surface set to null crash bug in gl engine.
102    * Fix font sizing issue with some rare sizes and fonts when rounding wrong.
103    * Fix software line drawing c fallback code.
104    * Update move event when object freeze event is off.
105    * coordinate compute bug for Evas GL direct rendering.
106     
107 Removal:
108    * No more support s3c6410.
109
110 Evas 1.7.0
111
112 Changes since Evas 1.2.0:
113 -------------------------
114
115 Additions:
116
117    * Textgrid object.
118    * Evas_Smart_Interface type, which brings simple interfaces support to smart objects.
119
120 Improvements:
121    * Lock less font rendering.
122    * Reduce cost of propagating event by limiting the object we explore by using a bouncing box.
123    * Don't wake up prepare thread if there is nothing to prepare.
124    * Limit the updated region to fit in CPU cache for Pipe rendering.
125    * Cache convertion from Evas_Map to RGBA_Map.
126    * evas_object_smart_members_get() now returns NULL on non-smart objects.
127    * Pipeline rendering use prepare stage more extensively.
128    * Properly warn when user try to link object from different canvas.
129
130 Fixes:
131    * Add missing files in the tarball.
132    * Add svg rendering with Esvg
133    * Don't accept broken map.
134    * Fix garbage left by mapped smart object when they fly away from the canvas.
135    * Fix map life cycle.
136    * Don't crash when calling evas_object_smart_type_check without type.
137    * Handle proxy with the right context.
138    * Force proxied object to stay active to keep track of change in them.
139    * Fix evas_gl's internal resource surface bug when evas' window is deleted/recreated.
140    * Fix evas_gl current_context update issue when evas_gl context is deleted.
141
142 Removal:
143    * Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
144    * Remove librsvg svg loader (If you want to use it, use the evas_generic_loader variant).
145    * Remove software DirectDraw 16 bits engine
146    * Pipe rendering now need a patch to be turned on.
147
148 Evas 1.2.0
149
150 Changes since Evas 1.1.0:
151 -------------------------
152
153 Additions:
154
155    * Textblock now supports self-closing tags, i.e <br/>. Those should be used instead of the old <br> way.
156    * Shm engine for drawing in Wayland.
157    * evas_object_smart_callback_del_full API.
158    * Add double buffer support to the buffer engine.
159    * evas_textblock_cursor_word_start/end.
160    * evas_textblock_text_utf8_to_markup.
161    * textblock b and i tags able to be overriden by style.
162    * new api to set and get event flags
163    * events just before/after canvas rendering
164    * frame object set/get API's
165    * evas_object_name_child_find.
166    * evas_gl_config_new/free.
167    * evas_object_smart_callback_del_full.
168    * EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN.
169    * EVAS_GL_OPTIONS_DIRECT.
170    * evas_object_textblock_style_user_pop/push.
171    * evas_object_ref_get
172    * Evas_GL_Multisample_Bits MSAA surface config option for supported devices.
173
174 Fixes:
175
176    * don't enable SSE3 if immintrin.h isn't there.
177    * clip bounds calculation rounding error.
178    * grab count negative values with weird multi-finger press/release usage.
179    * clip bug that shows up in buffer engine.
180    * disabled buggy SSE3 routines.
181    * repeat events passing between layers within the same object.
182    * uninitialized value when running generic loader.
183    * rounding of update regions in scaled image objects.
184    * handling of layouts where weights have sub integer values.
185    * gl engine cliupping bug when rendering maps to fbo's.
186    * liblinebreak disabled compilation bug.
187    * color multiplier staying set when rendering map.
188    * shader binary now saves if shader dir exists already.
189
190 Improvements:
191
192    * use Eina_File mmap for bmp, ico, pmaps, psd, wbmp and xpm file access.
193    * textblock br and tab tags now default for newline and tab.
194    * extended pixman routine support for most software rendering routines.
195    * added tiled rotator for 32bit displays (faster).
196    * work around nvidia driver spin-using-cpu and don't use glXWaitGL()
197    * evasgl back-end for software using OSMesa.
198
199 Removal:
200
201    * Software_SDL engine is gone, use buffer engine directly.
202
203 Evas 1.1.0
204
205 Changes since Evas 1.0.0:
206 -------------------------
207
208 Additions:
209
210     * auto-align feature to textblock
211     * mixedwrap wrap mode to textblock
212     * harfbuzz support for shaping
213     * WBMP loader
214     * mirror mode for tables
215     * proxy abilities to image objects to choose source ro mirror
216     * speculative texture cache to the OpenGL engine to avoid texture uploads
217     * newline policy setting API to textblock
218     * evas_object_ref and evas_object_unref to defer object deletions
219     * ICO loader
220     * evas_object_image_memfile_set to load images from memory
221     * vertical alignment to textblock
222     * more shadow directions for text rendering
223     * runtime italicizing and boldening of fonts that don't have their own
224     * more bidi API support
225     * PSD loader
226     * generic external-process loader for thins like xcf, pdf, video, ps
227     * password mode to textblock
228     * GL shader disk cache to avoid re-compilng on start
229     * evas_textblock_node_format_list_get. API
230     * smart class usage count get API
231     * grid layout smart object and API
232     * evas_event_thaw_eval to help evaluate state and events on event thaw
233     * textblock support for numeric escapes like "&#x3c;" in markup
234     * evas_object_image_extension_can_load_get API
235     * evas_object_image_extension_can_load_fast_get API
236     * evas_object_image_load_orientation_get API
237     * evas_object_image_load_orientation_set API
238     * feature to allow tables to repack the same object without error
239     * API to get child packing from table
240     * is_inside implementation for polygon objects
241     * out-of-order open/close tag support in textblock markup
242     * support for quoted parameters in tags in textblock markup
243     * font_weight and font_style formats
244     * font_width font format
245     * markup tag to specify language
246     * evas_textblock_cursor_range_formats_get API
247     * evas_textblock_cursor_visible_range_get API
248     * callback prioritization support
249     * YUV 601 input support for evas_object_image_data_convert
250     * NV12 colorspace for evas image objects
251     * MT12 colorspace for evas image objects
252     * underline dashing support to textblock
253     * API to get largest image size
254     * GL Cocoa engine
255     * Evas GL support in software backend through OSMesa
256     * API to new/free Evas_GL_Config rather than user declaring it
257     * Evas GL Direct rendering option hint to allow rendering to evas' window when possible
258
259 Fixes:
260
261     * cursor and selection handling with bidi text
262     * many general bid issues with text
263     * free bug in key grabs
264     * bug when images are scaled to massive sizes (like 1 billion pixels)
265     * BMP decode for have more pixels per line than the image does
266     * font string parsing bug if font element is too long
267     * crash bug in argb8888 to a8 conversion
268     * textblock bug with cursors in empty textblocks
269     * bug in smart calc array where some objects would be skipped
270     * static linking of BMP and TGA loaders
271     * bug when GL viewport was set with a NULL context
272     * bug when looking for vsync API due to SGI vs EXT differences
273     * bug in evas_object_del where DEL callback happened before HIDE
274     * yinversion bug on some GL surfaces
275     * BMP loader to handle alpha BMPS as solid where all alpha values are 0
276     * clipping with evas map issues
277     * bug where wrong call was used for freeing a mempool object
278     * static linking of GL engine
279     * GL engine to handle if someone uses GL contexts outside of evas
280     * bug in evas_object_textblock_text_markup_prepend that broke cursors
281     * lack of calling pre/post swap callbacks when using OpenGL-ES2
282     * some crashes with load options scaling of SVGs in 2nd pass decode
283     * segfault with evas_textblock_cursor_content_get
284     * libjpeg 8 compilation support on windows
285     * evas table to handle weighting correctly and expansion
286     * evas table to allow fractional weights, not just 0/1
287     * glyph search bug causing inconsitent return values in some cases
288     * compile when --disable-async-preload is used
289     * callback counter bug
290     * grab count and hide bug
291     * infinite loop bug when re-inserting objects during pre-render calc
292     * evas_object_image_data_convert
293     * TGA loader detects false positives less and handles alpha TGAs better
294     * repeat event flag not inherited from parent smart like pass events
295
296 Improvements:
297
298     * pre-render speed for rectangles if they are invisible
299     * code of textblock and font engine
300     * textblock layout speed
301     * speed and memory usage of textblock
302     * cache handler to also use file size, mode and sub-second timestamp
303     * textblock to re-layout only paragraphs that have changed
304     * homogenous table layout alignment and sizing
305     * textblock linebreaking by using liblinebreak
306     * image loader to drop out instantly if image file is a directory
307     * object allocation to use mempools
308     * font engine to use string objects not strings for caching purposes
309     * text to display missing unicode char instead of missing glyphs
310     * internal file code to use eina_file more
311     * jpeg loader to use eina_file
312     * jpeg encode and decode quality improved at expense of speed
313
314 Removals:
315
316     * removed quartz, cairo, qtopia and xrender engines. dead.