From be150e025ef7e26a7a8b0eef2ec706e3929d2662 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Wed, 10 Nov 2010 12:11:57 +0900 Subject: [PATCH] [elm_animator.c] syncronized with EFL upstream. --- src/lib/elm_animator.c | 130 +++++++++++++++---------------------------------- 1 file changed, 40 insertions(+), 90 deletions(-) diff --git a/src/lib/elm_animator.c b/src/lib/elm_animator.c index f1f739a..363b729 100644 --- a/src/lib/elm_animator.c +++ b/src/lib/elm_animator.c @@ -9,7 +9,7 @@ */ #define MAGIC_OBJ_ANIMATOR 0x40777770 -struct _Animator +struct _Elm_Animator { int magic; Evas_Object *parent; @@ -29,7 +29,6 @@ struct _Animator }; static double _animator_curve_linear(double frame); -static double _animator_curve_out_in(double frame); static double _animator_curve_in_out(double frame); static double _animator_curve_in(double frame); static double _animator_curve_out(double frame); @@ -37,9 +36,7 @@ static unsigned int _animator_compute_reverse_repeat_count(unsigned int cnt); static unsigned int _animator_compute_no_reverse_repeat_count(unsigned int cnt); static Eina_Bool _animator_animate_cb(void *data); static void _delete_animator(Elm_Animator *animator); -static void _animator_parent_del(void *data, Evas *evas __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event __UNUSED__); +static void _animator_parent_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__); static unsigned int _animator_compute_reverse_repeat_count(unsigned int cnt) @@ -62,10 +59,8 @@ _animator_curve_linear(double frame) static double _animator_curve_in_out(double frame) { - if (frame < 0.5) - return _animator_curve_in(frame * 2) * 0.5; - else - return (_animator_curve_out(frame * 2 - 1) * 0.5) + 0.5; + if (frame < 0.5) return _animator_curve_in(frame * 2) * 0.5; + else return (_animator_curve_out(frame * 2 - 1) * 0.5) + 0.5; } static double @@ -83,41 +78,31 @@ _animator_curve_out(double frame) static void _delete_animator(Elm_Animator *animator) { - if (animator->animator) - { - ecore_animator_del(animator->animator); - animator->animator = NULL; - } + if (!animator->animator) return; + ecore_animator_del(animator->animator); + animator->animator = NULL; } static Eina_Bool _animator_animate_cb(void *data) { double elapsed_time, frame; - Elm_Animator *animator = (Elm_Animator *) data; + Elm_Animator *animator = (Elm_Animator *) data; animator->cur_time = ecore_loop_time_get(); - elapsed_time = animator->cur_time - animator->begin_time; - - if (elapsed_time > animator->duration) - elapsed_time = animator->duration; - + if (elapsed_time > animator->duration) elapsed_time = animator->duration; frame = animator->curve_op(elapsed_time / animator->duration); - //Reverse? if (animator->auto_reverse) { - if (!(animator->cur_repeat_cnt % 2)) - frame = 1 - frame; + if (!(animator->cur_repeat_cnt % 2)) frame = 1 - frame; } if (animator->duration > 0) animator->animator_op(animator->animator_arg, animator, frame); - //Not end. Keep going. - if (elapsed_time < animator->duration) - return ECORE_CALLBACK_RENEW; + if (elapsed_time < animator->duration) return ECORE_CALLBACK_RENEW; //Repeat and reverse and time done! if (!animator->cur_repeat_cnt) @@ -130,7 +115,7 @@ _animator_animate_cb(void *data) } //Repeat Case - --animator->cur_repeat_cnt; + animator->cur_repeat_cnt--; animator->begin_time = ecore_loop_time_get(); return ECORE_CALLBACK_RENEW; @@ -154,8 +139,7 @@ _animator_parent_del(void *data, Evas *evas __UNUSED__, EAPI Eina_Bool elm_animator_auto_reverse_get(const Elm_Animator *animator) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return EINA_FALSE; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return EINA_FALSE; return animator->auto_reverse; } @@ -170,8 +154,7 @@ elm_animator_auto_reverse_get(const Elm_Animator *animator) EAPI unsigned int elm_animator_repeat_get(const Elm_Animator *animator) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return 0; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return 0; return animator->repeat_cnt; } @@ -186,10 +169,8 @@ elm_animator_repeat_get(const Elm_Animator *animator) EAPI void elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - if (animator->auto_reverse == reverse) - return; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; + if (animator->auto_reverse == reverse) return; animator->auto_reverse = reverse; if (reverse) animator->repeat_cnt = @@ -211,9 +192,7 @@ EAPI void elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; switch (cs) { case ELM_ANIMATOR_CURVE_LINEAR: @@ -245,10 +224,8 @@ elm_animator_curve_style_set(Elm_Animator *animator, EAPI void elm_animator_duration_set(Elm_Animator *animator, double duration) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - if (animator->on_animating) - return; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; + if (animator->on_animating) return; animator->duration = duration; } @@ -264,14 +241,11 @@ elm_animator_duration_set(Elm_Animator *animator, double duration) */ EAPI void elm_animator_operation_callback_set(Elm_Animator *animator, - void (*func) (void *data, - Elm_Animator * animator, - double frame), void *data) + Elm_Animator_Operation_Cb func, + void *data) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - if (animator->on_animating) - return; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; + if (animator->on_animating) return; animator->animator_op = func; animator->animator_arg = data; } @@ -288,16 +262,11 @@ EAPI Elm_Animator * elm_animator_add(Evas_Object *parent) { Elm_Animator *animator = ELM_NEW(Elm_Animator); - - if (!animator) - return NULL; - + if (!animator) return NULL; animator->parent = parent; animator->magic = MAGIC_OBJ_ANIMATOR; - elm_animator_auto_reverse_set(animator, EINA_FALSE); elm_animator_curve_style_set(animator, ELM_ANIMATOR_CURVE_LINEAR); - if (parent) evas_object_event_callback_add(parent, EVAS_CALLBACK_DEL, _animator_parent_del, animator); @@ -316,8 +285,7 @@ elm_animator_add(Evas_Object *parent) EAPI Eina_Bool elm_animator_operating_get(const Elm_Animator *animator) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return EINA_FALSE; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return EINA_FALSE; return animator->on_animating; } @@ -331,11 +299,8 @@ elm_animator_operating_get(const Elm_Animator *animator) EAPI void elm_animator_del(Elm_Animator *animator) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; _delete_animator(animator); - if (animator->parent) evas_object_event_callback_del(animator->parent, EVAS_CALLBACK_DEL, _animator_parent_del); @@ -355,12 +320,11 @@ elm_animator_del(Elm_Animator *animator) */ EAPI void elm_animator_completion_callback_set(Elm_Animator *animator, - void (*func) (void *data), void *data) + Elm_Animator_Completion_Cb func, + void *data) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - if (animator->on_animating) - return; + if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; + if (animator->on_animating) return; animator->completion_op = func; animator->completion_arg = data; } @@ -375,12 +339,8 @@ elm_animator_completion_callback_set(Elm_Animator *animator, EAPI void elm_animator_pause(Elm_Animator *animator) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - - if (!animator->on_animating) - return; - + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; + if (!animator->on_animating) return; ecore_animator_freeze(animator->animator); } @@ -394,12 +354,8 @@ elm_animator_pause(Elm_Animator *animator) EAPI void elm_animator_resume(Elm_Animator *animator) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - - if (!animator->on_animating) - return; - + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; + if (!animator->on_animating) return; ecore_animator_thaw(animator->animator); } @@ -413,8 +369,7 @@ elm_animator_resume(Elm_Animator *animator) EAPI void elm_animator_stop(Elm_Animator *animator) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; animator->on_animating = EINA_FALSE; _delete_animator(animator); } @@ -430,10 +385,8 @@ elm_animator_stop(Elm_Animator *animator) EAPI void elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - if (!animator->auto_reverse) - animator->repeat_cnt = repeat_cnt; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; + if (!animator->auto_reverse) animator->repeat_cnt = repeat_cnt; else animator->repeat_cnt = _animator_compute_reverse_repeat_count(repeat_cnt); } @@ -448,14 +401,11 @@ elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt) EAPI void elm_animator_animate(Elm_Animator *animator) { - if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) - return; - if (!animator->animator_op) - return; + if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return; + if (!animator->animator_op) return; animator->begin_time = ecore_loop_time_get(); animator->cur_repeat_cnt = animator->repeat_cnt; if (!animator->animator) animator->animator = ecore_animator_add(_animator_animate_cb, animator); - if (animator->animator) - animator->on_animating = EINA_TRUE; + if (animator->animator) animator->on_animating = EINA_TRUE; } -- 2.7.4