summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaehyun Cho <jae_hyun.cho@samsung.com>2017-05-24 12:30:12 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2017-05-25 21:24:07 +0900
commit7a41ad992dcaa8f55b78fddc33a86a05ea6b223f (patch)
tree0410db94b0502d25a9609776df4692e50246b0c2
parentbb8c59ccd671fa5f84c62bb0807be0189fda0e72 (diff)
downloadefl-7a41ad992dcaa8f55b78fddc33a86a05ea6b223f.tar.gz
efl_animation: Add post_end event
To remove duplicate event calls with outside of class, post_end event is used instead of end event within class. post_end event happens after end event happens.
-rw-r--r--src/lib/evas/canvas/efl_animation.c6
-rw-r--r--src/lib/evas/canvas/efl_animation.eo1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/efl_animation.c b/src/lib/evas/canvas/efl_animation.c
index a61c19a992..0f7f797bc6 100644
--- a/src/lib/evas/canvas/efl_animation.c
+++ b/src/lib/evas/canvas/efl_animation.c
@@ -207,6 +207,8 @@ end:
//pre end event is supported within class only (protected event)
efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_PRE_END, NULL);
efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_END, NULL);
+ //post end event is supported within class only (protected event)
+ efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_POST_END, NULL);
//FIXME: Delete animation here
return ECORE_CALLBACK_CANCEL;
@@ -258,6 +260,8 @@ _efl_animation_cancel(Eo *eo_obj, Evas_Object_Animation_Data *pd)
//pre end event is supported within class only (protected event)
efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_PRE_END, NULL);
efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_END, NULL);
+ //post end event is supported within class only (protected event)
+ efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_POST_END, NULL);
}
return EINA_TRUE;
@@ -314,6 +318,8 @@ _efl_animation_efl_object_destructor(Eo *eo_obj, Evas_Object_Animation_Data *pd)
//pre end event is supported within class only (protected event)
efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_PRE_END, NULL);
efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_END, NULL);
+ //post end event is supported within class only (protected event)
+ efl_event_callback_call(eo_obj, EFL_ANIMATION_EVENT_POST_END, NULL);
}
if (pd->target)
diff --git a/src/lib/evas/canvas/efl_animation.eo b/src/lib/evas/canvas/efl_animation.eo
index 7979837b6c..61eda2bae2 100644
--- a/src/lib/evas/canvas/efl_animation.eo
+++ b/src/lib/evas/canvas/efl_animation.eo
@@ -60,5 +60,6 @@ abstract Efl.Animation (Efl.Object)
pre_animate @protected; /* @internal */ [[Animate is animated, but this event happens before animate event. To remove duplicate event calls with outside of class, pre_animate event is used instead of animate event within class.]]
pre_end @protected; /* @internal */ [[Animate ended, but this event happens before end event. To remove duplicate event calls with outside of class, pre_end event is used instead of end event within class.]]
post_animate @protected; /* @internal */ [[Animate is animated, but this event happens after animate event. To remove duplicate event calls with outside of class, post_animate event is used instead of animate event within class.]]
+ post_end @protected; /* @internal */ [[Animate ended, but this event happens after end event. To remove duplicate event calls with outside of class, post_end event is used instead of end event within class.]]
}
}