From: Cedric BAIL Date: Fri, 25 Aug 2017 17:51:10 +0000 (-0700) Subject: evas: move all image object related function to use the engine instead of the output. X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~2976 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d57cb2627a8b10092def3f55e4833e4f8cf8bd5;p=platform%2Fupstream%2Fefl.git evas: move all image object related function to use the engine instead of the output. --- diff --git a/src/lib/evas/canvas/efl_canvas_image.c b/src/lib/evas/canvas/efl_canvas_image.c index a548565..6a42af1 100644 --- a/src/lib/evas/canvas/efl_canvas_image.c +++ b/src/lib/evas/canvas/efl_canvas_image.c @@ -20,7 +20,7 @@ _evas_image_mmap_set(Eo *eo_obj, const Eina_File *f, const char *key) } evas_object_async_block(obj); _evas_image_init_set(f, NULL, key, eo_obj, obj, o, &lo); - o->engine_data = ENFN->image_mmap(ENDT, o->cur->u.f, o->cur->key, &o->load_error, &lo); + o->engine_data = ENFN->image_mmap(ENC, o->cur->u.f, o->cur->key, &o->load_error, &lo); o->buffer_data_set = EINA_FALSE; _evas_image_done_set(eo_obj, obj, o); o->file_size.w = o->cur->image.w; @@ -83,7 +83,7 @@ _evas_image_file_set(Eo *eo_obj, const char *file, const char *key) efl_vpath_file_wait(o->file_obj); file2 = efl_vpath_file_result_get(o->file_obj); } - o->engine_data = ENFN->image_load(ENDT, file2, o->cur->key, &o->load_error, &lo); + o->engine_data = ENFN->image_load(ENC, file2, o->cur->key, &o->load_error, &lo); o->buffer_data_set = EINA_FALSE; _evas_image_done_set(eo_obj, obj, o); o->file_size.w = o->cur->image.w; @@ -156,7 +156,7 @@ _image_preload_internal(Eo *eo_obj, Evas_Image_Data *o, Eina_Bool cancel) if (o->preloading) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } } else @@ -164,7 +164,7 @@ _image_preload_internal(Eo *eo_obj, Evas_Image_Data *o, Eina_Bool cancel) if (!o->preloading) { o->preloading = EINA_TRUE; - ENFN->image_data_preload_request(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_request(ENC, o->engine_data, eo_obj); } } } @@ -449,7 +449,7 @@ _evas_image_load_region_support_get(const Eo *eo_obj) Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); Evas_Image_Data *o = efl_data_scope_get(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS); - return ENFN->image_can_region_get(ENDT, o->engine_data); + return ENFN->image_can_region_get(ENC, o->engine_data); } EOLIAN static Eina_Bool @@ -639,7 +639,7 @@ _image_pixels_set(Evas_Object_Protected_Data *obj, if (ENFN->image_data_maps_get) { - if (ENFN->image_data_maps_get(ENDT, o->engine_data, NULL) > 0) + if (ENFN->image_data_maps_get(ENC, o->engine_data, NULL) > 0) { ERR("can not set pixels when there are open memory maps"); return EINA_FALSE; @@ -666,12 +666,12 @@ _image_pixels_set(Evas_Object_Protected_Data *obj, int iw = 0, ih = 0; Eina_Bool alpha; - ENFN->image_size_get(ENDT, o->engine_data, &iw, &ih); - ics = ENFN->image_colorspace_get(ENDT, o->engine_data); - alpha = ENFN->image_alpha_get(ENDT, o->engine_data); + ENFN->image_size_get(ENC, o->engine_data, &iw, &ih); + ics = ENFN->image_colorspace_get(ENC, o->engine_data); + alpha = ENFN->image_alpha_get(ENC, o->engine_data); if ((w != iw) || (h != ih) || (ics != cspace) || (alpha != o->cur->has_alpha)) { - ENFN->image_free(ENDT, o->engine_data); + ENFN->image_free(ENC, o->engine_data); o->engine_data = NULL; } } @@ -680,13 +680,13 @@ _image_pixels_set(Evas_Object_Protected_Data *obj, { // note: we release all planes at once if (o->engine_data) - ENFN->image_free(ENDT, o->engine_data); - o->engine_data = ENFN->image_new_from_copied_data(ENDT, w, h, NULL, o->cur->has_alpha, cspace); + ENFN->image_free(ENC, o->engine_data); + o->engine_data = ENFN->image_new_from_copied_data(ENC, w, h, NULL, o->cur->has_alpha, cspace); } else { o->buffer_data_set = EINA_TRUE; - o->engine_data = ENFN->image_data_slice_add(ENDT, o->engine_data, + o->engine_data = ENFN->image_data_slice_add(ENC, o->engine_data, slice, copy, w, h, stride, cspace, plane, o->cur->has_alpha); } @@ -701,13 +701,13 @@ _image_pixels_set(Evas_Object_Protected_Data *obj, resized = EINA_TRUE; if (ENFN->image_scale_hint_set) - ENFN->image_scale_hint_set(ENDT, o->engine_data, o->scale_hint); + ENFN->image_scale_hint_set(ENC, o->engine_data, o->scale_hint); if (ENFN->image_content_hint_set) - ENFN->image_content_hint_set(ENDT, o->engine_data, o->content_hint); + ENFN->image_content_hint_set(ENC, o->engine_data, o->content_hint); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &int_stride); + ENFN->image_stride_get(ENC, o->engine_data, &int_stride); if (resized || o->cur->u.file || o->cur->key || (o->cur->image.stride != int_stride) || (cspace != o->cur->cspace)) @@ -775,7 +775,7 @@ _efl_canvas_image_efl_gfx_buffer_buffer_managed_get(Eo *eo_obj, void *_pd EINA_U if (!o->buffer_data_set || !o->engine_data || !ENFN->image_data_direct_get) return EINA_FALSE; - return ENFN->image_data_direct_get(ENDT, o->engine_data, plane, slice, &cspace, EINA_FALSE); + return ENFN->image_data_direct_get(ENC, o->engine_data, plane, slice, &cspace, EINA_FALSE); } EOLIAN static Eina_Bool @@ -800,7 +800,7 @@ _efl_canvas_image_efl_gfx_buffer_buffer_map(Eo *eo_obj, void *_pd EINA_UNUSED, goto end; // not implemented if (o->engine_data) - ENFN->image_size_get(ENDT, o->engine_data, &width, &height); + ENFN->image_size_get(ENC, o->engine_data, &width, &height); if (!o->engine_data || !width || !height) { @@ -820,7 +820,7 @@ _efl_canvas_image_efl_gfx_buffer_buffer_map(Eo *eo_obj, void *_pd EINA_UNUSED, goto end; } - if (ENFN->image_data_map(ENDT, &o->engine_data, slice, &s, x, y, w, h, cspace, mode, plane)) + if (ENFN->image_data_map(ENC, &o->engine_data, slice, &s, x, y, w, h, cspace, mode, plane)) { DBG("map(%p, %d,%d %dx%d plane:%d) -> " EINA_SLICE_FMT, eo_obj, x, y, w, h, plane, EINA_SLICE_PRINT(*slice)); @@ -843,7 +843,7 @@ _efl_canvas_image_efl_gfx_buffer_buffer_unmap(Eo *eo_obj, void *_pd EINA_UNUSED, if (!slice || !ENFN->image_data_unmap || !o->engine_data) return EINA_FALSE; - if (!ENFN->image_data_unmap(ENDT, o->engine_data, slice)) + if (!ENFN->image_data_unmap(ENC, o->engine_data, slice)) return EINA_FALSE; return EINA_TRUE; diff --git a/src/lib/evas/canvas/efl_canvas_proxy.c b/src/lib/evas/canvas/efl_canvas_proxy.c index 47e32e9..19773af 100644 --- a/src/lib/evas/canvas/efl_canvas_proxy.c +++ b/src/lib/evas/canvas/efl_canvas_proxy.c @@ -295,7 +295,7 @@ _efl_canvas_proxy_efl_gfx_buffer_buffer_map(Eo *eo_obj, void *_pd EINA_UNUSED, image = _proxy_image_get(o); if (image) - ENFN->image_size_get(ENDT, image, &width, &height); + ENFN->image_size_get(ENC, image, &width, &height); if (!image || !width || !height) { @@ -315,7 +315,7 @@ _efl_canvas_proxy_efl_gfx_buffer_buffer_map(Eo *eo_obj, void *_pd EINA_UNUSED, goto end; } - if (ENFN->image_data_map(ENDT, &o->engine_data, slice, &s, x, y, w, h, cspace, mode, plane)) + if (ENFN->image_data_map(ENC, &o->engine_data, slice, &s, x, y, w, h, cspace, mode, plane)) { DBG("map(%p, %d,%d %dx%d plane:%d) -> " EINA_SLICE_FMT, eo_obj, x, y, w, h, plane, EINA_SLICE_PRINT(*slice)); @@ -338,7 +338,7 @@ _efl_canvas_proxy_efl_gfx_buffer_buffer_unmap(Eo *eo_obj, void *_pd EINA_UNUSED, if (!slice || !ENFN->image_data_unmap || !o->engine_data) return EINA_FALSE; - if (!ENFN->image_data_unmap(ENDT, o->engine_data, slice)) + if (!ENFN->image_data_unmap(ENC, o->engine_data, slice)) return EINA_FALSE; return EINA_TRUE; diff --git a/src/lib/evas/canvas/efl_canvas_scene3d.c b/src/lib/evas/canvas/efl_canvas_scene3d.c index 8c4ce8f..2601940 100644 --- a/src/lib/evas/canvas/efl_canvas_scene3d.c +++ b/src/lib/evas/canvas/efl_canvas_scene3d.c @@ -14,7 +14,7 @@ _efl_canvas_scene3d_scene3d_set(Eo *eo_obj, void *pd EINA_UNUSED, Evas_Canvas3D_ evas_object_async_block(obj); _evas_image_init_set(NULL, NULL, NULL, eo_obj, obj, o, &lo); - o->engine_data = ENFN->image_load(ENDT, o->cur->u.file, o->cur->key, &o->load_error, &lo); + o->engine_data = ENFN->image_load(ENC, o->cur->u.file, o->cur->key, &o->load_error, &lo); _evas_image_done_set(eo_obj, obj, o); if (scene) _evas_image_3d_set(eo_obj, scene); diff --git a/src/lib/evas/canvas/efl_canvas_surface_tbm.c b/src/lib/evas/canvas/efl_canvas_surface_tbm.c index 6ef23d6..33ed98e 100644 --- a/src/lib/evas/canvas/efl_canvas_surface_tbm.c +++ b/src/lib/evas/canvas/efl_canvas_surface_tbm.c @@ -16,7 +16,7 @@ _efl_canvas_surface_tbm_efl_object_constructor(Eo *eo, Efl_Canvas_Surface_Tbm_Da obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS); if (!obj) return NULL; - if (!ENFN->image_native_init(ENDT, EVAS_NATIVE_SURFACE_TBM)) + if (!ENFN->image_native_init(ENC, EVAS_NATIVE_SURFACE_TBM)) { ERR("TBM is not supported on this platform"); return NULL; @@ -34,7 +34,7 @@ _efl_canvas_surface_tbm_efl_object_destructor(Eo *eo, Efl_Canvas_Surface_Tbm_Dat obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS); - ENFN->image_native_shutdown(ENDT, EVAS_NATIVE_SURFACE_TBM); + ENFN->image_native_shutdown(ENC, EVAS_NATIVE_SURFACE_TBM); efl_data_unref(eo, pd->base); efl_destructor(eo); } diff --git a/src/lib/evas/canvas/efl_canvas_surface_wayland.c b/src/lib/evas/canvas/efl_canvas_surface_wayland.c index 040a874..8e4e476 100644 --- a/src/lib/evas/canvas/efl_canvas_surface_wayland.c +++ b/src/lib/evas/canvas/efl_canvas_surface_wayland.c @@ -16,7 +16,7 @@ _efl_canvas_surface_wayland_efl_object_constructor(Eo *eo, Efl_Canvas_Surface_Wa obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS); if (!obj) return NULL; - if (!ENFN->image_native_init(ENDT, EVAS_NATIVE_SURFACE_WL)) + if (!ENFN->image_native_init(ENC, EVAS_NATIVE_SURFACE_WL)) { ERR("Wayland surfaces are not supported on this platform"); return NULL; @@ -34,7 +34,7 @@ _efl_canvas_surface_wayland_efl_object_destructor(Eo *eo, Efl_Canvas_Surface_Way obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS); - ENFN->image_native_shutdown(ENDT, EVAS_NATIVE_SURFACE_WL); + ENFN->image_native_shutdown(ENC, EVAS_NATIVE_SURFACE_WL); efl_data_unref(eo, pd->base); efl_destructor(eo); } diff --git a/src/lib/evas/canvas/efl_canvas_surface_x11.c b/src/lib/evas/canvas/efl_canvas_surface_x11.c index 36a5f5f..bb56e8c 100644 --- a/src/lib/evas/canvas/efl_canvas_surface_x11.c +++ b/src/lib/evas/canvas/efl_canvas_surface_x11.c @@ -17,7 +17,7 @@ _efl_canvas_surface_x11_efl_object_constructor(Eo *eo, Efl_Canvas_Surface_X11_Da obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS); if (!obj) return NULL; - if (!ENFN->image_native_init(ENDT, EVAS_NATIVE_SURFACE_X11)) + if (!ENFN->image_native_init(ENC, EVAS_NATIVE_SURFACE_X11)) { ERR("X11 is not supported on this platform"); return NULL; @@ -36,7 +36,7 @@ _efl_canvas_surface_x11_efl_object_destructor(Eo *eo, Efl_Canvas_Surface_X11_Dat obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS); - ENFN->image_native_shutdown(ENDT, EVAS_NATIVE_SURFACE_X11); + ENFN->image_native_shutdown(ENC, EVAS_NATIVE_SURFACE_X11); efl_data_unref(eo, pd->base); efl_destructor(eo); } diff --git a/src/lib/evas/canvas/evas_image_legacy.c b/src/lib/evas/canvas/evas_image_legacy.c index dd6e579..9ac9740 100644 --- a/src/lib/evas/canvas/evas_image_legacy.c +++ b/src/lib/evas/canvas/evas_image_legacy.c @@ -580,11 +580,11 @@ evas_object_image_data_set(Eo *eo_obj, void *data) if (o->engine_data) { - o->engine_data = ENFN->image_data_put(ENDT, o->engine_data, data); + o->engine_data = ENFN->image_data_put(ENC, o->engine_data, data); } else { - o->engine_data = ENFN->image_new_from_data(ENDT, + o->engine_data = ENFN->image_new_from_data(ENC, o->cur->image.w, o->cur->image.h, data, @@ -596,13 +596,13 @@ evas_object_image_data_set(Eo *eo_obj, void *data) int stride = 0; if (ENFN->image_scale_hint_set) - ENFN->image_scale_hint_set(ENDT, o->engine_data, o->scale_hint); + ENFN->image_scale_hint_set(ENC, o->engine_data, o->scale_hint); if (ENFN->image_content_hint_set) - ENFN->image_content_hint_set(ENDT, o->engine_data, o->content_hint); + ENFN->image_content_hint_set(ENC, o->engine_data, o->content_hint); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = o->cur->image.w * 4; @@ -619,7 +619,7 @@ evas_object_image_data_set(Eo *eo_obj, void *data) { if (o->engine_data) { - ENFN->image_free(ENDT, o->engine_data); + ENFN->image_free(ENC, o->engine_data); o->changed = EINA_TRUE; evas_object_change(eo_obj, obj); } @@ -644,7 +644,7 @@ evas_object_image_data_set(Eo *eo_obj, void *data) } /* FIXME - in engine call above if (o->engine_data) - o->engine_data = ENFN->image_alpha_set(ENDT, o->engine_data, o->cur->has_alpha); + o->engine_data = ENFN->image_alpha_set(ENC, o->engine_data, o->cur->has_alpha); */ if (o->pixels_checked_out > 0) o->pixels_checked_out--; if (p_data != o->engine_data) @@ -663,7 +663,7 @@ _image_to_free_del_cb(void *data) obj = efl_data_scope_safe_get(px_entry->object, EFL_CANVAS_OBJECT_CLASS); EINA_SAFETY_ON_NULL_RETURN(obj); - ENFN->image_free(ENDT, px_entry->image); + ENFN->image_free(ENC, px_entry->image); free(px_entry); } @@ -688,10 +688,10 @@ evas_object_image_data_get(const Eo *eo_obj, Eina_Bool for_writing) data = NULL; if (ENFN->image_scale_hint_set) - ENFN->image_scale_hint_set(ENDT, o->engine_data, o->scale_hint); + ENFN->image_scale_hint_set(ENC, o->engine_data, o->scale_hint); if (ENFN->image_content_hint_set) - ENFN->image_content_hint_set(ENDT, o->engine_data, o->content_hint); - pixels = ENFN->image_data_get(ENDT, o->engine_data, for_writing, &data, &o->load_error, &tofree); + ENFN->image_content_hint_set(ENC, o->engine_data, o->content_hint); + pixels = ENFN->image_data_get(ENC, o->engine_data, for_writing, &data, &o->load_error, &tofree); /* if we fail to get engine_data, we have to return NULL */ if (!pixels || !data) goto error; @@ -700,7 +700,7 @@ evas_object_image_data_get(const Eo *eo_obj, Eina_Bool for_writing) { o->engine_data = pixels; if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = o->cur->image.w * 4; @@ -744,7 +744,7 @@ evas_object_image_data_get(const Eo *eo_obj, Eina_Bool for_writing) error: free(px_entry); if (tofree && pixels) - ENFN->image_free(ENDT, pixels); + ENFN->image_free(ENC, pixels); return NULL; } @@ -762,13 +762,13 @@ evas_object_image_data_copy_set(Eo *eo_obj, void *data) if ((o->cur->image.w <= 0) || (o->cur->image.h <= 0)) return; if (o->engine_data) - ENFN->image_free(ENDT, o->engine_data); + ENFN->image_free(ENC, o->engine_data); if (o->file_obj) { efl_del(o->file_obj); o->file_obj = NULL; } - o->engine_data = ENFN->image_new_from_copied_data(ENDT, + o->engine_data = ENFN->image_new_from_copied_data(ENC, o->cur->image.w, o->cur->image.h, data, @@ -779,13 +779,13 @@ evas_object_image_data_copy_set(Eo *eo_obj, void *data) int stride = 0; o->engine_data = - ENFN->image_alpha_set(ENDT, o->engine_data, o->cur->has_alpha); + ENFN->image_alpha_set(ENC, o->engine_data, o->cur->has_alpha); if (ENFN->image_scale_hint_set) - ENFN->image_scale_hint_set(ENDT, o->engine_data, o->scale_hint); + ENFN->image_scale_hint_set(ENC, o->engine_data, o->scale_hint); if (ENFN->image_content_hint_set) - ENFN->image_content_hint_set(ENDT, o->engine_data, o->content_hint); + ENFN->image_content_hint_set(ENC, o->engine_data, o->content_hint); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = o->cur->image.w * 4; @@ -830,19 +830,19 @@ evas_object_image_size_set(Evas_Object *eo_obj, int w, int h) EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); if (o->engine_data) - o->engine_data = ENFN->image_size_set(ENDT, o->engine_data, w, h); + o->engine_data = ENFN->image_size_set(ENC, o->engine_data, w, h); else o->engine_data = ENFN->image_new_from_copied_data - (ENDT, w, h, NULL, o->cur->has_alpha, o->cur->cspace); + (ENC, w, h, NULL, o->cur->has_alpha, o->cur->cspace); if (o->engine_data) { if (ENFN->image_scale_hint_set) - ENFN->image_scale_hint_set(ENDT, o->engine_data, o->scale_hint); + ENFN->image_scale_hint_set(ENC, o->engine_data, o->scale_hint); if (ENFN->image_content_hint_set) - ENFN->image_content_hint_set(ENDT, o->engine_data, o->content_hint); + ENFN->image_content_hint_set(ENC, o->engine_data, o->content_hint); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = w * 4; } @@ -854,7 +854,7 @@ evas_object_image_size_set(Evas_Object *eo_obj, int w, int h) /* FIXME - in engine call above if (o->engine_data) - o->engine_data = ENFN->image_alpha_set(ENDT, o->engine_data, o->cur->has_alpha); + o->engine_data = ENFN->image_alpha_set(ENC, o->engine_data, o->cur->has_alpha); */ EINA_COW_WRITE_BEGIN(evas_object_image_state_cow, o->prev, Evas_Object_Image_State, prev_write) EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(cur_write, prev_write); @@ -885,7 +885,7 @@ evas_object_image_colorspace_set(Evas_Object *eo_obj, Evas_Colorspace cspace) EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); if (o->engine_data) - ENFN->image_colorspace_set(ENDT, o->engine_data, cspace); + ENFN->image_colorspace_set(ENC, o->engine_data, cspace); } /* old video surfaces */ @@ -1086,17 +1086,17 @@ evas_object_image_data_convert(Evas_Object *eo_obj, Evas_Colorspace to_cspace) if ((o->preloading) && (o->engine_data)) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } if (!o->engine_data) return NULL; if (o->video_surface) o->pixels->video.update_pixels(o->pixels->video.data, eo_obj, &o->pixels->video); if (o->cur->cspace == to_cspace) return NULL; data = NULL; - engine_data = ENFN->image_data_get(ENDT, o->engine_data, 0, &data, &o->load_error, NULL); + engine_data = ENFN->image_data_get(ENC, o->engine_data, 0, &data, &o->load_error, NULL); result = _evas_image_data_convert_internal(o, data, to_cspace); if (engine_data) - o->engine_data = ENFN->image_data_put(ENDT, engine_data, data); + o->engine_data = ENFN->image_data_put(ENC, engine_data, data); return result; } @@ -1115,12 +1115,12 @@ evas_object_image_reload(Evas_Object *eo_obj) if ((o->preloading) && (o->engine_data)) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } if ((!o->cur->u.file) || (o->pixels_checked_out > 0)) return; if (o->engine_data) - o->engine_data = ENFN->image_dirty_region(ENDT, o->engine_data, 0, 0, o->cur->image.w, o->cur->image.h); + o->engine_data = ENFN->image_dirty_region(ENC, o->engine_data, 0, 0, o->cur->image.w, o->cur->image.h); o->written = EINA_FALSE; _evas_image_unload(eo_obj, obj, 1); evas_object_inform_call_image_unloaded(eo_obj); @@ -1168,7 +1168,7 @@ evas_object_image_pixels_import(Evas_Object *eo_obj, Evas_Pixel_Import_Source *p DATA32 *image_pixels = NULL; o->engine_data = - ENFN->image_data_get(ENDT, + ENFN->image_data_get(ENC, o->engine_data, 1, &image_pixels, @@ -1177,10 +1177,10 @@ evas_object_image_pixels_import(Evas_Object *eo_obj, Evas_Pixel_Import_Source *p /* memcpy(image_pixels, pixels->rows, o->cur->image.w * o->cur->image.h * 4);*/ if (o->engine_data) o->engine_data = - ENFN->image_data_put(ENDT, o->engine_data, image_pixels); + ENFN->image_data_put(ENC, o->engine_data, image_pixels); if (o->engine_data) o->engine_data = - ENFN->image_alpha_set(ENDT, o->engine_data, o->cur->has_alpha); + ENFN->image_alpha_set(ENC, o->engine_data, o->cur->has_alpha); o->changed = EINA_TRUE; evas_object_change(eo_obj, obj); } @@ -1193,13 +1193,13 @@ evas_object_image_pixels_import(Evas_Object *eo_obj, Evas_Pixel_Import_Source *p { DATA32 *image_pixels = NULL; - o->engine_data = ENFN->image_data_get(ENDT, o->engine_data, 1, &image_pixels,&o->load_error, NULL); + o->engine_data = ENFN->image_data_get(ENC, o->engine_data, 1, &image_pixels,&o->load_error, NULL); if (image_pixels) evas_common_convert_yuv_422p_601_rgba((DATA8 **) pixels->rows, (DATA8 *) image_pixels, o->cur->image.w, o->cur->image.h); if (o->engine_data) - o->engine_data = ENFN->image_data_put(ENDT, o->engine_data, image_pixels); + o->engine_data = ENFN->image_data_put(ENC, o->engine_data, image_pixels); if (o->engine_data) - o->engine_data = ENFN->image_alpha_set(ENDT, o->engine_data, o->cur->has_alpha); + o->engine_data = ENFN->image_alpha_set(ENC, o->engine_data, o->cur->has_alpha); o->changed = EINA_TRUE; evas_object_change(eo_obj, obj); } diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c index 043133a..84b535c 100644 --- a/src/lib/evas/canvas/evas_main.c +++ b/src/lib/evas/canvas/evas_main.c @@ -888,7 +888,7 @@ _image_data_unset(Evas_Object_Protected_Data *obj, Eina_List **list) data->engine_data = NULL;\ } CHECK(EFL_CANVAS_IMAGE_INTERNAL_CLASS, Evas_Image_Data, - ENFN->image_free(ENDT, data->engine_data)) + ENFN->image_free(ENC, data->engine_data)) else CHECK(EVAS_VG_CLASS, Evas_VG_Data, obj->layer->evas->engine.func->ector_free(data->engine_data)) else CHECK(EFL_CANVAS_POLYGON_CLASS, Efl_Canvas_Polygon_Data, diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index 47128cb..ba78359 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -122,7 +122,7 @@ evas_object_image_render_prepare(Evas_Object *eo_obj EINA_UNUSED, Evas_Object_Pr // if image data not loaded or in texture then upload if ((o->cur->u.file) || (o->written) || (o->cur->frame != 0)) { - if (o->engine_data) ENFN->image_prepare(ENDT, o->engine_data); + if (o->engine_data) ENFN->image_prepare(ENC, o->engine_data); } #endif #if 0 @@ -138,7 +138,7 @@ evas_object_image_render_prepare(Evas_Object *eo_obj EINA_UNUSED, Evas_Object_Pr if (!o->engine_data_prep) { prep = ENFN->image_surface_noscale_new - (ENDT, obj->cur->geometry.w, obj->cur->geometry.h, + (ENC, obj->cur->geometry.w, obj->cur->geometry.h, o->cur->has_alpha); ctx = ENFN->context_new(ENDT); ENFN->context_clip_set(ENDT, ctx, 0, 0, @@ -183,7 +183,7 @@ _evas_image_cleanup(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas_I if ((o->preloading) && (o->engine_data)) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } if (o->cur->source) _evas_image_proxy_unset(eo_obj, obj, o); if (o->cur->scene) _evas_image_3d_unset(eo_obj, obj, o); @@ -242,7 +242,7 @@ _efl_canvas_image_internal_efl_object_constructor(Eo *eo_obj, Evas_Image_Data *o o->prev = eina_cow_alloc(evas_object_image_state_cow); o->proxy_src_clip = EINA_TRUE; - cspace = ENFN->image_colorspace_get(ENDT, o->engine_data); + cspace = ENFN->image_colorspace_get(ENC, o->engine_data); if (cspace != o->cur->cspace) { EINA_COW_IMAGE_STATE_WRITE_BEGIN(o, state_write) @@ -311,9 +311,9 @@ _evas_image_init_set(const Eina_File *f, const char *file, const char *key, if (o->preloading) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } - ENFN->image_free(ENDT, o->engine_data); + ENFN->image_free(ENC, o->engine_data); } if (o->file_obj) { @@ -353,17 +353,17 @@ _evas_image_done_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Dat int stride; Evas_Image_Orient orient; - ENFN->image_size_get(ENDT, o->engine_data, &w, &h); + ENFN->image_size_get(ENC, o->engine_data, &w, &h); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = w * 4; - orient = ENFN->image_orient_get(ENDT, o->engine_data); + orient = ENFN->image_orient_get(ENC, o->engine_data); EINA_COW_IMAGE_STATE_WRITE_BEGIN(o, state_write) { - state_write->has_alpha = ENFN->image_alpha_get(ENDT, o->engine_data); - state_write->cspace = ENFN->image_colorspace_get(ENDT, o->engine_data); + state_write->has_alpha = ENFN->image_alpha_get(ENC, o->engine_data); + state_write->cspace = ENFN->image_colorspace_get(ENC, o->engine_data); if ((o->cur->image.w != w) || (o->cur->image.h != h)) resize_call = EINA_TRUE; @@ -414,20 +414,20 @@ _evas_image_orientation_set(Eo *eo_obj, Evas_Image_Data *o, Evas_Image_Orient or if ((o->preloading) && (o->engine_data)) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } if (o->engine_data) { int stride = 0; - o->engine_data = ENFN->image_orient_set(ENDT, o->engine_data, orient); + o->engine_data = ENFN->image_orient_set(ENC, o->engine_data, orient); if (o->engine_data) { - ENFN->image_size_get(ENDT, o->engine_data, &iw, &ih); + ENFN->image_size_get(ENC, o->engine_data, &iw, &ih); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = iw * 4; @@ -810,7 +810,7 @@ _efl_canvas_image_internal_efl_gfx_buffer_alpha_set(Eo *eo_obj, Evas_Image_Data if ((o->preloading) && (o->engine_data)) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } has_alpha = !!has_alpha; @@ -828,13 +828,13 @@ _efl_canvas_image_internal_efl_gfx_buffer_alpha_set(Eo *eo_obj, Evas_Image_Data { int stride = 0; - o->engine_data = ENFN->image_alpha_set(ENDT, o->engine_data, o->cur->has_alpha); + o->engine_data = ENFN->image_alpha_set(ENC, o->engine_data, o->cur->has_alpha); if (ENFN->image_scale_hint_set) - ENFN->image_scale_hint_set(ENDT, o->engine_data, o->scale_hint); + ENFN->image_scale_hint_set(ENC, o->engine_data, o->scale_hint); if (ENFN->image_content_hint_set) - ENFN->image_content_hint_set(ENDT, o->engine_data, o->content_hint); + ENFN->image_content_hint_set(ENC, o->engine_data, o->content_hint); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = o->cur->image.w * 4; @@ -911,7 +911,7 @@ _efl_canvas_image_internal_efl_file_save(const Eo *eo_obj, Evas_Image_Data *o, c &imagew, &imageh, &uvw, &uvh, EINA_TRUE, EINA_TRUE); if (!pixels) goto no_pixels; - cspace = ENFN->image_file_colorspace_get(ENDT, pixels); + cspace = ENFN->image_file_colorspace_get(ENC, pixels); want_cspace = cspace; if (flags) @@ -945,7 +945,7 @@ _efl_canvas_image_internal_efl_file_save(const Eo *eo_obj, Evas_Image_Data *o, c want_cspace = EVAS_COLORSPACE_ETC1; else if (!strcmp(encoding, "etc2")) { - if (!ENFN->image_alpha_get(ENDT, pixels)) + if (!ENFN->image_alpha_get(ENC, pixels)) want_cspace = EVAS_COLORSPACE_RGB8_ETC2; else want_cspace = EVAS_COLORSPACE_RGBA8_ETC2_EAC; @@ -961,7 +961,7 @@ _efl_canvas_image_internal_efl_file_save(const Eo *eo_obj, Evas_Image_Data *o, c Evas_Colorspace cs; Eina_Slice sl; - ok = ENFN->image_data_direct_get(ENDT, pixels, 0, &sl, &cs, EINA_TRUE); + ok = ENFN->image_data_direct_get(ENC, pixels, 0, &sl, &cs, EINA_TRUE); if (ok && (cs == want_cspace)) data = (DATA32 *)sl.mem; } @@ -981,7 +981,7 @@ _efl_canvas_image_internal_efl_file_save(const Eo *eo_obj, Evas_Image_Data *o, c int stride; cspace = EVAS_COLORSPACE_ARGB8888; - ok = ENFN->image_data_map(ENDT, &pixels, &slice, &stride, 0, 0, imagew, imageh, + ok = ENFN->image_data_map(ENC, &pixels, &slice, &stride, 0, 0, imagew, imageh, cspace, EFL_GFX_BUFFER_ACCESS_MODE_READ, 0); if (!ok || !slice.mem) goto no_pixels; unmap_it = EINA_TRUE; @@ -1003,7 +1003,7 @@ _efl_canvas_image_internal_efl_file_save(const Eo *eo_obj, Evas_Image_Data *o, c else ok = EINA_FALSE; if (unmap_it) - ENFN->image_data_unmap(ENDT, pixels, &slice); + ENFN->image_data_unmap(ENC, pixels, &slice); free(encoding); if (!ok) ERR("Image save failed."); @@ -1046,7 +1046,7 @@ _evas_image_native_surface_set(Eo *eo_obj, Evas_Native_Surface *surf) if ((surf) && ((surf->version < 2) || (surf->version > EVAS_NATIVE_SURFACE_VERSION))) return EINA_FALSE; - o->engine_data = ENFN->image_native_set(ENDT, o->engine_data, surf); + o->engine_data = ENFN->image_native_set(ENC, o->engine_data, surf); if (surf && surf->version > 4) { @@ -1072,7 +1072,7 @@ _evas_image_native_surface_get(const Evas_Object *eo_obj) Evas_Native_Surface *surf = NULL; if (ENFN->image_native_get) - surf = ENFN->image_native_get(ENDT, o->engine_data); + surf = ENFN->image_native_get(ENC, o->engine_data); return surf; } @@ -1089,9 +1089,9 @@ _efl_canvas_image_internal_efl_image_scale_hint_set(Eo *eo_obj, Evas_Image_Data int stride = 0; if (ENFN->image_scale_hint_set) - ENFN->image_scale_hint_set(ENDT, o->engine_data, o->scale_hint); + ENFN->image_scale_hint_set(ENC, o->engine_data, o->scale_hint); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = o->cur->image.w * 4; @@ -1122,9 +1122,9 @@ _efl_canvas_image_internal_efl_image_content_hint_set(Eo *eo_obj, Evas_Image_Dat int stride = 0; if (ENFN->image_content_hint_set) - ENFN->image_content_hint_set(ENDT, o->engine_data, o->content_hint); + ENFN->image_content_hint_set(ENC, o->engine_data, o->content_hint); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = o->cur->image.w * 4; @@ -1243,7 +1243,7 @@ _evas_image_unload(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Eina_Bo if (dirty) { if (o->engine_data) - o->engine_data = ENFN->image_dirty_region(ENDT, o->engine_data, + o->engine_data = ENFN->image_dirty_region(ENC, o->engine_data, 0, 0, o->cur->image.w, o->cur->image.h); } @@ -1252,9 +1252,9 @@ _evas_image_unload(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Eina_Bo if (o->preloading) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } - ENFN->image_free(ENDT, o->engine_data); + ENFN->image_free(ENC, o->engine_data); } o->engine_data = NULL; o->load_error = EVAS_LOAD_ERROR_NONE; @@ -1299,7 +1299,7 @@ _evas_image_load(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas_Imag lo.emile.degree = 0; lo.skip_head = o->skip_head; if (o->cur->mmaped_source) - o->engine_data = ENFN->image_mmap(ENDT, o->cur->u.f, o->cur->key, &o->load_error, &lo); + o->engine_data = ENFN->image_mmap(ENC, o->cur->u.f, o->cur->key, &o->load_error, &lo); else { const char *file2 = o->cur->u.file; @@ -1314,7 +1314,7 @@ _evas_image_load(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas_Imag efl_vpath_file_wait(o->file_obj); file2 = efl_vpath_file_result_get(o->file_obj); } - o->engine_data = ENFN->image_load(ENDT, file2, o->cur->key, &o->load_error, &lo); + o->engine_data = ENFN->image_load(ENC, file2, o->cur->key, &o->load_error, &lo); if ((o->file_obj) && (!efl_vpath_file_keep_get(o->file_obj))) { efl_del(o->file_obj); @@ -1328,16 +1328,16 @@ _evas_image_load(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas_Imag int stride = 0; Eina_Bool resize_call = EINA_FALSE; - ENFN->image_size_get(ENDT, o->engine_data, &w, &h); + ENFN->image_size_get(ENC, o->engine_data, &w, &h); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = w * 4; EINA_COW_IMAGE_STATE_WRITE_BEGIN(o, state_write) { - state_write->has_alpha = ENFN->image_alpha_get(ENDT, o->engine_data); - state_write->cspace = ENFN->image_colorspace_get(ENDT, o->engine_data); + state_write->has_alpha = ENFN->image_alpha_get(ENC, o->engine_data); + state_write->cspace = ENFN->image_colorspace_get(ENC, o->engine_data); if ((state_write->image.w != w) || (state_write->image.h != h)) resize_call = EINA_TRUE; state_write->image.w = w; @@ -1364,16 +1364,16 @@ _evas_image_load_post_update(Evas_Object *eo_obj, Evas_Object_Protected_Data *ob int stride = 0; Eina_Bool resize_call = EINA_FALSE; - ENFN->image_size_get(ENDT, o->engine_data, &w, &h); + ENFN->image_size_get(ENC, o->engine_data, &w, &h); if (ENFN->image_stride_get) - ENFN->image_stride_get(ENDT, o->engine_data, &stride); + ENFN->image_stride_get(ENC, o->engine_data, &stride); else stride = w * 4; EINA_COW_IMAGE_STATE_WRITE_BEGIN(o, state_write) { - state_write->has_alpha = ENFN->image_alpha_get(ENDT, o->engine_data); - state_write->cspace = ENFN->image_colorspace_get(ENDT, o->engine_data); + state_write->has_alpha = ENFN->image_alpha_get(ENC, o->engine_data); + state_write->cspace = ENFN->image_colorspace_get(ENC, o->engine_data); if ((state_write->image.w != w) || (state_write->image.h != h)) resize_call = EINA_TRUE; state_write->image.w = w; @@ -1495,18 +1495,18 @@ evas_object_image_free(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj) if (o->cur->scene) _evas_image_3d_unset(eo_obj, obj, o); if (obj->layer && obj->layer->evas) { - if (o->engine_data && ENDT) + if (o->engine_data && ENC) { if (o->preloading) { o->preloading = EINA_FALSE; - ENFN->image_data_preload_cancel(ENDT, o->engine_data, eo_obj); + ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj); } - ENFN->image_free(ENDT, o->engine_data); + ENFN->image_free(ENC, o->engine_data); } - if (o->engine_data_prep && ENDT) + if (o->engine_data_prep && ENC) { - ENFN->image_free(ENDT, o->engine_data_prep); + ENFN->image_free(ENC, o->engine_data_prep); } if (o->video_surface) { @@ -1880,7 +1880,7 @@ _evas_object_image_can_use_plane(Evas_Object_Protected_Data *obj) if (!ENFN->image_native_get) return EINA_FALSE; - ns = ENFN->image_native_get(ENDT, o->engine_data); + ns = ENFN->image_native_get(ENC, o->engine_data); if (!ns) return EINA_FALSE; o->plane = ENFN->image_plane_assign(ENDT, o->engine_data, @@ -1944,7 +1944,7 @@ evas_object_image_render(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, v /* Draw a bright red rectangle where the object replaced by * a hardware plane would have been. */ - ns = ENFN->image_native_get(ENDT, o->engine_data); + ns = ENFN->image_native_get(ENC, o->engine_data); if (ns && ns->type == EVAS_NATIVE_SURFACE_WL_DMABUF) { ENFN->context_color_set(output, context, 255, 0, 0, 255); @@ -2615,7 +2615,7 @@ evas_object_image_render_pre(Evas_Object *eo_obj, { Evas_Coord idw, idh, idx, idy; int x, y, w, h; - e->engine.func->image_dirty_region(ENDT, o->engine_data, rr->x, rr->y, rr->w, rr->h); + e->engine.func->image_dirty_region(ENC, o->engine_data, rr->x, rr->y, rr->w, rr->h); idx = evas_object_image_figure_x_fill(eo_obj, obj, o->cur->fill.x, o->cur->fill.w, &idw); idy = evas_object_image_figure_y_fill(eo_obj, obj, o->cur->fill.y, o->cur->fill.h, &idh); @@ -2735,7 +2735,7 @@ evas_object_image_render_pre(Evas_Object *eo_obj, { Eina_Rectangle r; - e->engine.func->image_dirty_region(ENDT, o->engine_data, rr->x, rr->y, rr->w, rr->h); + e->engine.func->image_dirty_region(ENC, o->engine_data, rr->x, rr->y, rr->w, rr->h); r.x = rr->x; r.y = rr->y; r.w = rr->w; @@ -2761,7 +2761,7 @@ evas_object_image_render_pre(Evas_Object *eo_obj, eina_rectangle_free(r); } EINA_COW_PIXEL_WRITE_END(o, pixi_write); - e->engine.func->image_dirty_region(ENDT, o->engine_data, 0, 0, o->cur->image.w, o->cur->image.h); + e->engine.func->image_dirty_region(ENC, o->engine_data, 0, 0, o->cur->image.w, o->cur->image.h); evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj); @@ -2816,7 +2816,7 @@ done: { if (o->engine_data_prep) { - ENFN->image_free(ENDT, o->engine_data_prep); + ENFN->image_free(ENC, o->engine_data_prep); o->engine_data_prep = NULL; } } @@ -3555,7 +3555,7 @@ _evas_object_image_preloading_check(Evas_Object *eo_obj) Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); Evas_Image_Data *o = efl_data_scope_get(eo_obj, MY_CLASS); if (ENFN->image_load_error_get) - o->load_error = ENFN->image_load_error_get(ENDT, o->engine_data); + o->load_error = ENFN->image_load_error_get(ENC, o->engine_data); } Evas_Object * @@ -3662,7 +3662,7 @@ _evas_object_image_surface_get(Evas_Object_Protected_Data *obj, Eina_Bool create if (pd->engine_data) { - ENFN->image_free(ENDT, pd->engine_data); + ENFN->image_free(ENC, pd->engine_data); pd->engine_data = NULL; } @@ -3671,7 +3671,7 @@ _evas_object_image_surface_get(Evas_Object_Protected_Data *obj, Eina_Bool create // FIXME: alpha forced to 1 for now, need to figure out Evas alpha here EINA_COW_IMAGE_STATE_WRITE_BEGIN(pd, state_write) { - pd->engine_data = ENFN->image_map_surface_new(ENDT, + pd->engine_data = ENFN->image_map_surface_new(ENC, obj->cur->geometry.w, obj->cur->geometry.h, 1); diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 631bbb3..8ebd3d9 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -1999,7 +1999,7 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object *eo_obj, EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write) { map_write->surface = ENFN->image_dirty_region - (ENDT, map_write->surface, + (ENC, map_write->surface, 0, 0, map_write->surface_w, map_write->surface_h); map_write->cur.valid_map = EINA_TRUE; @@ -2504,14 +2504,14 @@ evas_render_mask_subrender(Evas_Public_Data *evas, Eina_Bool smooth = evas_object_image_smooth_scale_get(mask->object); void *original = mask->func->engine_data_get(mask->object); void *scaled = ENFN->image_scaled_update - (ENDT, mdata->surface, original, w, h, smooth, EVAS_COLORSPACE_GRY8); + (ENC, mdata->surface, original, w, h, smooth, EVAS_COLORSPACE_GRY8); if (scaled) { done = EINA_TRUE; mdata->surface = scaled; mdata->w = w; mdata->h = h; - mdata->is_alpha = (ENFN->image_colorspace_get(ENDT, scaled) == EVAS_COLORSPACE_GRY8); + mdata->is_alpha = (ENFN->image_colorspace_get(ENC, scaled) == EVAS_COLORSPACE_GRY8); mdata->is_scaled = EINA_TRUE; } eina_evlog("-mask_scaled_update", mask->object, 0.0, NULL); @@ -2618,7 +2618,7 @@ evas_render_mask_subrender(Evas_Public_Data *evas, /* END OF HACK */ } - mdata->surface = ENFN->image_dirty_region(ENDT, mdata->surface, 0, 0, w, h); + mdata->surface = ENFN->image_dirty_region(ENC, mdata->surface, 0, 0, w, h); end: EINA_COW_WRITE_END(evas_object_mask_cow, mask->mask, mdata); diff --git a/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h b/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h index f222469..a78e588 100644 --- a/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h +++ b/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h @@ -21,6 +21,12 @@ typedef void (*Window_GL_Context_Use)(Context_3D *ctx); struct _Render_Engine_GL_Generic { Render_Engine_Software_Generic software; + + struct { + Evas_Object_Image_Pixels_Get_Cb get_pixels; + void *get_pixels_data; + Evas_Object *obj; + } func; }; struct _Render_Output_GL_Generic @@ -33,12 +39,6 @@ struct _Render_Output_GL_Generic Window_GL_Context_New window_gl_context_new; Window_GL_Context_Use window_gl_context_use; - struct { - Evas_Object_Image_Pixels_Get_Cb get_pixels; - void *get_pixels_data; - Evas_Object *obj; - } func; - Context_3D *context_3d; E3D_Renderer *renderer_3d; const EVGL_Interface *evgl_funcs; @@ -92,9 +92,6 @@ evas_render_engine_gl_generic_init(Render_Engine_Software_Generic *engine, re->window_gl_context_new = window_gl_context_new; re->window_gl_context_use = window_gl_context_use; - re->func.get_pixels = NULL; - re->func.get_pixels_data = NULL; - re->func.obj = NULL; re->context_3d = NULL; re->renderer_3d = NULL; re->evgl_funcs = evgl_funcs; @@ -106,15 +103,4 @@ evas_render_engine_gl_generic_init(Render_Engine_Software_Generic *engine, return EINA_TRUE; } -static inline void -evas_render_engine_software_gl_get_pixels_set(Render_Output_GL_Generic *re, - Evas_Object_Image_Pixels_Get_Cb get_pixels, - void *get_pixels_data, - Evas_Object *obj) -{ - re->func.get_pixels = get_pixels; - re->func.get_pixels_data = get_pixels_data; - re->func.obj = obj; -} - #endif diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c index 2fec3e5..bccfc79 100644 --- a/src/modules/evas/engines/gl_generic/evas_engine.c +++ b/src/modules/evas/engines/gl_generic/evas_engine.c @@ -82,6 +82,20 @@ gl_generic_context_find(Render_Engine_GL_Generic *engine) return r; } +static void +gl_generic_window_find(Render_Engine_GL_Generic *engine) +{ + Render_Output_GL_Generic *output; + Eina_List *l; + + EINA_LIST_FOREACH(engine->software.outputs, l, output) + { + if (!output->software.ob) continue; + gl_generic_window_use(output); + break; + } +} + static int eng_gl_image_direct_get(void *data, void *image); static int eng_gl_surface_destroy(void *data, void *surface); static Eina_Bool eng_gl_surface_lock(void *data, void *surface); @@ -212,20 +226,18 @@ eng_polygon_draw(void *engine EINA_UNUSED, void *data, void *context, void *surf static int eng_image_alpha_get(void *engine EINA_UNUSED, void *image) { - Evas_GL_Image *im; + Evas_GL_Image *im = image; - if (!image) return 1; - im = image; + if (!im) return 1; return im->alpha; } static Evas_Colorspace eng_image_colorspace_get(void *engine EINA_UNUSED, void *image) { - Evas_GL_Image *im; + Evas_GL_Image *im = image; - if (!image) return EVAS_COLORSPACE_ARGB8888; - im = image; + if (!im) return EVAS_COLORSPACE_ARGB8888; return im->cs.space; } @@ -242,7 +254,7 @@ eng_image_alpha_set(void *engine, void *image, int has_alpha) im->alpha = has_alpha; return image; } - gl_generic_window_use(engine); + gl_generic_window_find(engine); if ((im->tex) && (im->tex->pt->dyn.img)) { im->alpha = has_alpha; @@ -321,7 +333,7 @@ eng_image_colorspace_set(void *engine, void *image, Evas_Colorspace cspace) if (im->native.data) return; /* FIXME: can move to gl_common */ if (im->cs.space == cspace) return; - gl_generic_window_use(engine); + gl_generic_window_find(engine); evas_gl_common_image_alloc_ensure(im); switch (cspace) { @@ -436,7 +448,7 @@ eng_image_native_set(void *engine, void *image, void *native) unsigned int tex = 0; unsigned int fbo = 0; - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); if (!im) { @@ -469,7 +481,7 @@ eng_image_native_set(void *engine, void *image, void *native) } if ((!ns) && (!im->native.data)) return im; - gl_generic_window_use(engine); + gl_generic_window_find(engine); if (im->native.data) { @@ -553,7 +565,7 @@ eng_image_load(void *engine, const char *file, const char *key, int *error, Evas Evas_Engine_GL_Context *gl_context; *error = EVAS_LOAD_ERROR_NONE; - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); return evas_gl_common_image_load(gl_context, file, key, lo, error); } @@ -563,7 +575,7 @@ eng_image_mmap(void *engine, Eina_File *f, const char *key, int *error, Evas_Ima Evas_Engine_GL_Context *gl_context; *error = EVAS_LOAD_ERROR_NONE; - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); return evas_gl_common_image_mmap(gl_context, f, key, lo, error); } @@ -572,7 +584,7 @@ eng_image_new_from_data(void *engine, int w, int h, DATA32 *image_data, int alph { Evas_Engine_GL_Context *gl_context; - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); return evas_gl_common_image_new_from_data(gl_context, w, h, image_data, alpha, cspace); } @@ -581,7 +593,7 @@ eng_image_new_from_copied_data(void *engine, int w, int h, DATA32 *image_data, i { Evas_Engine_GL_Context *gl_context; - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); return evas_gl_common_image_new_from_copied_data(gl_context, w, h, image_data, alpha, cspace); } @@ -589,7 +601,7 @@ void eng_image_free(void *engine, void *image) { if (!image) return; - gl_generic_window_use(engine); + gl_generic_window_find(engine); evas_gl_common_image_free(image); } @@ -643,7 +655,7 @@ eng_image_size_set(void *engine, void *image, int w, int h) evas_gl_common_image_native_enable(im); return image; } - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); if ((im->tex) && (im->tex->pt->dyn.img)) { evas_gl_common_texture_free(im->tex, EINA_TRUE); @@ -686,13 +698,13 @@ eng_image_dirty_region(void *engine, void *image, int x, int y, int w, int h) if (!image) return NULL; if (im->native.data) return image; - gl_generic_window_use(engine); + gl_generic_window_find(engine); evas_gl_common_image_dirty(image, x, y, w, h); return image; } static Evas_GL_Image * -_rotate_image_data(Render_Output_GL_Generic *re, Evas_GL_Image *im1) +_rotate_image_data(Render_Engine_GL_Generic *re, Evas_GL_Image *im1) { int alpha; Evas_GL_Image *im2; @@ -700,7 +712,7 @@ _rotate_image_data(Render_Output_GL_Generic *re, Evas_GL_Image *im1) RGBA_Draw_Context *dc; int w, h; - gl_context = gl_generic_context_get(re); + gl_context = gl_generic_context_find(re); w = im1->w; h = im1->h; @@ -774,7 +786,7 @@ eng_image_data_get(void *engine, void *image, int to_write, DATA32 **image_data, goto rotate_image; #ifdef GL_GLES - gl_generic_window_use(engine); + gl_generic_window_find(engine); if ((im->tex) && (im->tex->pt) && (im->tex->pt->dyn.img) && (im->cs.space == EVAS_COLORSPACE_ARGB8888)) @@ -825,7 +837,7 @@ eng_image_data_get(void *engine, void *image, int to_write, DATA32 **image_data, return im; } - gl_generic_window_use(engine); + gl_generic_window_find(engine); #endif /* use glReadPixels for FBOs (assume fbo > 0) */ @@ -983,7 +995,7 @@ eng_image_data_put(void *engine, void *image, DATA32 *image_data) if (!image) return NULL; im = image; if (im->native.data) return image; - gl_generic_window_use(engine); + gl_generic_window_find(engine); evas_gl_common_image_alloc_ensure(im); if ((im->tex) && (im->tex->pt) && (im->tex->pt->dyn.data) @@ -1071,7 +1083,7 @@ eng_image_orient_set(void *engine, void *image, Evas_Image_Orient orient) im = image; if (im->orient == orient) return image; - gl_generic_window_use(engine); + gl_generic_window_find(engine); evas_gl_common_image_update(im->gc, im); @@ -1101,10 +1113,9 @@ eng_image_orient_set(void *engine, void *image, Evas_Image_Orient orient) static Evas_Image_Orient eng_image_orient_get(void *engine EINA_UNUSED, void *image) { - Evas_GL_Image *im; + Evas_GL_Image *im = image; - if (!image) return EVAS_IMAGE_ORIENT_NONE; - im = image; + if (!im) return EVAS_IMAGE_ORIENT_NONE; return im->orient; } @@ -1112,7 +1123,6 @@ static void eng_image_data_preload_request(void *engine EINA_UNUSED, void *image, const Eo *target) { Evas_GL_Image *gim = image; -// Render_Output_GL_Generic *re = data; RGBA_Image *im; if (!gim) return; @@ -1127,19 +1137,6 @@ eng_image_data_preload_request(void *engine EINA_UNUSED, void *image, const Eo * else #endif evas_cache_image_preload_data(&im->cache_entry, target, NULL, NULL, NULL); -/* - if (!gim->tex) - { - Evas_Engine_GL_Context *gl_context; - - gl_context = gl_generic_context_get(engine); - gim->tex = evas_gl_common_texture_new(gl_context, gim->im, EINA_FALSE); - EINA_SAFETY_ON_NULL_RETURN(gim->tex); - gim->tex->im = gim; - im->cache_entry.flags.updated_data = 1; - } - evas_gl_preload_target_register(gim->tex, (Eo*) target); - */ } static void @@ -1164,8 +1161,9 @@ eng_image_data_preload_cancel(void *engine EINA_UNUSED, void *image, const Eo *t } static Eina_Bool -eng_image_draw(void *engine EINA_UNUSED, void *data, void *context, void *surface, void *image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int dst_w, int dst_h, int smooth, Eina_Bool do_async EINA_UNUSED) +eng_image_draw(void *eng, void *data, void *context, void *surface, void *image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int dst_w, int dst_h, int smooth, Eina_Bool do_async EINA_UNUSED) { + Render_Engine_GL_Generic *engine = eng; Evas_Engine_GL_Context *gl_context; Render_Output_GL_Generic *re = data; Evas_GL_Image *im = image; @@ -1175,9 +1173,9 @@ eng_image_draw(void *engine EINA_UNUSED, void *data, void *context, void *surfac n = im->native.data; - gl_context = gl_generic_context_get(data); + gl_context = gl_generic_context_get(re); - if (eng_gl_image_direct_get(data, image)) + if (eng_gl_image_direct_get(re, image)) { void *direct_surface = NULL; @@ -1212,7 +1210,7 @@ eng_image_draw(void *engine EINA_UNUSED, void *data, void *context, void *surfac // Call pixel get function evgl_get_pixels_pre(); - re->func.get_pixels(re->func.get_pixels_data, re->func.obj); + engine->func.get_pixels(engine->func.get_pixels_data, engine->func.obj); evgl_get_pixels_post(); // Call end tile if it's being used @@ -1313,7 +1311,7 @@ eng_image_map_surface_new(void *engine, int w, int h, int alpha) { Evas_Engine_GL_Context *gl_context; - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); return evas_gl_common_image_surface_new(gl_context, w, h, alpha, EINA_FALSE); } @@ -1328,7 +1326,7 @@ eng_image_scaled_update(void *engine EINA_UNUSED, void *scaled, void *image, static void eng_image_content_hint_set(void *engine, void *image, int hint) { - gl_generic_window_use(engine); + gl_generic_window_find(engine); evas_gl_common_image_content_hint_set(image, hint); } @@ -1703,13 +1701,13 @@ eng_gl_surface_direct_renderable_get(void *engine, Evas_Native_Surface *ns, Eina } static void -eng_gl_get_pixels_set(void *engine, void *get_pixels, void *get_pixels_data, void *obj) +eng_gl_get_pixels_set(void *eng, void *get_pixels, void *get_pixels_data, void *obj) { - Render_Output_GL_Generic *re = engine; + Render_Engine_GL_Generic *engine = eng; - re->func.get_pixels = get_pixels; - re->func.get_pixels_data = get_pixels_data; - re->func.obj = (Evas_Object*)obj; + engine->func.get_pixels = get_pixels; + engine->func.get_pixels_data = get_pixels_data; + engine->func.obj = (Evas_Object*)obj; } static void @@ -1929,13 +1927,13 @@ eng_gl_image_direct_get(void *engine EINA_UNUSED, void *image) } static void -eng_gl_image_direct_set(void *engine, void *image, Eina_Bool direct) +eng_gl_image_direct_set(void *eng, void *image, Eina_Bool direct) { - Render_Output_GL_Generic *re = engine; + Render_Engine_GL_Generic *engine = eng; Evas_GL_Image *im = image; if (!im) return; - if (im->native.data && direct && re && re->func.get_pixels) + if (im->native.data && direct && engine->func.get_pixels) im->direct = EINA_TRUE; else im->direct = EINA_FALSE; @@ -2044,6 +2042,7 @@ eng_image_can_region_get(void *engine EINA_UNUSED, void *image) { Evas_GL_Image *gim = image; Image_Entry *im; + if (!gim) return EINA_FALSE; im = (Image_Entry *)gim->im; if (!im) return EINA_FALSE; @@ -2056,7 +2055,7 @@ eng_image_max_size_get(void *engine, int *maxw, int *maxh) { Evas_Engine_GL_Context *gl_context; - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); if (maxw) *maxw = gl_context->shared->info.max_texture_size; if (maxh) *maxh = gl_context->shared->info.max_texture_size; } @@ -2689,7 +2688,7 @@ eng_image_data_map(void *engine, void **image, Eina_Rw_Slice *slice, Evas_Colorspace cspace, Efl_Gfx_Buffer_Access_Mode mode, int plane) { - Render_Output_GL_Generic *re = engine; + Render_Engine_GL_Generic *re = engine; Evas_GL_Image_Data_Map *map = NULL; Evas_GL_Image *glim, *glim2 = NULL; Eina_Bool ok = EINA_FALSE; @@ -3021,7 +3020,7 @@ eng_image_surface_noscale_new(void *engine, int w, int h, int alpha) { Evas_Engine_GL_Context *gl_context; - gl_context = gl_generic_context_get(engine); + gl_context = gl_generic_context_find(engine); return evas_gl_common_image_surface_noscale_new(gl_context, w, h, alpha); } @@ -3038,13 +3037,11 @@ eng_image_surface_noscale_region_get(void *engine EINA_UNUSED, void *image, int *h = im->h; return; } - else - { - *x = 0; - *y = 0; - *w = 0; - *h = 0; - } + + *x = 0; + *y = 0; + *w = 0; + *h = 0; } //------------------------------------------------//