evas: add a way to figure out the evas class that should be the real parent for all legacy object.

This commit is contained in:
Cedric Bail 2018-05-08 16:56:51 -07:00 committed by Cedric BAIL
parent f29e1db94b
commit b482107a19
2 changed files with 11 additions and 0 deletions

View File

@ -62,6 +62,7 @@ evas_object_size_hint_combined_min_get(const Eo *obj, int *w, int *h)
}
/* Internal EO APIs */
EAPI Eo *evas_find(const Eo *obj);
EOAPI void efl_canvas_object_legacy_ctor(Eo *obj);
EOAPI void efl_canvas_object_type_set(Eo *obj, const char *type);
EOAPI void efl_canvas_group_add(Eo *obj);

View File

@ -2554,6 +2554,16 @@ _efl_canvas_object_legacy_ctor(Eo *eo_obj, Evas_Object_Protected_Data *obj)
obj->legacy.ctor = EINA_TRUE;
}
EAPI Eo *
evas_find(const Eo *obj)
{
if (efl_isa(obj, EVAS_CANVAS_CLASS))
return (Eo*) obj;
if (efl_isa(obj, EFL_CANVAS_OBJECT_CLASS))
return evas_object_evas_get(obj);
return efl_provider_find(obj, EVAS_CANVAS_CLASS);
}
EOLIAN void
_efl_canvas_object_event_animation_set(Eo *eo_obj,
Evas_Object_Protected_Data *pd,