evas: remove a fixme by making the engine list dynamic.

SVN revision: 63481
This commit is contained in:
Cedric BAIL 2011-09-19 14:20:18 +00:00
parent aed1ed1666
commit 3171f01b00
4 changed files with 17 additions and 45 deletions

View File

@ -460,50 +460,7 @@ evas_render_method_lookup(const char *name)
EAPI Eina_List *
evas_render_method_list(void)
{
Eina_List *methods = NULL;
/* FIXME: get from modules - this is currently coded-in */
#ifdef BUILD_ENGINE_SOFTWARE_GDI
methods = eina_list_append(methods, "software_gdi");
#endif
#ifdef BUILD_ENGINE_SOFTWARE_DDRAW
methods = eina_list_append(methods, "software_ddraw");
#endif
#ifdef BUILD_ENGINE_SOFTWARE_16_DDRAW
methods = eina_list_append(methods, "software_16_ddraw");
#endif
#ifdef BUILD_ENGINE_DIRECT3D
methods = eina_list_append(methods, "direct3d");
#endif
#ifdef BUILD_ENGINE_SOFTWARE_16_WINCE
methods = eina_list_append(methods, "software_16_wince");
#endif
#ifdef BUILD_ENGINE_SOFTWARE_X11
methods = eina_list_append(methods, "software_x11");
#endif
#ifdef BUILD_ENGINE_SOFTWARE_16_X11
methods = eina_list_append(methods, "software_16_x11");
#endif
#ifdef BUILD_ENGINE_GL_X11
methods = eina_list_append(methods, "gl_x11");
#endif
#ifdef BUILD_ENGINE_DIRECTFB
methods = eina_list_append(methods, "directfb");
#endif
#ifdef BUILD_ENGINE_FB
methods = eina_list_append(methods, "fb");
#endif
#ifdef BUILD_ENGINE_BUFFER
methods = eina_list_append(methods, "buffer");
#endif
#ifdef BUILD_ENGINE_SOFTWARE_WIN32_GDI
methods = eina_list_append(methods, "software_win32_gdi");
#endif
#ifdef BUILD_ENGINE_SOFTWARE_SDL
methods = eina_list_append(methods, "software_sdl");
#endif
return methods;
return evas_module_engine_list();
}
EAPI void

View File

@ -3611,7 +3611,6 @@ evas_object_image_data_convert_internal(Evas_Object_Image *o, void *data, Evas_C
{
void *out = NULL;
fprintf(stderr, "data: %p (%i)\n", data, o->cur.cspace);
if (!data)
return NULL;

View File

@ -289,6 +289,20 @@ evas_module_register(const Evas_Module_Api *module, Evas_Module_Type type)
return EINA_TRUE;
}
Eina_List *
evas_module_engine_list(void)
{
Evas_Module *em;
Eina_List *r = NULL;
Eina_Array_Iterator iterator;
unsigned int i;
EINA_ARRAY_ITER_NEXT(evas_engines, i, em, iterator)
r = eina_list_append(r, em->definition->name);
return r;
}
Eina_Bool
evas_module_unregister(const Evas_Module_Api *module, Evas_Module_Type type)
{

View File

@ -1004,6 +1004,8 @@ void evas_render_object_recalc(Evas_Object *obj);
Eina_Bool evas_map_inside_get(const Evas_Map *m, Evas_Coord x, Evas_Coord y);
Eina_Bool evas_map_coords_get(const Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord *mx, Evas_Coord *my, int grab);
Eina_List *evas_module_engine_list(void);
/****************************************************************************/
/*****************************************/
/********************/