forked from enlightenment/efl
evas: move all image object related function to use the engine instead of the output.
This commit is contained in:
parent
14f1a0bde7
commit
1d57cb2627
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
//------------------------------------------------//
|
||||
|
|
Loading…
Reference in New Issue