From: Enlightenment S. <no-...@en...> - 2012-07-19 08:17:23
|
Log: Evas textblock: Fixed memory leak on tb deletion. Thanks to k-s for reporting this. Author: tasn Date: 2012-07-19 01:17:17 -0700 (Thu, 19 Jul 2012) New Revision: 74165 Trac: http://trac.enlightenment.org/e/changeset/74165 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-07-19 08:16:42 UTC (rev 74164) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-07-19 08:17:17 UTC (rev 74165) @@ -9079,8 +9079,8 @@ return EINA_TRUE; } -EAPI void -evas_object_textblock_clear(Evas_Object *obj) +static void +_evas_object_textblock_clear_all(Evas_Object *obj) { Eina_List *l; Evas_Textblock_Cursor *cur; @@ -9102,12 +9102,19 @@ } + _evas_textblock_changed(o, obj); +} + +EAPI void +evas_object_textblock_clear(Evas_Object *obj) +{ + TB_HEAD(); + _evas_object_textblock_clear_all(obj); + /* Force recreation of everything for textblock. * FIXME: We have the same thing in other places, merge it... */ evas_textblock_cursor_paragraph_first(o->cursor); evas_textblock_cursor_text_append(o->cursor, ""); - - _evas_textblock_changed(o, obj); } EAPI void @@ -9347,7 +9354,7 @@ { Evas_Object_Textblock *o; - evas_object_textblock_clear(obj); + _evas_object_textblock_clear_all(obj); evas_object_textblock_style_set(obj, NULL); while (evas_object_textblock_style_user_peek(obj)) { |
From: Enlightenment S. <no-...@en...> - 2012-07-26 11:31:47
|
Log: Evas font: Fixed font cache to correctly handle different font sizes. Used to just go for the first match in the cache which means it would always think we only have the wrong size in the cache, and it would just add new entries all the time. Author: tasn Date: 2012-07-26 04:31:36 -0700 (Thu, 26 Jul 2012) New Revision: 74435 Trac: http://trac.enlightenment.org/e/changeset/74435 Modified: trunk/evas/src/lib/canvas/evas_font_dir.c Modified: trunk/evas/src/lib/canvas/evas_font_dir.c =================================================================== --- trunk/evas/src/lib/canvas/evas_font_dir.c 2012-07-26 11:08:27 UTC (rev 74434) +++ trunk/evas/src/lib/canvas/evas_font_dir.c 2012-07-26 11:31:36 UTC (rev 74435) @@ -495,6 +495,7 @@ Evas_Font_Set *font = NULL; Eina_List *fonts, *l; Fndat *fd; + Fndat *found_fd = NULL; char *nm; Font_Rend_Flags wanted_rend = 0; @@ -525,15 +526,19 @@ #ifdef HAVE_FONTCONFIG else if (fd->set && fd->p_nm) { - font = evas_load_fontconfig(evas, fd->set, size, - wanted_rend); - goto on_find; + found_fd = fd; } #endif } } } + if (found_fd) + { + font = evas_load_fontconfig(evas, found_fd->set, size, wanted_rend); + goto on_find; + } + EINA_LIST_FOREACH(fonts_zero, l, fd) { if (!evas_font_desc_cmp(fdesc, fd->fdesc)) @@ -552,15 +557,19 @@ #ifdef HAVE_FONTCONFIG else if (fd->set && fd->p_nm) { - font = evas_load_fontconfig(evas, fd->set, size, - wanted_rend); - goto on_find; + found_fd = fd; } #endif } } } + if (found_fd) + { + font = evas_load_fontconfig(evas, found_fd->set, size, wanted_rend); + goto on_find; + } + fonts = evas_font_set_get(fdesc->name); EINA_LIST_FOREACH(fonts, l, nm) /* Load each font in append */ { |
From: Enlightenment S. <no-...@en...> - 2012-07-31 10:51:21
|
Log: Evas font: Fixed compilation without fontconfig. Thanks a lot to JaMa for reporting this. Author: tasn Date: 2012-07-31 03:51:11 -0700 (Tue, 31 Jul 2012) New Revision: 74640 Trac: http://trac.enlightenment.org/e/changeset/74640 Modified: trunk/evas/src/lib/canvas/evas_font_dir.c Modified: trunk/evas/src/lib/canvas/evas_font_dir.c =================================================================== --- trunk/evas/src/lib/canvas/evas_font_dir.c 2012-07-31 10:42:52 UTC (rev 74639) +++ trunk/evas/src/lib/canvas/evas_font_dir.c 2012-07-31 10:51:11 UTC (rev 74640) @@ -533,11 +533,13 @@ } } +#ifdef HAVE_FONTCONFIG if (found_fd) { font = evas_load_fontconfig(evas, found_fd->set, size, wanted_rend); goto on_find; } +#endif EINA_LIST_FOREACH(fonts_zero, l, fd) { @@ -564,11 +566,13 @@ } } +#ifdef HAVE_FONTCONFIG if (found_fd) { font = evas_load_fontconfig(evas, found_fd->set, size, wanted_rend); goto on_find; } +#endif fonts = evas_font_set_get(fdesc->name); EINA_LIST_FOREACH(fonts, l, nm) /* Load each font in append */ |
From: Enlightenment S. <no-...@en...> - 2012-08-20 11:00:25
|
Log: Evas textblock: Fixed range geometry with 1 format at the eol. Fixed an issue with range geometry when we are getting the geometry of only the last format of a line. Author: tasn Date: 2012-08-20 04:00:16 -0700 (Mon, 20 Aug 2012) New Revision: 75460 Trac: http://trac.enlightenment.org/e/changeset/75460 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-08-20 09:16:47 UTC (rev 75459) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-08-20 11:00:16 UTC (rev 75460) @@ -8841,6 +8841,15 @@ tr->w = w; } } + else if ((it1 == it2) && (it1->type == EVAS_TEXTBLOCK_ITEM_FORMAT)) + { + tr = calloc(1, sizeof(Evas_Textblock_Rectangle)); + rects = eina_list_append(rects, tr); + tr->x = ln->x + it1->x; + tr->y = ln->par->y + ln->y; + tr->h = ln->h; + tr->w = it1->w; + } else if (it1 != it2) { /* Get the middle items */ |
From: Enlightenment S. <no-...@en...> - 2012-08-20 11:05:54
|
Log: Evas textblock: Reverted my last commit and added WooHyun's instead. They were pretty similar, but I think WooHyun's was better. Thanks to WooHyun for the patch. Author: tasn Date: 2012-08-20 04:05:48 -0700 (Mon, 20 Aug 2012) New Revision: 75461 Trac: http://trac.enlightenment.org/e/changeset/75461 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-08-20 11:00:16 UTC (rev 75460) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-08-20 11:05:48 UTC (rev 75461) @@ -8841,14 +8841,22 @@ tr->w = w; } } - else if ((it1 == it2) && (it1->type == EVAS_TEXTBLOCK_ITEM_FORMAT)) + else if ((it1 == it2) && (it1->type != EVAS_TEXTBLOCK_ITEM_TEXT)) { - tr = calloc(1, sizeof(Evas_Textblock_Rectangle)); - rects = eina_list_append(rects, tr); - tr->x = ln->x + it1->x; - tr->y = ln->par->y + ln->y; - tr->h = ln->h; - tr->w = it1->w; + Evas_Coord x, w; + x = 0; + w = it1->w; + _evas_textblock_range_calc_x_w(it1, &x, &w, EINA_TRUE, + switch_items); + if (w > 0) + { + tr = calloc(1, sizeof(Evas_Textblock_Rectangle)); + rects = eina_list_append(rects, tr); + tr->x = ln->x + it1->x + x; + tr->y = ln->par->y + ln->y; + tr->h = ln->h; + tr->w = w; + } } else if (it1 != it2) { |
From: Enlightenment S. <no-...@en...> - 2012-08-26 07:04:56
|
Log: Evas: Revert "Evas: tabs --> spaces" Lets wait until after the code freeze is over and people apply their patches, otherwise it'll be hellish. This reverts commit 75632 Author: tasn Date: 2012-08-26 00:04:46 -0700 (Sun, 26 Aug 2012) New Revision: 75704 Trac: http://trac.enlightenment.org/e/changeset/75704 Modified: trunk/evas/src/lib/canvas/evas_object_grid.c trunk/evas/src/lib/canvas/evas_object_image.c trunk/evas/src/lib/canvas/evas_object_main.c trunk/evas/src/lib/canvas/evas_object_rectangle.c trunk/evas/src/lib/canvas/evas_object_text.c trunk/evas/src/lib/canvas/evas_object_textblock.c trunk/evas/src/lib/canvas/evas_object_textgrid.c Modified: trunk/evas/src/lib/canvas/evas_object_grid.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_grid.c 2012-08-26 02:00:48 UTC (rev 75703) +++ trunk/evas/src/lib/canvas/evas_object_grid.c 2012-08-26 07:04:46 UTC (rev 75704) @@ -39,27 +39,27 @@ const Evas_Object *grid; }; -#define EVAS_OBJECT_GRID_DATA_GET(o, ptr) \ +#define EVAS_OBJECT_GRID_DATA_GET(o, ptr) \ Evas_Object_Grid_Data *ptr = evas_object_smart_data_get(o) -#define EVAS_OBJECT_GRID_DATA_GET_OR_RETURN(o, ptr) \ - EVAS_OBJECT_GRID_DATA_GET(o, ptr); \ - if (!ptr) \ - { \ - CRIT("no widget data for object %p (%s)", \ - o, evas_object_type_get(o)); \ - abort(); \ - return; \ +#define EVAS_OBJECT_GRID_DATA_GET_OR_RETURN(o, ptr) \ + EVAS_OBJECT_GRID_DATA_GET(o, ptr); \ + if (!ptr) \ + { \ + CRIT("no widget data for object %p (%s)", \ + o, evas_object_type_get(o)); \ + abort(); \ + return; \ } -#define EVAS_OBJECT_GRID_DATA_GET_OR_RETURN_VAL(o, ptr, val) \ - EVAS_OBJECT_GRID_DATA_GET(o, ptr); \ - if (!ptr) \ - { \ - CRIT("No widget data for object %p (%s)", \ - o, evas_object_type_get(o)); \ - abort(); \ - return val; \ +#define EVAS_OBJECT_GRID_DATA_GET_OR_RETURN_VAL(o, ptr, val) \ + EVAS_OBJECT_GRID_DATA_GET(o, ptr); \ + if (!ptr) \ + { \ + CRIT("No widget data for object %p (%s)", \ + o, evas_object_type_get(o)); \ + abort(); \ + return val; \ } static const char EVAS_OBJECT_GRID_OPTION_KEY[] = "|EvGd"; @@ -152,8 +152,8 @@ } EVAS_SMART_SUBCLASS_NEW("Evas_Object_Grid", _evas_object_grid, - Evas_Smart_Class, Evas_Smart_Class, - evas_object_smart_clipped_class_get, NULL) + Evas_Smart_Class, Evas_Smart_Class, + evas_object_smart_clipped_class_get, NULL) static void _evas_object_grid_smart_add(Evas_Object *o) @@ -175,11 +175,11 @@ l = priv->children; while (l) { - Evas_Object_Grid_Option *opt = l->data; - _evas_object_grid_child_disconnect(o, opt->obj); - _evas_object_grid_option_del(opt->obj); - free(opt); - l = eina_list_remove_list(l, l); + Evas_Object_Grid_Option *opt = l->data; + _evas_object_grid_child_disconnect(o, opt->obj); + _evas_object_grid_option_del(opt->obj); + free(opt); + l = eina_list_remove_list(l, l); } _evas_object_grid_parent_sc->del(o); } @@ -328,15 +328,15 @@ if (o != evas_object_smart_parent_get(child)) { - ERR("cannot unpack child from incorrect grid!"); - return EINA_FALSE; + ERR("cannot unpack child from incorrect grid!"); + return EINA_FALSE; } opt = _evas_object_grid_option_del(child); if (!opt) { - ERR("cannot unpack child with no packing option!"); - return EINA_FALSE; + ERR("cannot unpack child with no packing option!"); + return EINA_FALSE; } _evas_object_grid_child_disconnect(o, child); @@ -355,12 +355,12 @@ EINA_LIST_FREE(priv->children, opt) { - _evas_object_grid_child_disconnect(o, opt->obj); - _evas_object_grid_option_del(opt->obj); - evas_object_smart_member_del(opt->obj); - if (clear) - evas_object_del(opt->obj); - free(opt); + _evas_object_grid_child_disconnect(o, opt->obj); + _evas_object_grid_option_del(opt->obj); + evas_object_smart_member_del(opt->obj); + if (clear) + evas_object_del(opt->obj); + free(opt); } } Modified: trunk/evas/src/lib/canvas/evas_object_image.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_image.c 2012-08-26 02:00:48 UTC (rev 75703) +++ trunk/evas/src/lib/canvas/evas_object_image.c 2012-08-26 07:04:46 UTC (rev 75704) @@ -32,11 +32,11 @@ int spread; Evas_Coord_Rectangle fill; struct { - short w, h, stride; + short w, h, stride; } image; struct { - short l, r, t, b; - unsigned char fill; + short l, r, t, b; + unsigned char fill; double scale; } border; @@ -183,7 +183,7 @@ evas_object_inject(obj, e); o = (Evas_Object_Image *)(obj->object_data); o->cur.cspace = obj->layer->evas->engine.func->image_colorspace_get(obj->layer->evas->engine.data.output, - o->engine_data); + o->engine_data); return obj; } @@ -332,17 +332,17 @@ if ((o->tmpf) && (file != o->tmpf)) _cleanup_tmpf(obj); if ((o->cur.file) && (file) && (!strcmp(o->cur.file, file))) { - if ((!o->cur.key) && (!key)) - return; - if ((o->cur.key) && (key) && (!strcmp(o->cur.key, key))) - return; + if ((!o->cur.key) && (!key)) + return; + if ((o->cur.key) && (key) && (!strcmp(o->cur.key, key))) + return; } /* * WTF? why cancel a null image preload? this is just silly (tm) if (!o->engine_data) obj->layer->evas->engine.func->image_data_preload_cancel(obj->layer->evas->engine.data.output, - o->engine_data, - obj); + o->engine_data, + obj); */ if (o->cur.source) _proxy_unset(obj); if (o->cur.file) eina_stringshare_del(o->cur.file); @@ -376,39 +376,39 @@ lo.region.h = o->load_opts.region.h; lo.orientation = o->load_opts.orientation; o->engine_data = obj->layer->evas->engine.func->image_load(obj->layer->evas->engine.data.output, - o->cur.file, - o->cur.key, - &o->load_error, - &lo); + o->cur.file, + o->cur.key, + &o->load_error, + &lo); if (o->engine_data) { - int w, h; - int stride; + int w, h; + int stride; - obj->layer->evas->engine.func->image_size_get(obj->layer->evas->engine.data.output, - o->engine_data, &w, &h); - if (obj->layer->evas->engine.func->image_stride_get) - obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output, - o->engine_data, &stride); - else - stride = w * 4; - o->cur.has_alpha = obj->layer->evas->engine.func->image_alpha_get(obj->layer->evas->engine.data.output, - o->engine_data); - o->cur.cspace = obj->layer->evas->engine.func->image_colorspace_get(obj->layer->evas->engine.data.output, - o->engine_data); - o->cur.image.w = w; - o->cur.image.h = h; - o->cur.image.stride = stride; + obj->layer->evas->engine.func->image_size_get(obj->layer->evas->engine.data.output, + o->engine_data, &w, &h); + if (obj->layer->evas->engine.func->image_stride_get) + obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output, + o->engine_data, &stride); + else + stride = w * 4; + o->cur.has_alpha = obj->layer->evas->engine.func->image_alpha_get(obj->layer->evas->engine.data.output, + o->engine_data); + o->cur.cspace = obj->layer->evas->engine.func->image_colorspace_get(obj->layer->evas->engine.data.output, + o->engine_data); + o->cur.image.w = w; + o->cur.image.h = h; + o->cur.image.stride = stride; } else { - if (o->load_error == EVAS_LOAD_ERROR_NONE) - o->load_error = EVAS_LOAD_ERROR_GENERIC; - o->cur.has_alpha = 1; - o->cur.cspace = EVAS_COLORSPACE_ARGB8888; - o->cur.image.w = 0; - o->cur.image.h = 0; - o->cur.image.stride = 0; + if (o->load_error == EVAS_LOAD_ERROR_NONE) + o->load_error = EVAS_LOAD_ERROR_GENERIC; + o->cur.has_alpha = 1; + o->cur.cspace = EVAS_COLORSPACE_ARGB8888; + o->cur.image.w = 0; + o->cur.image.h = 0; + o->cur.image.stride = 0; } o->changed = 1; evas_object_change(obj); @@ -621,12 +621,12 @@ evas_object_event_callback_del(obj, EVAS_CALLBACK_RESIZE, evas_object_image_filled_resize_listener); else { - Evas_Coord w, h; + Evas_Coord w, h; - evas_object_geometry_get(obj, NULL, NULL, &w, &h); - evas_object_image_fill_set(obj, 0, 0, w, h); + evas_object_geometry_get(obj, NULL, NULL, &w, &h); + evas_object_image_fill_set(obj, 0, 0, w, h); - evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, evas_object_image_filled_resize_listener, NULL); + evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, evas_object_image_filled_resize_listener, NULL); } } @@ -825,8 +825,8 @@ /* FIXME - in engine call above if (o->engine_data) o->engine_data = obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output, - o->engine_data, - o->cur.has_alpha); + o->engine_data, + o->cur.has_alpha); */ EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o); o->changed = 1; @@ -940,14 +940,14 @@ p_data = o->engine_data; if (data) { - if (o->engine_data) + if (o->engine_data) { o->engine_data = obj->layer->evas->engine.func->image_data_put(obj->layer->evas->engine.data.output, o->engine_data, data); } - else + else { o->engine_data = obj->layer->evas->engine.func->image_new_from_data(obj->layer->evas->engine.data.output, @@ -980,26 +980,26 @@ } else { - if (o->engine_data) - obj->layer->evas->engine.func->image_free(obj->layer->evas->engine.data.output, - o->engine_data); - o->load_error = EVAS_LOAD_ERROR_NONE; - o->cur.image.w = 0; - o->cur.image.h = 0; - o->cur.image.stride = 0; - o->engine_data = NULL; + if (o->engine_data) + obj->layer->evas->engine.func->image_free(obj->layer->evas->engine.data.output, + o->engine_data); + o->load_error = EVAS_LOAD_ERROR_NONE; + o->cur.image.w = 0; + o->cur.image.h = 0; + o->cur.image.stride = 0; + o->engine_data = NULL; } /* FIXME - in engine call above if (o->engine_data) o->engine_data = obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output, - o->engine_data, - o->cur.has_alpha); + o->engine_data, + o->cur.has_alpha); */ if (o->pixels_checked_out > 0) o->pixels_checked_out--; if (p_data != o->engine_data) { - EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o); - o->pixels_checked_out = 0; + EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o); + o->pixels_checked_out = 0; } o->changed = 1; evas_object_change(obj); @@ -1053,7 +1053,7 @@ o->pixels_checked_out++; if (for_writing) { - EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o); + EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o); } return data; @@ -1074,8 +1074,8 @@ if (!o->engine_data) { o->preloading = 1; - evas_object_inform_call_image_preloaded(obj); - return; + evas_object_inform_call_image_preloaded(obj); + return; } // FIXME: if already busy preloading, then dont request again until // preload done @@ -1119,7 +1119,7 @@ (o->cur.image.h <= 0)) return; if (o->engine_data) obj->layer->evas->engine.func->image_free(obj->layer->evas->engine.data.output, - o->engine_data); + o->engine_data); o->engine_data = obj->layer->evas->engine.func->image_new_from_copied_data(obj->layer->evas->engine.data.output, o->cur.image.w, @@ -1328,27 +1328,27 @@ if (!o->engine_data) return 0; o->engine_data = obj->layer->evas->engine.func->image_data_get(obj->layer->evas->engine.data.output, - o->engine_data, - 0, - &data, + o->engine_data, + 0, + &data, &o->load_error); if (flags) { - char *p, *pp; - char *tflags; + char *p, *pp; + char *tflags; - tflags = alloca(strlen(flags) + 1); - strcpy(tflags, flags); - p = tflags; - while (p) - { - pp = strchr(p, ' '); - if (pp) *pp = 0; - sscanf(p, "quality=%i", &quality); - sscanf(p, "compress=%i", &compress); - if (pp) p = pp + 1; - else break; - } + tflags = alloca(strlen(flags) + 1); + strcpy(tflags, flags); + p = tflags; + while (p) + { + pp = strchr(p, ' '); + if (pp) *pp = 0; + sscanf(p, "quality=%i", &quality); + sscanf(p, "compress=%i", &compress); + if (pp) p = pp + 1; + else break; + } } im = (RGBA_Image*) evas_cache_image_data(evas_common_image_cache_get(), o->cur.image.w, @@ -1358,21 +1358,21 @@ EVAS_COLORSPACE_ARGB8888); if (im) { - if (o->cur.cspace == EVAS_COLORSPACE_ARGB8888) - im->image.data = data; - else - im->image.data = evas_object_image_data_convert_internal(o, - data, - EVAS_COLORSPACE_ARGB8888); - if (im->image.data) - { - ok = evas_common_save_image_to_file(im, file, key, quality, compress); + if (o->cur.cspace == EVAS_COLORSPACE_ARGB8888) + im->image.data = data; + else + im->image.data = evas_object_image_data_convert_internal(o, + data, + EVAS_COLORSPACE_ARGB8888); + if (im->image.data) + { + ok = evas_common_save_image_to_file(im, file, key, quality, compress); - if (o->cur.cspace != EVAS_COLORSPACE_ARGB8888) - free(im->image.data); - } + if (o->cur.cspace != EVAS_COLORSPACE_ARGB8888) + free(im->image.data); + } - evas_cache_image_drop(&im->cache_entry); + evas_cache_image_drop(&im->cache_entry); } o->engine_data = obj->layer->evas->engine.func->image_data_put(obj->layer->evas->engine.data.output, o->engine_data, @@ -1398,72 +1398,72 @@ { #if 0 case EVAS_PIXEL_FORMAT_ARGB32: - { - if (o->engine_data) - { - DATA32 *image_pixels = NULL; + { + if (o->engine_data) + { + DATA32 *image_pixels = NULL; - o->engine_data = - obj->layer->evas->engine.func->image_data_get(obj->layer->evas->engine.data.output, - o->engine_data, - 1, - &image_pixels, + o->engine_data = + obj->layer->evas->engine.func->image_data_get(obj->layer->evas->engine.data.output, + o->engine_data, + 1, + &image_pixels, &o->load_error); /* FIXME: need to actualyl support this */ -/* memcpy(image_pixels, pixels->rows, o->cur.image.w * o->cur.image.h * 4);*/ - if (o->engine_data) - o->engine_data = - obj->layer->evas->engine.func->image_data_put(obj->layer->evas->engine.data.output, - o->engine_data, - image_pixels); - if (o->engine_data) - o->engine_data = - obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output, - o->engine_data, - o->cur.has_alpha); - o->changed = 1; - evas_object_change(obj); - } - } - break; +/* memcpy(image_pixels, pixels->rows, o->cur.image.w * o->cur.image.h * 4);*/ + if (o->engine_data) + o->engine_data = + obj->layer->evas->engine.func->image_data_put(obj->layer->evas->engine.data.output, + o->engine_data, + image_pixels); + if (o->engine_data) + o->engine_data = + obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output, + o->engine_data, + o->cur.has_alpha); + o->changed = 1; + evas_object_change(obj); + } + } + break; #endif #ifdef BUILD_CONVERT_YUV case EVAS_PIXEL_FORMAT_YUV420P_601: - { - if (o->engine_data) - { - DATA32 *image_pixels = NULL; + { + if (o->engine_data) + { + DATA32 *image_pixels = NULL; - o->engine_data = - obj->layer->evas->engine.func->image_data_get(obj->layer->evas->engine.data.output, - o->engine_data, - 1, - &image_pixels, + o->engine_data = + obj->layer->evas->engine.func->image_data_get(obj->layer->evas->engine.data.output, + o->engine_data, + 1, + &image_pixels, &o->load_error); - if (image_pixels) - evas_common_convert_yuv_420p_601_rgba((DATA8 **) pixels->rows, - (DATA8 *) image_pixels, - o->cur.image.w, - o->cur.image.h); - if (o->engine_data) - o->engine_data = - obj->layer->evas->engine.func->image_data_put(obj->layer->evas->engine.data.output, - o->engine_data, - image_pixels); - if (o->engine_data) - o->engine_data = - obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output, - o->engine_data, - o->cur.has_alpha); - o->changed = 1; - evas_object_change(obj); - } - } - break; + if (image_pixels) + evas_common_convert_yuv_420p_601_rgba((DATA8 **) pixels->rows, + (DATA8 *) image_pixels, + o->cur.image.w, + o->cur.image.h); + if (o->engine_data) + o->engine_data = + obj->layer->evas->engine.func->image_data_put(obj->layer->evas->engine.data.output, + o->engine_data, + image_pixels); + if (o->engine_data) + o->engine_data = + obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output, + o->engine_data, + o->cur.has_alpha); + o->changed = 1; + evas_object_change(obj); + } + } + break; #endif default: - return 0; - break; + return 0; + break; } return 1; } @@ -1534,11 +1534,11 @@ o->load_opts.dpi = dpi; if (o->cur.file) { - evas_object_image_unload(obj, 0); + evas_object_image_unload(obj, 0); evas_object_inform_call_image_unloaded(obj); - evas_object_image_load(obj); - o->changed = 1; - evas_object_change(obj); + evas_object_image_load(obj); + o->changed = 1; + evas_object_change(obj); } } @@ -1574,11 +1574,11 @@ o->load_opts.h = h; if (o->cur.file) { - evas_object_image_unload(obj, 0); + evas_object_image_unload(obj, 0); evas_object_inform_call_image_unloaded(obj); - evas_object_image_load(obj); - o->changed = 1; - evas_object_change(obj); + evas_object_image_load(obj); + o->changed = 1; + evas_object_change(obj); } } @@ -1614,11 +1614,11 @@ o->load_opts.scale_down_by = scale_down; if (o->cur.file) { - evas_object_image_unload(obj, 0); + evas_object_image_unload(obj, 0); evas_object_inform_call_image_unloaded(obj); - evas_object_image_load(obj); - o->changed = 1; - evas_object_change(obj); + evas_object_image_load(obj); + o->changed = 1; + evas_object_change(obj); } } @@ -1657,11 +1657,11 @@ o->load_opts.region.h = h; if (o->cur.file) { - evas_object_image_unload(obj, 0); + evas_object_image_unload(obj, 0); evas_object_inform_call_image_unloaded(obj); - evas_object_image_load(obj); - o->changed = 1; - evas_object_change(obj); + evas_object_image_load(obj); + o->changed = 1; + evas_object_change(obj); } } @@ -1731,8 +1731,8 @@ o->cur.cspace = cspace; if (o->engine_data) obj->layer->evas->engine.func->image_colorspace_set(obj->layer->evas->engine.data.output, - o->engine_data, - cspace); + o->engine_data, + cspace); } EAPI Evas_Colorspace @@ -1766,35 +1766,35 @@ if (o->video_surface) { o->video_surface = 0; - obj->layer->evas->video_objects = eina_list_remove(obj->layer->evas->video_objects, obj); + obj->layer->evas->video_objects = eina_list_remove(obj->layer->evas->video_objects, obj); } if (surf) { if (surf->version != EVAS_VIDEO_SURFACE_VERSION) return ; - if (!surf->update_pixels || - !surf->move || - !surf->resize || - !surf->hide || - !surf->show) - return ; + if (!surf->update_pixels || + !surf->move || + !surf->resize || + !surf->hide || + !surf->show) + return ; o->created = EINA_TRUE; - o->video_surface = 1; - o->video = *surf; + o->video_surface = 1; + o->video = *surf; - obj->layer->evas->video_objects = eina_list_append(obj->layer->evas->video_objects, obj); + obj->layer->evas->video_objects = eina_list_append(obj->layer->evas->video_objects, obj); } else { o->video_surface = 0; - o->video.update_pixels = NULL; - o->video.move = NULL; - o->video.resize = NULL; - o->video.hide = NULL; - o->video.show = NULL; - o->video.data = NULL; + o->video.update_pixels = NULL; + o->video.move = NULL; + o->video.resize = NULL; + o->video.hide = NULL; + o->video.show = NULL; + o->video.data = NULL; } } @@ -1851,7 +1851,7 @@ MAGIC_CHECK_END(); if (!obj->layer->evas->engine.func->image_native_get) return NULL; return obj->layer->evas->engine.func->image_native_get(obj->layer->evas->engine.data.output, - o->engine_data); + o->engine_data); } EAPI void @@ -2154,37 +2154,37 @@ evas_image_cache_flush(e); EINA_INLIST_FOREACH(e->layers, layer) { - Evas_Object *obj; + Evas_Object *obj; - EINA_INLIST_FOREACH(layer->objects, obj) - { - Evas_Object_Image *o; + EINA_INLIST_FOREACH(layer->objects, obj) + { + Evas_Object_Image *o; - o = (Evas_Object_Image *)(obj->object_data); - if (o->magic == MAGIC_OBJ_IMAGE) - { - evas_object_image_unload(obj, 1); + o = (Evas_Object_Image *)(obj->object_data); + if (o->magic == MAGIC_OBJ_IMAGE) + { + evas_object_image_unload(obj, 1); evas_object_inform_call_image_unloaded(obj); - } - } + } + } } evas_image_cache_flush(e); EINA_INLIST_FOREACH(e->layers, layer) { - Evas_Object *obj; + Evas_Object *obj; - EINA_INLIST_FOREACH(layer->objects, obj) - { - Evas_Object_Image *o; + EINA_INLIST_FOREACH(layer->objects, obj) + { + Evas_Object_Image *o; - o = (Evas_Object_Image *)(obj->object_data); - if (o->magic == MAGIC_OBJ_IMAGE) - { - evas_object_image_load(obj); - o->changed = 1; - evas_object_change(obj); - } - } + o = (Evas_Object_Image *)(obj->object_data); + if (o->magic == MAGIC_OBJ_IMAGE) + { + evas_object_image_load(obj); + o->changed = 1; + evas_object_change(obj); + } + } } evas_image_cache_flush(e); } @@ -2625,31 +2625,31 @@ &lo); if (o->engine_data) { - int w, h; - int stride = 0; + int w, h; + int stride = 0; - obj->layer->evas->engine.func->image_size_get + obj->layer->evas->engine.func->image_size_get (obj->layer->evas->engine.data.output, o->engine_data, &w, &h); - if (obj->layer->evas->engine.func->image_stride_get) - obj->layer->evas->engine.func->image_stride_get + if (obj->layer->evas->engine.func->image_stride_get) + obj->layer->evas->engine.func->image_stride_get (obj->layer->evas->engine.data.output, o->engine_data, &stride); - else - stride = w * 4; - o->cur.has_alpha = obj->layer->evas->engine.func->image_alpha_get + else + stride = w * 4; + o->cur.has_alpha = obj->layer->evas->engine.func->image_alpha_get (obj->layer->evas->engine.data.output, o->engine_data); - o->cur.cspace = obj->layer->evas->engine.func->image_colorspace_get + o->cur.cspace = obj->layer->evas->engine.func->image_colorspace_get (obj->layer->evas->engine.data.output, o->engine_data); - o->cur.image.w = w; - o->cur.image.h = h; - o->cur.image.stride = stride; + o->cur.image.w = w; + o->cur.image.h = h; + o->cur.image.stride = stride; } else { - o->load_error = EVAS_LOAD_ERROR_GENERIC; + o->load_error = EVAS_LOAD_ERROR_GENERIC; } } @@ -2659,18 +2659,18 @@ Evas_Coord w; w = ((size * obj->layer->evas->output.w) / - (Evas_Coord)obj->layer->evas->viewport.w); + (Evas_Coord)obj->layer->evas->viewport.w); if (size <= 0) size = 1; if (start > 0) { - while (start - size > 0) start -= size; + while (start - size > 0) start -= size; } else if (start < 0) { - while (start < 0) start += size; + while (start < 0) start += size; } start = ((start * obj->layer->evas->output.w) / - (Evas_Coord)obj->layer->evas->viewport.w); + (Evas_Coord)obj->layer->evas->viewport.w); *size_ret = w; return start; } @@ -2681,18 +2681,18 @@ Evas_Coord h; h = ((size * obj->layer->evas->output.h) / - (Evas_Coord)obj->layer->evas->viewport.h); + (Evas_Coord)obj->layer->evas->viewport.h); if (size <= 0) size = 1; if (start > 0) { - while (start - size > 0) start -= size; + while (start - size > 0) start -= size; } else if (start < 0) { - while (start < 0) start += size; + while (start < 0) start += size; } start = ((start * obj->layer->evas->output.h) / - (Evas_Coord)obj->layer->evas->viewport.h); + (Evas_Coord)obj->layer->evas->viewport.h); *size_ret = h; return start; } @@ -2777,7 +2777,7 @@ if (o->video_surface) { o->video_surface = 0; - obj->layer->evas->video_objects = eina_list_remove(obj->layer->evas->video_objects, obj); + obj->layer->evas->video_objects = eina_list_remove(obj->layer->evas->video_objects, obj); } o->engine_data = NULL; o->magic = 0; @@ -2829,27 +2829,27 @@ } obj->layer->evas->engine.func->context_color_set(output, - context, - 255, 255, 255, 255); + context, + 255, 255, 255, 255); if ((obj->cur.cache.clip.r == 255) && (obj->cur.cache.clip.g == 255) && (obj->cur.cache.clip.b == 255) && (obj->cur.cache.clip.a == 255)) { - obj->layer->evas->engine.func->context_multiplier_unset(output, - context); + obj->layer->evas->engine.func->context_multiplier_unset(output, + context); } else obj->layer->evas->engine.func->context_multiplier_set(output, - context, - obj->cur.cache.clip.r, - obj->cur.cache.clip.g, - obj->cur.cache.clip.b, - obj->cur.cache.clip.a); + context, + obj->cur.cache.clip.r, + obj->cur.cache.clip.g, + obj->cur.cache.clip.b, + obj->cur.cache.clip.a); obj->layer->evas->engine.func->context_render_op_set(output, context, - obj->cur.render_op); + obj->cur.render_op); if (!o->cur.source) { @@ -2943,14 +2943,14 @@ if (pixels) { - Evas_Coord idw, idh, idx, idy; - int ix, iy, iw, ih; + Evas_Coord idw, idh, idx, idy; + int ix, iy, iw, ih; int img_set = 0; - if (o->dirty_pixels) - { - if (o->func.get_pixels) - { + if (o->dirty_pixels) + { + if (o->func.get_pixels) + { // Set img object for direct rendering optimization // Check for image w/h against image geometry w/h // Check for image color r,g,b,a = {255,255,255,255} @@ -2970,22 +2970,22 @@ } } - o->func.get_pixels(o->func.get_pixels_data, obj); - if (o->engine_data != pixels) - pixels = o->engine_data; - o->engine_data = obj->layer->evas->engine.func->image_dirty_region + o->func.get_pixels(o->func.get_pixels_data, obj); + if (o->engine_data != pixels) + pixels = o->engine_data; + o->engine_data = obj->layer->evas->engine.func->image_dirty_region (obj->layer->evas->engine.data.output, o->engine_data, 0, 0, o->cur.image.w, o->cur.image.h); - } - o->dirty_pixels = 0; - } + } + o->dirty_pixels = 0; + } if ((obj->cur.map) && (obj->cur.map->count > 3) && (obj->cur.usemap)) { evas_object_map_update(obj, x, y, imagew, imageh, uvw, uvh); obj->layer->evas->engine.func->image_map_draw (output, context, surface, pixels, obj->spans, - o->cur.smooth_scale | obj->cur.map->smooth, 0); + o->cur.smooth_scale | obj->cur.map->smooth, 0); } else { @@ -3214,15 +3214,15 @@ { ERR("%p has invalid fill size: %dx%d. Ignored", obj, o->cur.fill.w, o->cur.fill.h); - return; + return; } /* if someone is clipping this obj - go calculate the clipper */ if (obj->cur.clipper) { - if (obj->cur.cache.clip.dirty) - evas_object_clip_recalc(obj->cur.clipper); - obj->cur.clipper->func->render_pre(obj->cur.clipper); + if (obj->cur.cache.clip.dirty) + evas_object_clip_recalc(obj->cur.clipper); + obj->cur.clipper->func->render_pre(obj->cur.clipper); } /* Proxy: Do it early */ if (o->cur.source && @@ -3239,12 +3239,12 @@ was_v = evas_object_was_visible(obj); if (is_v != was_v) { - evas_object_render_pre_visible_change(&e->clip_changes, obj, is_v, was_v); - if (!o->pixel_updates) goto done; + evas_object_render_pre_visible_change(&e->clip_changes, obj, is_v, was_v); + if (!o->pixel_updates) goto done; } if (obj->changed_map) { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); goto done; } /* it's not visible - we accounted for it appearing or not so just abort */ @@ -3254,8 +3254,8 @@ /* if we restacked (layer or just within a layer) and don't clip anyone */ if (obj->restack) { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; } /* if it changed color */ if ((obj->cur.color.r != obj->prev.color.r) || @@ -3263,71 +3263,71 @@ (obj->cur.color.b != obj->prev.color.b) || (obj->cur.color.a != obj->prev.color.a)) { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; } /* if it changed render op */ if (obj->cur.render_op != obj->prev.render_op) { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; } /* if it changed anti_alias */ if (obj->cur.anti_alias != obj->prev.anti_alias) { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; } if (o->changed) { - if (((o->cur.file) && (!o->prev.file)) || - ((!o->cur.file) && (o->prev.file)) || - ((o->cur.key) && (!o->prev.key)) || - ((!o->cur.key) && (o->prev.key)) - ) - { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; - } - if ((o->cur.image.w != o->prev.image.w) || - (o->cur.image.h != o->prev.image.h) || - (o->cur.has_alpha != o->prev.has_alpha) || - (o->cur.cspace != o->prev.cspace) || - (o->cur.smooth_scale != o->prev.smooth_scale)) - { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; - } - if ((o->cur.border.l != o->prev.border.l) || - (o->cur.border.r != o->prev.border.r) || - (o->cur.border.t != o->prev.border.t) || - (o->cur.border.b != o->prev.border.b) || + if (((o->cur.file) && (!o->prev.file)) || + ((!o->cur.file) && (o->prev.file)) || + ((o->cur.key) && (!o->prev.key)) || + ((!o->cur.key) && (o->prev.key)) + ) + { + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; + } + if ((o->cur.image.w != o->prev.image.w) || + (o->cur.image.h != o->prev.image.h) || + (o->cur.has_alpha != o->prev.has_alpha) || + (o->cur.cspace != o->prev.cspace) || + (o->cur.smooth_scale != o->prev.smooth_scale)) + { + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; + } + if ((o->cur.border.l != o->prev.border.l) || + (o->cur.border.r != o->prev.border.r) || + (o->cur.border.t != o->prev.border.t) || + (o->cur.border.b != o->prev.border.b) || (o->cur.border.fill != o->prev.border.fill) || (o->cur.border.scale != o->prev.border.scale)) - { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; - } - if (o->dirty_pixels) - { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; - } - if (o->cur.frame != o->prev.frame) - { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; - } - + { + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; + } + if (o->dirty_pixels) + { + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; + } + if (o->cur.frame != o->prev.frame) + { + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; + } + } /* if it changed geometry - and obviously not visibility or color */ /* calculate differences since we have a constant color fill */ /* we really only need to update the differences */ #if 0 // XXX: maybe buggy? if (((obj->cur.geometry.x != obj->prev.geometry.x) || - (obj->cur.geometry.y != obj->prev.geometry.y) || - (obj->cur.geometry.w != obj->prev.geometry.w) || - (obj->cur.geometry.h != obj->prev.geometry.h)) && + (obj->cur.geometry.y != obj->prev.geometry.y) || + (obj->cur.geometry.w != obj->prev.geometry.w) || + (obj->cur.geometry.h != obj->prev.geometry.h)) && (o->cur.fill.w == o->prev.fill.w) && (o->cur.fill.h == o->prev.fill.h) && ((o->cur.fill.x + obj->cur.geometry.x) == (o->prev.fill.x + obj->prev.geometry.x)) && @@ -3335,37 +3335,37 @@ (!o->pixel_updates) ) { - evas_rects_return_difference_rects(&e->clip_changes, - obj->cur.geometry.x, - obj->cur.geometry.y, - obj->cur.geometry.w, - obj->cur.geometry.h, - obj->prev.geometry.x, - obj->prev.geometry.y, - obj->prev.geometry.w, - obj->prev.geometry.h); - if (!o->pixel_updates) goto done; + evas_rects_return_difference_rects(&e->clip_changes, + obj->cur.geometry.x, + obj->cur.geometry.y, + obj->cur.geometry.w, + obj->cur.geometry.h, + obj->prev.geometry.x, + obj->prev.geometry.y, + obj->prev.geometry.w, + obj->prev.geometry.h); + if (!o->pixel_updates) goto done; } #endif if (((obj->cur.geometry.x != obj->prev.geometry.x) || - (obj->cur.geometry.y != obj->prev.geometry.y) || - (obj->cur.geometry.w != obj->prev.geometry.w) || - (obj->cur.geometry.h != obj->prev.geometry.h)) + (obj->cur.geometry.y != obj->prev.geometry.y) || + (obj->cur.geometry.w != obj->prev.geometry.w) || + (obj->cur.geometry.h != obj->prev.geometry.h)) ) { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; } if (o->changed) { - if ((o->cur.fill.x != o->prev.fill.x) || - (o->cur.fill.y != o->prev.fill.y) || - (o->cur.fill.w != o->prev.fill.w) || - (o->cur.fill.h != o->prev.fill.h)) - { - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - if (!o->pixel_updates) goto done; - } + if ((o->cur.fill.x != o->prev.fill.x) || + (o->cur.fill.y != o->prev.fill.y) || + (o->cur.fill.w != o->prev.fill.w) || + (o->cur.fill.h != o->prev.fill.h)) + { + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + if (!o->pixel_updates) goto done; + } if (o->pixel_updates) { if ((o->cur.border.l == 0) && @@ -3427,15 +3427,15 @@ } else { - Eina_Rectangle *r; + Eina_Rectangle *r; - EINA_LIST_FREE(o->pixel_updates, r) + EINA_LIST_FREE(o->pixel_updates, r) eina_rectangle_free(r); - e->engine.func->image_dirty_region(e->engine.data.output, o->engine_data, 0, 0, o->cur.image.w, o->cur.image.h); - evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); - goto done; - } - } + e->engine.func->image_dirty_region(e->engine.data.output, o->engine_data, 0, 0, o->cur.image.w, o->cur.image.h); + evas_object_render_pre_prev_cur_add(&e->clip_changes, obj); + goto done; + } + } } #if 0 // filtering disabled if (obj->filter && obj->filter->dirty) @@ -3837,22 +3837,22 @@ switch (o->cur.cspace) { - case EVAS_COLORSPACE_ARGB8888: - out = evas_common_convert_argb8888_to(data, - o->cur.image.w, - o->cur.image.h, - o->cur.image.stride >> 2, - o->cur.has_alpha, - to_cspace); - break; - case EVAS_COLORSPACE_RGB565_A5P: - out = evas_common_convert_rgb565_a5p_to(data, - o->cur.image.w, - o->cur.image.h, - o->cur.image.stride >> 1, - o->cur.has_alpha, - to_cspace); - break; + case EVAS_COLORSPACE_ARGB8888: + out = evas_common_convert_argb8888_to(data, + o->cur.image.w, + o->cur.image.h, + o->cur.image.stride >> 2, + o->cur.has_alpha, + to_cspace); + break; + case EVAS_COLORSPACE_RGB565_A5P: + out = evas_common_convert_rgb565_a5p_to(data, + o->cur.image.w, + o->cur.image.h, + o->cur.image.stride >> 1, + o->cur.has_alpha, + to_cspace); + break; case EVAS_COLORSPACE_YCBCR422601_PL: out = evas_common_convert_yuv_422_601_to(data, o->cur.image.w, @@ -3873,13 +3873,13 @@ break; case EVAS_COLORSPACE_YCBCR420TM12601_PL: out = evas_common_convert_yuv_420T_601_to(data, - o->cur.image.w, - o->cur.image.h, - to_cspace); + o->cur.image.w, + o->cur.image.h, + to_cspace); break; - default: + default: WRN("unknow colorspace: %i\n", o->cur.cspace); - break; + break; } return out; Modified: trunk/evas/src/lib/canvas/evas_object_main.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_main.c 2012-08-26 02:00:48 UTC (rev 75703) +++ trunk/evas/src/lib/canvas/evas_object_main.c 2012-08-26 07:04:46 UTC (rev 75704) @@ -178,10 +178,10 @@ obj->cur.geometry.y, obj->cur.geometry.w, obj->cur.geometry.h, -//// rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, -//// obj->cur.cache.geometry.y, -//// obj->cur.cache.geometry.w, -//// obj->cur.cache.geometry.h, +//// rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, +//// obj->cur.cache.geometry.y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h, obj->cur.clipper->cur.cache.clip.x, obj->cur.clipper->cur.cache.clip.y, obj->cur.clipper->cur.cache.clip.w, @@ -194,10 +194,10 @@ obj->prev.geometry.y, obj->prev.geometry.w, obj->prev.geometry.h, -//// rl = evas_rects_return_difference_rects(obj->prev.cache.geometry.x, -//// obj->prev.cache.geometry.y, -//// obj->prev.cache.geometry.w, -//// obj->prev.cache.geometry.h, +//// rl = evas_rects_return_difference_rects(obj->prev.cache.geometry.x, +//// obj->prev.cache.geometry.y, +//// obj->prev.cache.geometry.w, +//// obj->prev.cache.geometry.h, obj->prev.clipper->prev.cache.clip.x, obj->prev.clipper->prev.cache.clip.y, obj->prev.clipper->prev.cache.clip.w, @@ -224,19 +224,19 @@ obj->cur.geometry.y, obj->cur.geometry.w, obj->cur.geometry.h); -//// obj->cur.cache.geometry.x, -//// obj->cur.cache.geometry.y, -//// obj->cur.cache.geometry.w, -//// obj->cur.cache.geometry.h); +//// obj->cur.cache.geometry.x, +//// obj->cur.cache.geometry.y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h); evas_add_rect(rects, obj->prev.geometry.x, obj->prev.geometry.y, obj->prev.geometry.w, obj->prev.geometry.h); -//// obj->prev.cache.geometry.x, -//// obj->prev.cache.geometry.y, -//// obj->prev.cache.geometry.w, -//// obj->prev.cache.geometry.h); +//// obj->prev.cache.geometry.x, +//// obj->prev.cache.geometry.y, +//// obj->prev.cache.geometry.w, +//// obj->prev.cache.geometry.h); */ } @@ -565,7 +565,7 @@ computeminmax = EINA_TRUE; } - if (computeminmax) + if (computeminmax) { evas_object_smart_need_bounding_box_update(obj->smart.parent); } Modified: trunk/evas/src/lib/canvas/evas_object_rectangle.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_rectangle.c 2012-08-26 02:00:48 UTC (rev 75703) +++ trunk/evas/src/lib/canvas/evas_object_rectangle.c 2012-08-26 07:04:46 UTC (rev 75704) @@ -142,26 +142,26 @@ { /* render object to surface with context, and offxet by x,y */ obj->layer->evas->engine.func->context_color_set(output, - context, - obj->cur.cache.clip.r, - obj->cur.cache.clip.g, - obj->cur.cache.clip.b, - obj->cur.cache.clip.a); + context, + obj->cur.cache.clip.r, + obj->cur.cache.clip.g, + obj->cur.cache.clip.b, + obj->cur.cache.clip.a); obj->layer->evas->engine.func->context_multiplier_unset(output, - context); + context); obj->layer->evas->engine.func->context_render_op_set(output, context, - obj->cur.render_op); + obj->cur.render_op); obj->layer->evas->engine.func->rectangle_draw(output, - context, - surface, - obj->cur.geometry.x + x, - obj->cur.geometry.y + y, - obj->cur.geometry.w, - obj->cur.geometry.h); -//// obj->cur.cache.geometry.x + x, -//// obj->cur.cache.geometry.y + y, -//// obj->cur.cache.geometry.w, -//// obj->cur.cache.geometry.h); + context, + surface, + obj->cur.geometry.x + x, + obj->cur.geometry.y + y, + obj->cur.geometry.w, + obj->cur.geometry.h); +//// obj->cur.cache.geometry.x + x, +//// obj->cur.cache.geometry.y + y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h); } static void @@ -180,9 +180,9 @@ /* if someone is clipping this obj - go calculate the clipper */ if (obj->cur.clipper) { - if (obj->cur.cache.clip.dirty) - evas_object_clip_recalc(obj->cur.clipper); - obj->cur.clipper->func->render_pre(obj->cur.clipper); + if (obj->cur.cache.clip.dirty) + evas_object_clip_recalc(obj->cur.clipper); + obj->cur.clipper->func->render_pre(obj->cur.clipper); } /* now figure what changed and add draw rects */ /* if it just became visible or invisible */ @@ -191,8 +191,8 @@ if (!(is_v | was_v)) goto done; if (is_v != was_v) { - evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v); - goto done; + evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v); + goto done; } if (obj->changed_map) { @@ -207,14 +207,14 @@ /* if we restacked (layer or just within a layer) and don't clip anyone */ if ((obj->restack) && (!obj->clip.clipees)) { - evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj); - goto done; + evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj); + goto done; } /* if it changed render op */ if (obj->cur.render_op != obj->prev.render_op) { - evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj); - goto done; + evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj); + goto done; } /* if it changed color */ if ((obj->cur.color.r != obj->prev.color.r) || @@ -222,8 +222,8 @@ (obj->cur.color.b != obj->prev.color.b) || (obj->cur.color.a != obj->prev.color.a)) { - evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj); - goto done; + evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj); + goto done; } /* if it changed geometry - and obviously not visibility or color */ /* calculate differences since we have a constant color fill */ @@ -233,24 +233,24 @@ (obj->cur.geometry.w != obj->prev.geometry.w) || (obj->cur.geometry.h != obj->prev.geometry.h)) { - evas_rects_return_difference_rects(&obj->layer->evas->clip_changes, - obj->cur.geometry.x, - obj->cur.geometry.y, - obj->cur.geometry.w, - obj->cur.geometry.h, - obj->prev.geometry.x, - obj->prev.geometry.y, - obj->prev.geometry.w, - obj->prev.geometry.h); -//// rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, -//// obj->cur.cache.geometry.y, -//// obj->cur.cache.geometry.w, -//// obj->cur.cache.geometry.h, -//// obj->prev.cache.geometry.x, -//// obj->prev.cache.geometry.y, -//// obj->prev.cache.geometry.w, -//// obj->prev.cache.geometry.h); - goto done; + evas_rects_return_difference_rects(&obj->layer->evas->clip_changes, + obj->cur.geometry.x, + obj->cur.geometry.y, + obj->cur.geometry.w, + obj->cur.geometry.h, + obj->prev.geometry.x, + obj->prev.geometry.y, + obj->prev.geometry.w, + obj->prev.geometry.h); +//// rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, +//// obj->cur.cache.geometry.y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h, +//// obj->prev.cache.geometry.x, +//// obj->prev.cache.geometry.y, +//// obj->prev.cache.geometry.w, +//// obj->prev.cache.geometry.h); + goto done; } /* it obviously didn't change - add a NO obscure - this "unupdates" this */ /* area so if there were updates for it they get wiped. don't do it if we */ @@ -260,10 +260,10 @@ evas_object_is_opaque(obj) && (!obj->clip.clipees)) obj->layer->evas->engine.func->output_redraws_rect_del(obj->layer->evas->engine.data.output, - obj->cur.cache.clip.x, - obj->cur.cache.clip.y, - obj->cur.cache.clip.w, - obj->cur.cache.clip.h); + obj->cur.cache.clip.x, + obj->cur.cache.clip.y, + obj->cur.cache.clip.w, + obj->cur.cache.clip.h); */ done: evas_object_render_pre_effect_updates(&obj->layer->evas->clip_changes, obj, is_v, was_v); @@ -289,9 +289,9 @@ /* currently fully opaque over the entire rectangle it occupies */ if ((obj->cur.map) && (obj->cur.usemap)) return 0; if (obj->cur.render_op == EVAS_RENDER_COPY) - return 1; + return 1; if (obj->cur.render_op != EVAS_RENDER_BLEND) - return 0; + return 0; return 1; } @@ -301,9 +301,9 @@ /* this returns 1 if the internal object data implies that the object was */ /* previously fully opaque over the entire rectangle it occupies */ if (obj->prev.render_op == EVAS_RENDER_COPY) - return 1; + return 1; if (obj->prev.render_op != EVAS_RENDER_BLEND) - return 0; + return 0; return 1; } Modified: trunk/evas/src/lib/canvas/evas_object_text.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_text.c 2012-08-26 02:00:48 UTC (rev 75703) +++ trunk/evas/src/lib/canvas/evas_object_text.c 2012-08-26 07:04:46 UTC (rev 75704) @@ -23,7 +23,7 @@ const char *source; Evas_Font_Size size; struct { - unsigned char r, g, b, a; + unsigned char r, g, b, a; } outline, shadow, glow, glow2; unsigned char style; @@ -609,8 +609,8 @@ if (!text) text = eina_unicode_strdup(EINA_UNICODE_EMPTY_STRING); was = evas_object_is_in_output_rect(obj, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, 1, 1); + obj->layer->evas->pointer.x, + obj->layer->evas->pointer.y, 1, 1); /* DO II */ /*Update bidi_props*/ @@ -619,12 +619,12 @@ if ((text) && (*text)) { _evas_object_text_layout(obj, o, text); - eina_stringshare_replace(&o->cur.utf8_text, _text); + eina_stringshare_replace(&o->cur.utf8_text, _text); o->prev.utf8_text = NULL; } else { - eina_stringshare_replace(&o->cur.utf8_text, NULL); + eina_stringshare_replace(&o->cur.utf8_text, NULL); } if (text) { @@ -637,14 +637,14 @@ evas_object_clip_dirty(obj); evas_object_coords_recalc(obj); is = evas_object_is_in_output_rect(obj, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, 1, 1); + obj->layer->evas->pointer.x, + obj->layer->evas->pointer.y, 1, 1); if ((is || was) && obj->cur.visible) evas_event_feed_mouse_move(obj->layer->evas, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, - obj->layer->evas->last_timestamp, - NULL); + obj->layer->evas->pointer.x, + obj->layer->evas->pointer.y, + obj->layer->evas->last_timestamp, + NULL); evas_object_inform_call_resize(obj); if (text) free(text); } @@ -850,15 +850,15 @@ x -= l; if (x < 0) { - w += x; - x = 0; + w += x; + x = 0; } if ((x + w) > obj->cur.geometry.w) w = obj->cur.geometry.w - x; if (w < 0) w = 0; if (y < 0) { - h += y; - y = 0; + h += y; + y = 0; } if ((y + h) > obj->cur.geometry.h) h = obj->cur.geometry.h - y; if (h < 0) h = 0; @@ -910,15 +910,15 @@ rx -= l; if (rx < 0) { - rw += rx; - rx = 0; + rw += rx; + rx = 0; } if ((rx + rw) > obj->cur.geometry.w) rw = obj->cur.geometry.w - rx; if (rw < 0) rw = 0; if (ry < 0) { - rh += ry; - ry = 0; + rh += ry; + ry = 0; } if ((ry + rh) > obj->cur.geometry.h) rh = obj->cur.geometry.h - ry; if (rh < 0) rh = 0; @@ -1431,11 +1431,11 @@ Evas_Object_Text_Item *it; const char vals[5][5] = { - {0, 1, 2, 1, 0}, - {1, 3, 4, 3, 1}, - ... [truncated message content] |
From: Enlightenment S. <no-...@en...> - 2012-09-05 13:02:48
|
Log: Evas textblock: Fixed format nodes updates for because of style changes. Thanks a lot to Bluezery for reporting this issue. Author: tasn Date: 2012-09-05 06:02:37 -0700 (Wed, 05 Sep 2012) New Revision: 76195 Trac: http://trac.enlightenment.org/e/changeset/76195 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-09-05 13:02:33 UTC (rev 76194) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-09-05 13:02:37 UTC (rev 76195) @@ -4659,6 +4659,32 @@ return ts->style_text; } +static const char * +_textblock_format_node_from_style_tag(Evas_Object_Textblock *o, Evas_Object_Textblock_Node_Format *fnode, const char *format, size_t format_len) +{ + const char *match; + size_t replace_len; + if (!o->style_user || !(match = _style_match_tag(o->style_user, format, + format_len, &replace_len))) + { + match = _style_match_tag(o->style, format, format_len, + &replace_len); + } + + if (match) + { + if (match[0] != '-') + { + fnode->opener = EINA_TRUE; + if (match[0] != '+') + { + fnode->own_closer = EINA_TRUE; + } + } + } + return match; +} + /* textblock styles */ static void @@ -4688,6 +4714,43 @@ } *obj_ts = ts; + Evas_Object_Textblock_Node_Format *fnode = o->format_nodes; + while (fnode) + { + const char *match; + size_t format_len = eina_stringshare_strlen(fnode->orig_format); + /* Is this safe to use alloca here? Strings might possibly get large */ + char *format = alloca(format_len + 2); + + if (!fnode->opener) + { + format[0] = '/'; + format[1] = '\0'; + } + else + { + format[0] = '\0'; + } + + strcat(format, fnode->orig_format); + + match = _textblock_format_node_from_style_tag(o, fnode, format, + format_len); + + if (match && fnode->format && strcmp(match, fnode->format)) + { + if ((*match == '+') || (*match == '-')) + { + match++; + while (*match == ' ') match++; + } + fnode->is_new = EINA_TRUE; + fnode->format = eina_stringshare_add(match); + } + fnode = _NODE_FORMAT(EINA_INLIST_GET(fnode)->next); + } + + o->format_changed = EINA_TRUE; _evas_textblock_invalidate_all(o); _evas_textblock_changed(o, obj); } @@ -7290,7 +7353,6 @@ { const char *match; size_t format_len; - size_t replace_len; format++; /* Advance after '<' */ format_len = strlen(format); @@ -7305,24 +7367,10 @@ } } - if (!o->style_user || !(match = _style_match_tag(o->style_user, format, - format_len, &replace_len))) - { - match = _style_match_tag(o->style, format, format_len, - &replace_len); - } + match = _textblock_format_node_from_style_tag(o, n, format, format_len); if (match) { - if (match[0] != '-') - { - n->opener = EINA_TRUE; - if (match[0] != '+') - { - n->own_closer = EINA_TRUE; - } - } - pre_stripped_format = match; } else |
From: Enlightenment S. <no-...@en...> - 2012-09-05 13:25:23
|
Log: Evas textblock: Fix a small stringshare leak. I don't know how this got in. Anyhow, stringshare leaks are hard to spot. Author: tasn Date: 2012-09-05 06:25:12 -0700 (Wed, 05 Sep 2012) New Revision: 76197 Trac: http://trac.enlightenment.org/e/changeset/76197 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-09-05 13:13:30 UTC (rev 76196) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-09-05 13:25:12 UTC (rev 76197) @@ -4745,7 +4745,7 @@ while (*match == ' ') match++; } fnode->is_new = EINA_TRUE; - fnode->format = eina_stringshare_add(match); + eina_stringshare_replace(&fnode->format, match); } fnode = _NODE_FORMAT(EINA_INLIST_GET(fnode)->next); } |
From: Enlightenment S. <no-...@en...> - 2012-09-12 11:55:52
|
Log: Evas: Fixed compilation with old fontconfig. This fixes ticket #1500 by Sleep_Walker. Author: tasn Date: 2012-09-12 04:55:45 -0700 (Wed, 12 Sep 2012) New Revision: 76520 Trac: http://trac.enlightenment.org/e/changeset/76520 Modified: trunk/evas/src/lib/canvas/evas_font_dir.c Modified: trunk/evas/src/lib/canvas/evas_font_dir.c =================================================================== --- trunk/evas/src/lib/canvas/evas_font_dir.c 2012-09-12 11:49:46 UTC (rev 76519) +++ trunk/evas/src/lib/canvas/evas_font_dir.c 2012-09-12 11:55:45 UTC (rev 76520) @@ -268,6 +268,10 @@ FC_SLANT_ITALIC }; +/* Apparently EXTRABLACK is not always available, hardcode. */ +# ifndef FC_WEIGHT_EXTRABLACK +# define FC_WEIGHT_EXTRABLACK 215 +# endif static int _fc_weight_map[] = { FC_WEIGHT_NORMAL, |
From: Enlightenment S. <no-...@en...> - 2012-10-09 06:02:12
|
Log: Evas image: Fix compilation for David Seikel. Weird that it works here. I guess the type of va_list is different for you. Anyhow, you are right, that's an issue, thanks. Author: tasn Date: 2012-10-08 23:02:05 -0700 (Mon, 08 Oct 2012) New Revision: 77609 Trac: http://trac.enlightenment.org/e/changeset/77609 Modified: trunk/evas/src/lib/canvas/evas_object_image.c Modified: trunk/evas/src/lib/canvas/evas_object_image.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_image.c 2012-10-09 03:02:22 UTC (rev 77608) +++ trunk/evas/src/lib/canvas/evas_object_image.c 2012-10-09 06:02:05 UTC (rev 77609) @@ -753,7 +753,7 @@ _image_border_scale_get(Eo *eo_obj EINA_UNUSED, void *_pd, va_list *list) { const Evas_Object_Image *o = _pd; - double *scale = va_arg(list, double *); + double *scale = va_arg(*list, double *); if (scale) *scale = o->cur.border.scale; } |
From: Enlightenment S. <no-...@en...> - 2012-10-23 07:25:48
|
Log: Evas textgrid: Fixed compilation warning. Author: tasn Date: 2012-10-23 00:25:29 -0700 (Tue, 23 Oct 2012) New Revision: 78360 Trac: http://trac.enlightenment.org/e/changeset/78360 Modified: trunk/evas/src/lib/canvas/evas_object_textgrid.c Modified: trunk/evas/src/lib/canvas/evas_object_textgrid.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textgrid.c 2012-10-23 06:30:48 UTC (rev 78359) +++ trunk/evas/src/lib/canvas/evas_object_textgrid.c 2012-10-23 07:25:29 UTC (rev 78360) @@ -323,7 +323,7 @@ { if (props->info->refcount == 1) eina_array_push(&o->glyphs_cleanup, - (void *)((unsigned long)props_index)); + (void *)((uintptr_t)props_index)); else evas_common_text_props_content_unref(props); } |
From: Enlightenment S. <no-...@en...> - 2012-10-29 22:51:35
|
Log: Evas textblock: Fixed an issue with textblock init in some cases. Author: tasn Date: 2012-10-29 15:51:27 -0700 (Mon, 29 Oct 2012) New Revision: 78628 Trac: http://trac.enlightenment.org/e/changeset/78628 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-10-29 22:04:21 UTC (rev 78627) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-10-29 22:51:27 UTC (rev 78628) @@ -9530,6 +9530,7 @@ obj->type = o_type; o->cursor->obj = eo_obj; + o->cursor->node = o->text_nodes = _evas_textblock_node_text_new(); evas_object_textblock_text_markup_set(eo_obj, ""); o->legacy_newline = EINA_TRUE; |
From: Enlightenment S. <no-...@en...> - 2012-10-29 23:01:18
|
Log: Evas textblock: This time really fix the init. Author: tasn Date: 2012-10-29 16:01:11 -0700 (Mon, 29 Oct 2012) New Revision: 78629 Trac: http://trac.enlightenment.org/e/changeset/78629 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-10-29 22:51:27 UTC (rev 78628) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-10-29 23:01:11 UTC (rev 78629) @@ -9531,7 +9531,6 @@ o->cursor->obj = eo_obj; o->cursor->node = o->text_nodes = _evas_textblock_node_text_new(); - evas_object_textblock_text_markup_set(eo_obj, ""); o->legacy_newline = EINA_TRUE; evas_object_event_callback_priority_add(eo_obj, EVAS_CALLBACK_RESIZE, -1000, |
From: Enlightenment S. <no-...@en...> - 2012-10-30 11:54:10
|
Log: Evas textblock: Fixed more tb init issues. Author: tasn Date: 2012-10-30 04:53:58 -0700 (Tue, 30 Oct 2012) New Revision: 78644 Trac: http://trac.enlightenment.org/e/changeset/78644 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-10-30 11:44:54 UTC (rev 78643) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2012-10-30 11:53:58 UTC (rev 78644) @@ -510,6 +510,7 @@ static void evas_object_textblock_free(Evas_Object *eo_obj); static void evas_object_textblock_render_pre(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj); static void evas_object_textblock_render_post(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj); +static Evas_Object_Textblock_Node_Text *_evas_textblock_node_text_new(void); static unsigned int evas_object_textblock_id_get(Evas_Object *eo_obj); static unsigned int evas_object_textblock_visual_id_get(Evas_Object *eo_obj); @@ -682,6 +683,11 @@ o->format_nodes = _NODE_FORMAT(eina_inlist_remove(EINA_INLIST_GET(o->format_nodes), EINA_INLIST_GET(n))); _evas_textblock_node_format_free(o, n); } + + o->cursor->node = _evas_textblock_node_text_new(); + o->text_nodes = _NODE_TEXT(eina_inlist_append( + EINA_INLIST_GET(o->text_nodes), + EINA_INLIST_GET(o->cursor->node))); } /** @@ -5180,7 +5186,6 @@ } evas_textblock_cursor_paragraph_first(o->cursor); - evas_textblock_cursor_text_append(o->cursor, ""); evas_object_textblock_text_markup_prepend(o->cursor, text); /* Point all the cursors to the starrt */ @@ -9530,7 +9535,7 @@ obj->type = o_type; o->cursor->obj = eo_obj; - o->cursor->node = o->text_nodes = _evas_textblock_node_text_new(); + evas_object_textblock_text_markup_set(eo_obj, ""); o->legacy_newline = EINA_TRUE; evas_object_event_callback_priority_add(eo_obj, EVAS_CALLBACK_RESIZE, -1000, |