This is necessary for backward compatibility still I am thinking of displaying a warning for this
use case and request people to update there work and drop that feature in the future (In a year
maybe from now). Elementary doesn't need this as it depends on Ecore_Evas.
}
_edje_animators = eina_list_remove(_edje_animators, ed);
eo_do(ed->obj, eo_event_callback_del(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed));
+ ecore_animator_del(ed->animator);
if (ed->pending_actions)
{
Edje_Perspective *persp;
+ Ecore_Animator *animator;
+
const Edje_Signal_Callback_Group *callbacks;
struct {
Eina_Bool update_hints : 1;
Eina_Bool recalc_hints : 1;
Eina_Bool need_map_update : 1;
+ Eina_Bool canvas_animator : 1;
};
struct _Edje_Calc_Params_Map
static double _edje_transition_duration_scale = 0;
static Eina_Bool
+_edje_animator_cb(void *data)
+{
+ _edje_timer_cb(data, NULL, NULL, NULL);
+ return EINA_TRUE;
+}
+
+static Eina_Bool
_edje_emit_aliased(Edje *ed, const char *part, const char *sig, const char *src)
{
char *alias, *aliased;
if (!ed->actions)
{
eo_do(ed->obj, eo_event_callback_del(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed));
+ ecore_animator_del(ed->animator);
+ ed->animator = NULL;
}
}
if (!ed->actions)
{
- eo_do(ed->obj, eo_event_callback_add(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed));
+ if (ed->canvas_animator)
+ eo_do(ed->obj, eo_event_callback_add(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed));
+ else
+ ed->animator = ecore_animator_add(_edje_animator_cb, ed);
}
ed->actions = eina_list_append(ed->actions, runp);
EOLIAN static Eo *
_edje_object_eo_base_constructor(Eo *obj, Edje *ed)
{
+ Eo *parent;
+ Evas *e;
+ void *tmp;
+
ed->base = eo_data_ref(obj, EVAS_SMART_CLIPPED_CLASS);
ed->duration_scale = 1.0;
eo_do(obj, evas_obj_type_set(MY_CLASS_NAME_LEGACY));
_edje_lib_ref();
+ eo_do(obj, parent = eo_parent_get());
+ e = evas_object_evas_get(parent);
+ tmp = ecore_evas_ecore_evas_get(e);
+
+ ed->canvas_animator = !!tmp;
+
return obj;
}