[elm_animator.c] syncronized with EFL upstream.
authorChunEon Park <chuneon.park@samsung.com>
Wed, 10 Nov 2010 03:11:57 +0000 (12:11 +0900)
committerChunEon Park <chuneon.park@samsung.com>
Wed, 10 Nov 2010 03:11:57 +0000 (12:11 +0900)
src/lib/elm_animator.c

index f1f739a..363b729 100644 (file)
@@ -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;
 }