forked from enlightenment/efl
Revert "evas: remove image_load from the engine."
Summary:
This reverts commit 867d826395
.
Depends on D11337
Reviewers: raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11338
This commit is contained in:
parent
be3915cc90
commit
dc14257c96
|
@ -1349,6 +1349,7 @@ struct _Evas_Func
|
|||
void *(*polygon_points_clear) (void *engine, void *polygon);
|
||||
void (*polygon_draw) (void *engine, void *data, void *context, void *surface, void *polygon, int x, int y, Eina_Bool do_async);
|
||||
|
||||
void *(*image_load) (void *engine, const char *file, const char *key, int *error, Evas_Image_Load_Opts *lo);
|
||||
void *(*image_mmap) (void *engine, Eina_File *f, const char *key, int *error, Evas_Image_Load_Opts *lo);
|
||||
void *(*image_new_from_data) (void *engine, int w, int h, DATA32 *image_data, int alpha, Evas_Colorspace cspace);
|
||||
void *(*image_new_from_copied_data) (void *engine, int w, int h, DATA32 *image_data, int alpha, Evas_Colorspace cspace);
|
||||
|
|
|
@ -613,6 +613,16 @@ eng_image_native_get(void *engine EINA_UNUSED, void *image)
|
|||
return n;
|
||||
}
|
||||
|
||||
static void *
|
||||
eng_image_load(void *engine, const char *file, const char *key, int *error, Evas_Image_Load_Opts *lo)
|
||||
{
|
||||
Evas_Engine_GL_Context *gl_context;
|
||||
|
||||
*error = EVAS_LOAD_ERROR_NONE;
|
||||
gl_context = gl_generic_context_find(engine, 1);
|
||||
return evas_gl_common_image_load(gl_context, file, key, lo, error);
|
||||
}
|
||||
|
||||
static void *
|
||||
eng_image_mmap(void *engine, Eina_File *f, const char *key, int *error, Evas_Image_Load_Opts *lo)
|
||||
{
|
||||
|
@ -3204,6 +3214,7 @@ module_open(Evas_Module *em)
|
|||
ORD(polygon_points_clear);
|
||||
ORD(polygon_draw);
|
||||
|
||||
ORD(image_load);
|
||||
ORD(image_mmap);
|
||||
ORD(image_new_from_data);
|
||||
ORD(image_new_from_copied_data);
|
||||
|
|
|
@ -1204,6 +1204,33 @@ eng_image_native_get(void *data EINA_UNUSED, void *image)
|
|||
return n;
|
||||
}
|
||||
|
||||
static void *
|
||||
eng_image_load(void *data EINA_UNUSED, const char *file, const char *key, int *error, Evas_Image_Load_Opts *lo)
|
||||
{
|
||||
*error = EVAS_LOAD_ERROR_NONE;
|
||||
#ifdef EVAS_CSERVE2
|
||||
if (evas_cserve2_use_get())
|
||||
{
|
||||
Image_Entry *ie;
|
||||
ie = evas_cache2_image_open(evas_common_image_cache2_get(),
|
||||
file, key, lo, error);
|
||||
if (ie)
|
||||
{
|
||||
*error = evas_cache2_image_open_wait(ie);
|
||||
if ((*error != EVAS_LOAD_ERROR_NONE) && ie->animated.animated)
|
||||
{
|
||||
evas_cache2_image_close(ie);
|
||||
goto use_local_cache;
|
||||
}
|
||||
}
|
||||
return ie;
|
||||
}
|
||||
use_local_cache:
|
||||
#endif
|
||||
|
||||
return evas_common_load_image_from_file(file, key, lo, error);
|
||||
}
|
||||
|
||||
static void *
|
||||
eng_image_mmap(void *data EINA_UNUSED, Eina_File *f, const char *key, int *error, Evas_Image_Load_Opts *lo)
|
||||
{
|
||||
|
@ -4637,6 +4664,7 @@ static Evas_Func func =
|
|||
eng_polygon_points_clear,
|
||||
eng_polygon_draw,
|
||||
/* image draw funcs */
|
||||
eng_image_load,
|
||||
eng_image_mmap,
|
||||
eng_image_new_from_data,
|
||||
eng_image_new_from_copied_data,
|
||||
|
|
Loading…
Reference in New Issue