Evas 1.8.0 Changes since Evas 1.7.1 ------------------------- Fixes: * Fix evas textblock tag parser to respect escaped spaces and escaped single quotes Changes since Evas 1.7.0: ------------------------- Additions: * WEBP image loader support. * EVAS_CALLBACK_IMAGE_RESIZE. * Evas_Device registration/manipulation/querying API * Evas_Object_Display_Mode querying API * EVAS_GL_API_DEBUG=1 env. var option for outputting debug logs related to Evas GL's GL calls. * Proxy source visibility set APIs * Proxy source events set APIs * Evas_Coord_Size, Evas_Coord_Precision_Size types Improvements: * Function to rotate an evas map with a quaternion: evas_map_util_quat_rotate(). * EVAS_GL_NO_BLACKLIST env var to turn off blacklisted drivers in gl * Evas gl engine can do partial swaps now. * evas_object_del() now takes NULL parameters * make xpm loader faster (from O(N) to O(log(N))). Fixes: * Fix segmentation fault with the esvg loader. * Fix EGL/GLES dest alpha rendering bug (no rendering). * Fix evas_object_image_alpha_set when image data not loaded yet. * Fix map surface leak. * Fix native surface set to null crash bug in gl engine. * Fix font sizing issue with some rare sizes and fonts when rounding wrong. * Fix software line drawing c fallback code. * Fix the vertical line drawing on gl backened. * Fix potential segfault in gl engine if image internal image is NULL. * coordinate compute bug for Evas GL direct rendering. Removal: * No more support s3c6410. * 16bpp engine removed. * 8bpp engine removed. Evas 1.7.0 Changes since Evas 1.2.0: ------------------------- Additions: * Textgrid object. * Evas_Smart_Interface type, which brings simple interfaces support to smart objects. Improvements: * Lock less font rendering. * Reduce cost of propagating event by limiting the object we explore by using a bouncing box. * Don't wake up prepare thread if there is nothing to prepare. * Limit the updated region to fit in CPU cache for Pipe rendering. * Cache convertion from Evas_Map to RGBA_Map. * evas_object_smart_members_get() now returns NULL on non-smart objects. * Pipeline rendering use prepare stage more extensively. * Properly warn when user try to link object from different canvas. Fixes: * Add missing files in the tarball. * Add svg rendering with Esvg * Don't accept broken map. * Fix garbage left by mapped smart object when they fly away from the canvas. * Fix map life cycle. * Don't crash when calling evas_object_smart_type_check without type. * Handle proxy with the right context. * Force proxied object to stay active to keep track of change in them. * Fix evas_gl's internal resource surface bug when evas' window is deleted/recreated. * Fix evas_gl current_context update issue when evas_gl context is deleted. Removal: * Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE. * Remove librsvg svg loader (If you want to use it, use the evas_generic_loader variant). * Remove software DirectDraw 16 bits engine * Pipe rendering now need a patch to be turned on. Evas 1.2.0 Changes since Evas 1.1.0: ------------------------- Additions: * Textblock now supports self-closing tags, i.e
. Those should be used instead of the old
way. * Shm engine for drawing in Wayland. * evas_object_smart_callback_del_full API. * Add double buffer support to the buffer engine. * evas_textblock_cursor_word_start/end. * evas_textblock_text_utf8_to_markup. * textblock b and i tags able to be overriden by style. * new api to set and get event flags * events just before/after canvas rendering * frame object set/get API's * evas_object_name_child_find. * evas_gl_config_new/free. * evas_object_smart_callback_del_full. * EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN. * EVAS_GL_OPTIONS_DIRECT. * evas_object_textblock_style_user_pop/push. * evas_object_ref_get * Evas_GL_Multisample_Bits MSAA surface config option for supported devices. Fixes: * don't enable SSE3 if immintrin.h isn't there. * clip bounds calculation rounding error. * grab count negative values with weird multi-finger press/release usage. * clip bug that shows up in buffer engine. * disabled buggy SSE3 routines. * repeat events passing between layers within the same object. * uninitialized value when running generic loader. * rounding of update regions in scaled image objects. * handling of layouts where weights have sub integer values. * gl engine cliupping bug when rendering maps to fbo's. * liblinebreak disabled compilation bug. * color multiplier staying set when rendering map. * shader binary now saves if shader dir exists already. Improvements: * use Eina_File mmap for bmp, ico, pmaps, psd, wbmp and xpm file access. * textblock br and tab tags now default for newline and tab. * extended pixman routine support for most software rendering routines. * added tiled rotator for 32bit displays (faster). * work around nvidia driver spin-using-cpu and don't use glXWaitGL() * evasgl back-end for software using OSMesa. Removal: * Software_SDL engine is gone, use buffer engine directly. Evas 1.1.0 Changes since Evas 1.0.0: ------------------------- Additions: * auto-align feature to textblock * mixedwrap wrap mode to textblock * harfbuzz support for shaping * WBMP loader * mirror mode for tables * proxy abilities to image objects to choose source ro mirror * speculative texture cache to the OpenGL engine to avoid texture uploads * newline policy setting API to textblock * evas_object_ref and evas_object_unref to defer object deletions * ICO loader * evas_object_image_memfile_set to load images from memory * vertical alignment to textblock * more shadow directions for text rendering * runtime italicizing and boldening of fonts that don't have their own * more bidi API support * PSD loader * generic external-process loader for thins like xcf, pdf, video, ps * password mode to textblock * GL shader disk cache to avoid re-compilng on start * evas_textblock_node_format_list_get. API * smart class usage count get API * grid layout smart object and API * evas_event_thaw_eval to help evaluate state and events on event thaw * textblock support for numeric escapes like "<" in markup * evas_object_image_extension_can_load_get API * evas_object_image_extension_can_load_fast_get API * evas_object_image_load_orientation_get API * evas_object_image_load_orientation_set API * feature to allow tables to repack the same object without error * API to get child packing from table * is_inside implementation for polygon objects * out-of-order open/close tag support in textblock markup * support for quoted parameters in tags in textblock markup * font_weight and font_style formats * font_width font format * markup tag to specify language * evas_textblock_cursor_range_formats_get API * evas_textblock_cursor_visible_range_get API * callback prioritization support * YUV 601 input support for evas_object_image_data_convert * NV12 colorspace for evas image objects * MT12 colorspace for evas image objects * underline dashing support to textblock * API to get largest image size * GL Cocoa engine * Evas GL support in software backend through OSMesa * API to new/free Evas_GL_Config rather than user declaring it * Evas GL Direct rendering option hint to allow rendering to evas' window when possible Fixes: * cursor and selection handling with bidi text * many general bid issues with text * free bug in key grabs * bug when images are scaled to massive sizes (like 1 billion pixels) * BMP decode for have more pixels per line than the image does * font string parsing bug if font element is too long * crash bug in argb8888 to a8 conversion * textblock bug with cursors in empty textblocks * bug in smart calc array where some objects would be skipped * static linking of BMP and TGA loaders * bug when GL viewport was set with a NULL context * bug when looking for vsync API due to SGI vs EXT differences * bug in evas_object_del where DEL callback happened before HIDE * yinversion bug on some GL surfaces * BMP loader to handle alpha BMPS as solid where all alpha values are 0 * clipping with evas map issues * bug where wrong call was used for freeing a mempool object * static linking of GL engine * GL engine to handle if someone uses GL contexts outside of evas * bug in evas_object_textblock_text_markup_prepend that broke cursors * lack of calling pre/post swap callbacks when using OpenGL-ES2 * some crashes with load options scaling of SVGs in 2nd pass decode * segfault with evas_textblock_cursor_content_get * libjpeg 8 compilation support on windows * evas table to handle weighting correctly and expansion * evas table to allow fractional weights, not just 0/1 * glyph search bug causing inconsitent return values in some cases * compile when --disable-async-preload is used * callback counter bug * grab count and hide bug * infinite loop bug when re-inserting objects during pre-render calc * evas_object_image_data_convert * TGA loader detects false positives less and handles alpha TGAs better * repeat event flag not inherited from parent smart like pass events * texture size for nv12 format Improvements: * pre-render speed for rectangles if they are invisible * code of textblock and font engine * textblock layout speed * speed and memory usage of textblock * cache handler to also use file size, mode and sub-second timestamp * textblock to re-layout only paragraphs that have changed * homogenous table layout alignment and sizing * textblock linebreaking by using liblinebreak * image loader to drop out instantly if image file is a directory * object allocation to use mempools * font engine to use string objects not strings for caching purposes * text to display missing unicode char instead of missing glyphs * internal file code to use eina_file more * jpeg loader to use eina_file * jpeg encode and decode quality improved at expense of speed Removals: * removed quartz, cairo, qtopia and xrender engines. dead.