summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaehyun Cho <jae_hyun.cho@samsung.com>2017-06-02 15:31:26 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2017-06-02 16:50:42 +0900
commitb2bb0ba61034516856b5f570f41b75a6b8de2c6c (patch)
treede0ec5c5b18585cd7e92581be4d2231e4d2623f9
parent4b27138f5e8e95dd23a7a26fdbc5f346d6391196 (diff)
downloadefl-devs/jaehyun/animation2.tar.gz
efl_animation: Remove instance functions from animation classesdevs/jaehyun/animation2
-rw-r--r--src/lib/evas/canvas/efl_animation.eo5
-rw-r--r--src/lib/evas/canvas/efl_animation_alpha.c22
-rw-r--r--src/lib/evas/canvas/efl_animation_alpha.eo1
-rw-r--r--src/lib/evas/canvas/efl_animation_group_sequential.c34
-rw-r--r--src/lib/evas/canvas/efl_animation_group_sequential.eo1
-rw-r--r--src/lib/evas/canvas/efl_animation_rotate.c33
-rw-r--r--src/lib/evas/canvas/efl_animation_rotate.eo1
-rw-r--r--src/lib/evas/canvas/efl_animation_scale.c29
-rw-r--r--src/lib/evas/canvas/efl_animation_scale.eo1
-rw-r--r--src/lib/evas/canvas/efl_animation_translate.c38
-rw-r--r--src/lib/evas/canvas/efl_animation_translate.eo1
-rw-r--r--src/lib/evas/canvas/evas_object_main.c127
12 files changed, 241 insertions, 52 deletions
diff --git a/src/lib/evas/canvas/efl_animation.eo b/src/lib/evas/canvas/efl_animation.eo
index 87c87f6dd2..1c8e9f2463 100644
--- a/src/lib/evas/canvas/efl_animation.eo
+++ b/src/lib/evas/canvas/efl_animation.eo
@@ -41,10 +41,15 @@ abstract Efl.Animation (Efl.Object)
[[Duplicate animation]]
return: Efl.Animation; [[Duplicated animation]]
}
+ instance_create {
+ [[Create instance of the animation.]]
+ return: Efl.Animation.Instance; [[Created instance of the animation]]
+ }
}
implements {
Efl.Object.constructor;
Efl.Object.destructor;
@empty .dup;
+ @empty .instance_create;
}
}
diff --git a/src/lib/evas/canvas/efl_animation_alpha.c b/src/lib/evas/canvas/efl_animation_alpha.c
index 1a9a97ab79..c282c054f1 100644
--- a/src/lib/evas/canvas/efl_animation_alpha.c
+++ b/src/lib/evas/canvas/efl_animation_alpha.c
@@ -76,6 +76,28 @@ _efl_animation_alpha_efl_animation_dup(Eo *eo_obj, Evas_Object_Animation_Alpha_D
return animation;
}
+EOLIAN static Efl_Animation_Instance *
+_efl_animation_alpha_efl_animation_instance_create(Eo *eo_obj, Evas_Object_Animation_Alpha_Data *pd)
+{
+ EFL_ANIMATION_ALPHA_CHECK_OR_RETURN(eo_obj, NULL);
+
+ Efl_Animation_Instance_Alpha *instance
+ = efl_add(EFL_ANIMATION_INSTANCE_ALPHA_CLASS, NULL);
+
+ Eo *target = efl_animation_target_get(eo_obj);
+ efl_animation_instance_target_set(instance, target);
+
+ Eina_Bool state_keep = efl_animation_final_state_keep_get(eo_obj);
+ efl_animation_instance_final_state_keep_set(instance, state_keep);
+
+ double duration = efl_animation_duration_get(eo_obj);
+ efl_animation_instance_duration_set(instance, duration);
+
+ efl_animation_instance_alpha_set(instance, pd->from.alpha, pd->to.alpha);
+
+ return instance;
+}
+
EOLIAN static Efl_Object *
_efl_animation_alpha_efl_object_constructor(Eo *eo_obj, Evas_Object_Animation_Alpha_Data *pd)
{
diff --git a/src/lib/evas/canvas/efl_animation_alpha.eo b/src/lib/evas/canvas/efl_animation_alpha.eo
index 235cb7c7e7..faf360395a 100644
--- a/src/lib/evas/canvas/efl_animation_alpha.eo
+++ b/src/lib/evas/canvas/efl_animation_alpha.eo
@@ -21,5 +21,6 @@ class Efl.Animation.Alpha (Efl.Animation)
Efl.Object.constructor;
Efl.Object.destructor;
Efl.Animation.dup;
+ Efl.Animation.instance_create;
}
}
diff --git a/src/lib/evas/canvas/efl_animation_group_sequential.c b/src/lib/evas/canvas/efl_animation_group_sequential.c
index a07ab3ea9d..f78f300b06 100644
--- a/src/lib/evas/canvas/efl_animation_group_sequential.c
+++ b/src/lib/evas/canvas/efl_animation_group_sequential.c
@@ -52,4 +52,38 @@ _efl_animation_group_sequential_efl_animation_dup(Eo *eo_obj, Evas_Object_Animat
return animation;
}
+EOLIAN static Efl_Animation_Instance *
+_efl_animation_group_sequential_efl_animation_instance_create(Eo *eo_obj, Evas_Object_Animation_Group_Sequential_Data *pd)
+{
+ EFL_ANIMATION_GROUP_SEQUENTIAL_CHECK_OR_RETURN(eo_obj, NULL);
+
+ Efl_Animation_Instance_Group_Sequential *instance
+ = efl_add(EFL_ANIMATION_INSTANCE_GROUP_SEQUENTIAL_CLASS, NULL);
+
+ Eo *target = efl_animation_target_get(eo_obj);
+ efl_animation_instance_target_set(instance, target);
+
+ Eina_Bool state_keep = efl_animation_final_state_keep_get(eo_obj);
+ efl_animation_instance_final_state_keep_set(instance, state_keep);
+
+ double duration = efl_animation_duration_get(eo_obj);
+ efl_animation_instance_duration_set(instance, duration);
+
+ Efl_Animation_Instance_Group_Sequential *group_inst
+ = efl_add(EFL_ANIMATION_INSTANCE_GROUP_SEQUENTIAL_CLASS, NULL);
+
+ Eina_List *animations = efl_animation_group_animations_get(eo_obj);
+ Eina_List *l;
+ Efl_Animation *child_anim;
+ Efl_Animation_Instance *child_inst;
+
+ EINA_LIST_FOREACH(animations, l, child_anim)
+ {
+ child_inst = efl_animation_instance_create(child_anim);
+ efl_animation_instance_group_instance_add(group_inst, child_inst);
+ }
+
+ return group_inst;
+}
+
#include "efl_animation_group_sequential.eo.c"
diff --git a/src/lib/evas/canvas/efl_animation_group_sequential.eo b/src/lib/evas/canvas/efl_animation_group_sequential.eo
index e961eb72ce..f609b083bb 100644
--- a/src/lib/evas/canvas/efl_animation_group_sequential.eo
+++ b/src/lib/evas/canvas/efl_animation_group_sequential.eo
@@ -9,5 +9,6 @@ class Efl.Animation.Group.Sequential (Efl.Animation.Group)
}
implements {
Efl.Animation.dup;
+ Efl.Animation.instance_create;
}
}
diff --git a/src/lib/evas/canvas/efl_animation_rotate.c b/src/lib/evas/canvas/efl_animation_rotate.c
index b73ff91243..c9ffe524bd 100644
--- a/src/lib/evas/canvas/efl_animation_rotate.c
+++ b/src/lib/evas/canvas/efl_animation_rotate.c
@@ -156,6 +156,39 @@ _efl_animation_rotate_efl_animation_dup(Eo *eo_obj, Evas_Object_Animation_Rotate
return animation;
}
+EOLIAN static Efl_Animation_Instance *
+_efl_animation_rotate_efl_animation_instance_create(Eo *eo_obj, Evas_Object_Animation_Rotate_Data *pd)
+{
+ EFL_ANIMATION_ROTATE_CHECK_OR_RETURN(eo_obj, NULL);
+
+ Efl_Animation_Instance_Rotate *instance
+ = efl_add(EFL_ANIMATION_INSTANCE_ROTATE_CLASS, NULL);
+
+ Eo *target = efl_animation_target_get(eo_obj);
+ efl_animation_instance_target_set(instance, target);
+
+ Eina_Bool state_keep = efl_animation_final_state_keep_get(eo_obj);
+ efl_animation_instance_final_state_keep_set(instance, state_keep);
+
+ double duration = efl_animation_duration_get(eo_obj);
+ efl_animation_instance_duration_set(instance, duration);
+
+ efl_animation_instance_rotate_angle_set(instance,
+ pd->from.angle, pd->to.angle);
+
+ efl_animation_instance_rotate_relative_pivot_set(instance,
+ pd->rel_pivot.x,
+ pd->rel_pivot.y,
+ pd->rel_pivot.z);
+
+ efl_animation_instance_rotate_absolute_pivot_set(instance,
+ pd->abs_pivot.x,
+ pd->abs_pivot.y,
+ pd->abs_pivot.z);
+
+ return instance;
+}
+
EOLIAN static Efl_Object *
_efl_animation_rotate_efl_object_constructor(Eo *eo_obj, Evas_Object_Animation_Rotate_Data *pd)
{
diff --git a/src/lib/evas/canvas/efl_animation_rotate.eo b/src/lib/evas/canvas/efl_animation_rotate.eo
index 05408e5059..50b9a6227b 100644
--- a/src/lib/evas/canvas/efl_animation_rotate.eo
+++ b/src/lib/evas/canvas/efl_animation_rotate.eo
@@ -43,5 +43,6 @@ class Efl.Animation.Rotate (Efl.Animation)
Efl.Object.constructor;
Efl.Object.destructor;
Efl.Animation.dup;
+ Efl.Animation.instance_create;
}
}
diff --git a/src/lib/evas/canvas/efl_animation_scale.c b/src/lib/evas/canvas/efl_animation_scale.c
index dc097f20b1..f625a8aa7f 100644
--- a/src/lib/evas/canvas/efl_animation_scale.c
+++ b/src/lib/evas/canvas/efl_animation_scale.c
@@ -153,6 +153,35 @@ _efl_animation_scale_efl_animation_dup(Eo *eo_obj, Evas_Object_Animation_Scale_D
return animation;
}
+EOLIAN static Efl_Animation_Instance *
+_efl_animation_scale_efl_animation_instance_create(Eo *eo_obj, Evas_Object_Animation_Scale_Data *pd)
+{
+ EFL_ANIMATION_SCALE_CHECK_OR_RETURN(eo_obj, NULL);
+
+ Efl_Animation_Instance_Scale *instance
+ = efl_add(EFL_ANIMATION_INSTANCE_SCALE_CLASS, NULL);
+
+ Eo *target = efl_animation_target_get(eo_obj);
+ efl_animation_instance_target_set(instance, target);
+
+ Eina_Bool state_keep = efl_animation_final_state_keep_get(eo_obj);
+ efl_animation_instance_final_state_keep_set(instance, state_keep);
+
+ double duration = efl_animation_duration_get(eo_obj);
+ efl_animation_instance_duration_set(instance, duration);
+
+ efl_animation_instance_scale_x_set(instance,
+ pd->from.scale_x, pd->to.scale_x);
+
+ efl_animation_instance_scale_y_set(instance,
+ pd->from.scale_y, pd->from.scale_y);
+
+ efl_animation_instance_scale_z_set(instance,
+ pd->from.scale_z, pd->to.scale_z);
+
+ return instance;
+}
+
EOLIAN static Efl_Object *
_efl_animation_scale_efl_object_constructor(Eo *eo_obj, Evas_Object_Animation_Scale_Data *pd)
{
diff --git a/src/lib/evas/canvas/efl_animation_scale.eo b/src/lib/evas/canvas/efl_animation_scale.eo
index 79e44eb307..5b6b594f56 100644
--- a/src/lib/evas/canvas/efl_animation_scale.eo
+++ b/src/lib/evas/canvas/efl_animation_scale.eo
@@ -51,5 +51,6 @@ class Efl.Animation.Scale (Efl.Animation)
Efl.Object.constructor;
Efl.Object.destructor;
Efl.Animation.dup;
+ Efl.Animation.instance_create;
}
}
diff --git a/src/lib/evas/canvas/efl_animation_translate.c b/src/lib/evas/canvas/efl_animation_translate.c
index aa0138501b..b7b1ee87ef 100644
--- a/src/lib/evas/canvas/efl_animation_translate.c
+++ b/src/lib/evas/canvas/efl_animation_translate.c
@@ -270,6 +270,44 @@ _efl_animation_translate_efl_animation_dup(Eo *eo_obj, Evas_Object_Animation_Tra
return animation;
}
+EOLIAN static Efl_Animation_Instance *
+_efl_animation_translate_efl_animation_instance_create(Eo *eo_obj, Evas_Object_Animation_Translate_Data *pd)
+{
+ EFL_ANIMATION_TRANSLATE_CHECK_OR_RETURN(eo_obj, NULL);
+
+ Efl_Animation_Instance_Translate *instance
+ = efl_add(EFL_ANIMATION_INSTANCE_TRANSLATE_CLASS, NULL);
+
+ Eo *target = efl_animation_target_get(eo_obj);
+ efl_animation_instance_target_set(instance, target);
+
+ Eina_Bool state_keep = efl_animation_final_state_keep_get(eo_obj);
+ efl_animation_instance_final_state_keep_set(instance, state_keep);
+
+ double duration = efl_animation_duration_get(eo_obj);
+ efl_animation_instance_duration_set(instance, duration);
+
+ efl_animation_instance_translate_x_set(instance,
+ pd->from.move_x, pd->to.move_x);
+
+ efl_animation_instance_translate_y_set(instance,
+ pd->from.move_y, pd->to.move_y);
+
+ efl_animation_instance_translate_z_set(instance,
+ pd->from.move_z, pd->to.move_z);
+
+ efl_animation_instance_translate_coordinate_x_set(instance,
+ pd->from.x, pd->to.x);
+
+ efl_animation_instance_translate_coordinate_y_set(instance,
+ pd->from.y, pd->to.y);
+
+ efl_animation_instance_translate_coordinate_z_set(instance,
+ pd->from.z, pd->to.z);
+
+ return instance;
+}
+
EOLIAN static Efl_Object *
_efl_animation_translate_efl_object_constructor(Eo *eo_obj, Evas_Object_Animation_Translate_Data *pd)
{
diff --git a/src/lib/evas/canvas/efl_animation_translate.eo b/src/lib/evas/canvas/efl_animation_translate.eo
index 85d4bf799a..4f371697c4 100644
--- a/src/lib/evas/canvas/efl_animation_translate.eo
+++ b/src/lib/evas/canvas/efl_animation_translate.eo
@@ -99,5 +99,6 @@ class Efl.Animation.Translate (Efl.Animation)
Efl.Object.constructor;
Efl.Object.destructor;
Efl.Animation.dup;
+ Efl.Animation.instance_create;
}
}
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index de68f9b340..2586a8acd9 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -44,11 +44,13 @@ Eina_Cow *evas_object_mask_cow = NULL;
typedef struct _Event_Animation
{
- Efl_Animation *anim;
+ Efl_Animation *anim;
+ Efl_Animation_Instance *inst;
} Event_Animation;
typedef struct _Hide_Anim_Data
{
+ Eo *target;
Eina_Bool anim_started;
Eina_Bool anim_ended;
} Hide_Anim_Data;
@@ -1042,17 +1044,44 @@ _efl_animation_event_type_get(const char *event_str)
return -1;
}
+static Eina_Bool
+_efl_animation_event_type_is_valid(Efl_Animation_Event_Type event)
+{
+ if ((event < 0) || (event >= EFL_ANIMATION_EVENT_TYPE_COUNT))
+ return EINA_FALSE;
+
+ return EINA_TRUE;
+}
+
+static Efl_Animation_Instance *
+_event_animation_instance_get(Eo *eo_obj,
+ Efl_Animation_Event_Type event_type)
+{
+ Evas_Object_Protected_Data *pd = efl_data_scope_get(eo_obj, MY_CLASS);
+ if (!pd) return NULL;
+
+ if (!_efl_animation_event_type_is_valid(event_type))
+ return NULL;
+
+ Event_Animation *event_anim = eina_array_data_get(pd->event_anims,
+ event_type);
+ if (event_anim && event_anim->inst)
+ return event_anim->inst;
+
+ return NULL;
+}
+
static void
-_all_animations_cancel(Eo *eo_obj)
+_all_animation_instances_cancel(Eo *eo_obj)
{
Efl_Animation_Event_Type event_type;
for (event_type = EFL_ANIMATION_EVENT_TYPE_SHOW;
event_type < EFL_ANIMATION_EVENT_TYPE_COUNT; event_type++)
{
- Efl_Animation *anim = efl_canvas_object_event_animation_get(eo_obj,
- event_type);
- if (anim)
- efl_animation_cancel(anim);
+ Efl_Animation_Instance *inst = _event_animation_instance_get(eo_obj,
+ event_type);
+ if (inst)
+ efl_animation_instance_cancel(inst);
}
}
@@ -1071,12 +1100,12 @@ _efl_canvas_object_efl_object_event_callback_call(Eo *eo_obj,
if (!_efl_animation_event_type_is_inform_call(event_type))
{
- Efl_Animation *anim =
- efl_canvas_object_event_animation_get(eo_obj, event_type);
- if (anim)
+ Efl_Animation_Instance *inst =
+ _event_animation_instance_get(eo_obj, event_type);
+ if (inst)
{
- _all_animations_cancel(eo_obj);
- efl_animation_start(anim);
+ _all_animation_instances_cancel(eo_obj);
+ efl_animation_instance_start(inst);
}
}
}
@@ -1100,12 +1129,12 @@ _efl_canvas_object_efl_object_event_callback_legacy_call(Eo *eo_obj,
if (!_efl_animation_event_type_is_inform_call(event_type))
{
- Efl_Animation *anim =
- efl_canvas_object_event_animation_get(eo_obj, event_type);
- if (anim)
+ Efl_Animation_Instance *inst =
+ _event_animation_instance_get(eo_obj, event_type);
+ if (inst)
{
- _all_animations_cancel(eo_obj);
- efl_animation_start(anim);
+ _all_animation_instances_cancel(eo_obj);
+ efl_animation_instance_start(inst);
}
}
}
@@ -1777,8 +1806,7 @@ _animation_hide_end_cb(void *data, const Efl_Event *event)
hide_anim_data->anim_ended = EINA_TRUE;
- Eo *eo_obj = efl_animation_target_get(event->object);
- _animation_intercept_hide(hide_anim_data, eo_obj);
+ _animation_intercept_hide(hide_anim_data, hide_anim_data->target);
hide_anim_data->anim_started = EINA_FALSE;
hide_anim_data->anim_ended = EINA_FALSE;
@@ -1789,15 +1817,14 @@ _animation_intercept_hide(void *data, Evas_Object *eo_obj)
{
Hide_Anim_Data *hide_anim_data = data;
- Efl_Animation *anim =
- efl_canvas_object_event_animation_get(eo_obj,
- EFL_ANIMATION_EVENT_TYPE_HIDE);
- if (anim && !hide_anim_data->anim_started && !hide_anim_data->anim_ended)
+ Efl_Animation_Instance *inst =
+ _event_animation_instance_get(eo_obj, EFL_ANIMATION_EVENT_TYPE_HIDE);
+ if (inst && !hide_anim_data->anim_started && !hide_anim_data->anim_ended)
{
hide_anim_data->anim_started = EINA_TRUE;
- _all_animations_cancel(eo_obj);
- efl_animation_start(anim);
+ _all_animation_instances_cancel(eo_obj);
+ efl_animation_instance_start(inst);
}
else
efl_gfx_visible_set(eo_obj, EINA_FALSE);
@@ -1845,13 +1872,12 @@ _show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
evas_object_update_bounding_box(eo_obj, obj, NULL);
evas_object_inform_call_show(eo_obj);
- Efl_Animation *anim =
- efl_canvas_object_event_animation_get(eo_obj,
- EFL_ANIMATION_EVENT_TYPE_SHOW);
- if (anim)
+ Efl_Animation_Instance *inst =
+ _event_animation_instance_get(eo_obj, EFL_ANIMATION_EVENT_TYPE_SHOW);
+ if (inst)
{
- _all_animations_cancel(eo_obj);
- efl_animation_start(anim);
+ _all_animation_instances_cancel(eo_obj);
+ efl_animation_instance_start(inst);
}
}
@@ -2746,26 +2772,17 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_canvas_object_type_set, EFL_FUNC_CALL(type), const
EFL_OBJECT_OP_FUNC(efl_canvas_object_legacy_ctor, _efl_canvas_object_legacy_ctor), \
EFL_OBJECT_OP_FUNC(efl_canvas_object_type_set, _efl_canvas_object_type_set)
-static Eina_Bool
-_efl_animation_event_type_is_valid(Efl_Animation_Event_Type event)
-{
- if ((event < 0) || (event >= EFL_ANIMATION_EVENT_TYPE_COUNT))
- return EINA_FALSE;
-
- return EINA_TRUE;
-}
-
static void
_anim_del_cb(void *data, const Efl_Event *event)
{
Eo *eo_obj = data;
- Efl_Animation *anim = event->object;
+ Efl_Animation_Instance *inst = event->object;
Efl_Animation_Event_Type event_type;
for (event_type = EFL_ANIMATION_EVENT_TYPE_SHOW;
event_type < EFL_ANIMATION_EVENT_TYPE_COUNT; event_type++)
{
- if (anim == efl_canvas_object_event_animation_get(eo_obj, event_type))
+ if (inst == _event_animation_instance_get(eo_obj, event_type))
efl_canvas_object_event_animation_set(eo_obj, event_type, NULL);
}
}
@@ -2783,14 +2800,12 @@ _efl_canvas_object_event_animation_set(Eo *eo_obj,
if (!event_anim) return;
Efl_Animation *cur_anim = event_anim->anim;
- Efl_Animation *new_anim = NULL;
- if (animation) new_anim = efl_animation_dup(animation);
+ Efl_Animation_Instance *cur_inst = event_anim->inst;
//Unset for current event animation
if (cur_anim)
{
- Eo *prev_target =
- efl_animation_target_get(cur_anim);
+ Eo *prev_target = efl_animation_target_get(cur_anim);
//Deallocate memory and Unset callbacks for Hide event
if (event_type == EFL_ANIMATION_EVENT_TYPE_HIDE)
@@ -2800,7 +2815,8 @@ _efl_canvas_object_event_animation_set(Eo *eo_obj,
_animation_intercept_hide);
if (hide_anim_data)
{
- efl_event_callback_del(cur_anim, EFL_ANIMATION_EVENT_END,
+ efl_event_callback_del(cur_inst,
+ EFL_ANIMATION_INSTANCE_EVENT_END,
_animation_hide_end_cb,
hide_anim_data);
@@ -2813,15 +2829,15 @@ _efl_canvas_object_event_animation_set(Eo *eo_obj,
}
//Unset callback
- efl_event_callback_del(cur_anim, EFL_EVENT_DEL,
+ efl_event_callback_del(cur_inst, EFL_EVENT_DEL,
_anim_del_cb, prev_target);
//Stop animation
- efl_animation_cancel(cur_anim);
+ efl_animation_instance_cancel(cur_inst);
}
- //Replace current event animation with new event animation
- event_anim->anim = new_anim;
+ Efl_Animation *new_anim = animation;
+ Efl_Animation_Instance *new_inst = NULL;
//Set for new event animation
if (new_anim)
@@ -2836,6 +2852,7 @@ _efl_canvas_object_event_animation_set(Eo *eo_obj,
if (event_type == EFL_ANIMATION_EVENT_TYPE_HIDE)
{
Hide_Anim_Data *hide_anim_data = calloc(1, sizeof(Hide_Anim_Data));
+ hide_anim_data->target = target;
hide_anim_data->anim_started = EINA_FALSE;
hide_anim_data->anim_ended = EINA_FALSE;
@@ -2843,14 +2860,20 @@ _efl_canvas_object_event_animation_set(Eo *eo_obj,
_animation_intercept_hide,
hide_anim_data);
- efl_event_callback_add(new_anim, EFL_ANIMATION_EVENT_END,
+ new_inst = efl_animation_instance_create(new_anim);
+
+ efl_event_callback_add(new_inst, EFL_ANIMATION_INSTANCE_EVENT_END,
_animation_hide_end_cb,
hide_anim_data);
}
//Set callback
- efl_event_callback_add(new_anim, EFL_EVENT_DEL, _anim_del_cb, target);
+ efl_event_callback_add(new_inst, EFL_EVENT_DEL, _anim_del_cb, target);
}
+
+ //Replace current event animation with new event animation
+ event_anim->anim = new_anim;
+ event_anim->inst = new_inst;
}
EOLIAN Efl_Animation *