summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavi Artigas <xavierartigas@yahoo.es>2019-12-04 17:25:45 +0100
committerXavi Artigas <xavierartigas@yahoo.es>2019-12-04 17:43:31 +0100
commitb179e397d66c29712a7c38254b8c67daa6a77dc0 (patch)
treee34a69af8c9a172e84aee4dbe70c2f573b8495f3
parent44b532425915aeaf97637db96053e03b2b97bfa7 (diff)
Efl.Canvas.Animation: Rename repeat_count to play_count
Summary: play_count is a tad simpler to understand, since it means the TOTAL number of times the animation will play. The default value is now 1, and 0 means INFINITE (instead of -1). This allows removing yet another constant from header files. Depends on D10799 Test Plan: Everything builds and passes tests. Elm_test Animation.Repeat has been adjusted accordingly. Reviewers: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10800
-rw-r--r--src/bin/elementary/test_efl_anim_repeat.c38
-rw-r--r--src/examples/evas/efl-canvas-animation.c8
-rw-r--r--src/lib/evas/Evas_Common.h2
-rw-r--r--src/lib/evas/Evas_Eo.h2
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation.c15
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation.eo14
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_private.h4
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_types.eot8
-rw-r--r--src/lib/evas/canvas/efl_canvas_object_animation.c4
9 files changed, 48 insertions, 47 deletions
diff --git a/src/bin/elementary/test_efl_anim_repeat.c b/src/bin/elementary/test_efl_anim_repeat.c
index 0f72882..b3dddcd 100644
--- a/src/bin/elementary/test_efl_anim_repeat.c
+++ b/src/bin/elementary/test_efl_anim_repeat.c
@@ -10,7 +10,7 @@ typedef struct _App_Data
10 Elm_Button *button; 10 Elm_Button *button;
11 11
12 Evas_Object *start_btn; 12 Evas_Object *start_btn;
13 Evas_Object *repeat_count_spin; 13 Evas_Object *play_count_spin;
14 Evas_Object *repeat_mode_spin; 14 Evas_Object *repeat_mode_spin;
15 15
16 Eina_Bool is_btn_visible; 16 Eina_Bool is_btn_visible;
@@ -44,8 +44,8 @@ _anim_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
44 Efl_Canvas_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin); 44 Efl_Canvas_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin);
45 if (repeat_mode == EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE) 45 if (repeat_mode == EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE)
46 { 46 {
47 int repeat_count = elm_spinner_value_get(ad->repeat_count_spin); 47 int play_count = elm_spinner_value_get(ad->play_count_spin);
48 if (repeat_count % 2 == 1) 48 if (play_count % 2 == 0)
49 { 49 {
50 ad->is_btn_visible = !(ad->is_btn_visible); 50 ad->is_btn_visible = !(ad->is_btn_visible);
51 if (ad->is_btn_visible) 51 if (ad->is_btn_visible)
@@ -54,7 +54,7 @@ _anim_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
54 elm_object_text_set(ad->start_btn, "Start Alpha Animation from 0.0 to 1.0"); 54 elm_object_text_set(ad->start_btn, "Start Alpha Animation from 0.0 to 1.0");
55 } 55 }
56 } 56 }
57 elm_object_disabled_set(ad->repeat_count_spin, EINA_FALSE); 57 elm_object_disabled_set(ad->play_count_spin, EINA_FALSE);
58 elm_object_disabled_set(ad->repeat_mode_spin, EINA_FALSE); 58 elm_object_disabled_set(ad->repeat_mode_spin, EINA_FALSE);
59 } 59 }
60} 60}
@@ -78,16 +78,16 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
78 78
79 ad->is_btn_visible = !(ad->is_btn_visible); 79 ad->is_btn_visible = !(ad->is_btn_visible);
80 80
81 int repeat_count = elm_spinner_value_get(ad->repeat_count_spin); 81 int play_count = elm_spinner_value_get(ad->play_count_spin);
82 elm_object_disabled_set(ad->repeat_count_spin, EINA_TRUE); 82 elm_object_disabled_set(ad->play_count_spin, EINA_TRUE);
83 83
84 Efl_Canvas_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin); 84 Efl_Canvas_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin);
85 elm_object_disabled_set(ad->repeat_mode_spin, EINA_TRUE); 85 elm_object_disabled_set(ad->repeat_mode_spin, EINA_TRUE);
86 86
87 if (ad->is_btn_visible) 87 if (ad->is_btn_visible)
88 { 88 {
89 //Set animation repeat count 89 //Set animation play count
90 efl_animation_repeat_count_set(ad->show_anim, repeat_count); 90 efl_animation_play_count_set(ad->show_anim, play_count);
91 91
92 //Set animation repeat mode 92 //Set animation repeat mode
93 efl_animation_repeat_mode_set(ad->show_anim, repeat_mode); 93 efl_animation_repeat_mode_set(ad->show_anim, repeat_mode);
@@ -99,7 +99,7 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
99 else 99 else
100 { 100 {
101 //Set animation repeat count 101 //Set animation repeat count
102 efl_animation_repeat_count_set(ad->hide_anim, repeat_count); 102 efl_animation_play_count_set(ad->hide_anim, play_count);
103 103
104 //Set animation repeat mode 104 //Set animation repeat mode
105 efl_animation_repeat_mode_set(ad->hide_anim, repeat_mode); 105 efl_animation_repeat_mode_set(ad->hide_anim, repeat_mode);
@@ -158,15 +158,15 @@ test_efl_anim_repeat(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
158 evas_object_move(start_btn, 100, 300); 158 evas_object_move(start_btn, 100, 300);
159 evas_object_show(start_btn); 159 evas_object_show(start_btn);
160 160
161 //Spinner to set animation repeat count 161 //Spinner to set animation play count
162 Evas_Object *repeat_count_spin = elm_spinner_add(win); 162 Evas_Object *play_count_spin = elm_spinner_add(win);
163 elm_spinner_label_format_set(repeat_count_spin, "Repeat Count: %d"); 163 elm_spinner_label_format_set(play_count_spin, "Play Count (0 is infinite): %d");
164 elm_spinner_editable_set(repeat_count_spin, EINA_FALSE); 164 elm_spinner_editable_set(play_count_spin, EINA_FALSE);
165 elm_spinner_min_max_set(repeat_count_spin, 0, 3); 165 elm_spinner_min_max_set(play_count_spin, 0, 3);
166 elm_spinner_value_set(repeat_count_spin, 0); 166 elm_spinner_value_set(play_count_spin, 1);
167 evas_object_resize(repeat_count_spin, 200, 50); 167 evas_object_resize(play_count_spin, 200, 50);
168 evas_object_move(repeat_count_spin, 100, 350); 168 evas_object_move(play_count_spin, 100, 350);
169 evas_object_show(repeat_count_spin); 169 evas_object_show(play_count_spin);
170 170
171 //Spinner to set animation repeat mode 171 //Spinner to set animation repeat mode
172 Evas_Object *repeat_mode_spin = elm_spinner_add(win); 172 Evas_Object *repeat_mode_spin = elm_spinner_add(win);
@@ -184,7 +184,7 @@ test_efl_anim_repeat(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
184 ad->show_anim = show_anim; 184 ad->show_anim = show_anim;
185 ad->hide_anim = hide_anim; 185 ad->hide_anim = hide_anim;
186 ad->start_btn = start_btn; 186 ad->start_btn = start_btn;
187 ad->repeat_count_spin = repeat_count_spin; 187 ad->play_count_spin = play_count_spin;
188 ad->repeat_mode_spin = repeat_mode_spin; 188 ad->repeat_mode_spin = repeat_mode_spin;
189 ad->is_btn_visible = EINA_TRUE; 189 ad->is_btn_visible = EINA_TRUE;
190 ad->button = btn; 190 ad->button = btn;
diff --git a/src/examples/evas/efl-canvas-animation.c b/src/examples/evas/efl-canvas-animation.c
index 2cc2355..cc24550 100644
--- a/src/examples/evas/efl-canvas-animation.c
+++ b/src/examples/evas/efl-canvas-animation.c
@@ -118,7 +118,7 @@ main(void)
118 efl_animation_scale_set(efl_added, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(3.0, 3.0), scale_rect, EINA_VECTOR2(0.5, 0.5)), 118 efl_animation_scale_set(efl_added, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(3.0, 3.0), scale_rect, EINA_VECTOR2(0.5, 0.5)),
119 efl_animation_start_delay_set(efl_added, 5.0), 119 efl_animation_start_delay_set(efl_added, 5.0),
120 efl_animation_duration_set(efl_added, 2.0), 120 efl_animation_duration_set(efl_added, 2.0),
121 efl_animation_repeat_count_set(efl_added, EFL_ANIMATION_REPEAT_INFINITE) 121 efl_animation_play_count_set(efl_added, 0)
122 ), 122 ),
123 1.0, 0.0); 123 1.0, 0.0);
124 124
@@ -128,7 +128,7 @@ main(void)
128 efl_new(EFL_CANVAS_ANIMATION_SCALE_CLASS, 128 efl_new(EFL_CANVAS_ANIMATION_SCALE_CLASS,
129 efl_animation_scale_set(efl_added, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(3.0, 3.0), scale_rect2, EINA_VECTOR2(0.5, 0.5)), 129 efl_animation_scale_set(efl_added, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(3.0, 3.0), scale_rect2, EINA_VECTOR2(0.5, 0.5)),
130 efl_animation_duration_set(efl_added, 2.0), 130 efl_animation_duration_set(efl_added, 2.0),
131 efl_animation_repeat_count_set(efl_added, EFL_ANIMATION_REPEAT_INFINITE), 131 efl_animation_play_count_set(efl_added, 0),
132 efl_animation_repeat_mode_set(efl_added, EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE) 132 efl_animation_repeat_mode_set(efl_added, EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE)
133 ), 133 ),
134 1.0, 0.0); 134 1.0, 0.0);
@@ -139,7 +139,7 @@ main(void)
139 efl_new(EFL_CANVAS_ANIMATION_SCALE_CLASS, 139 efl_new(EFL_CANVAS_ANIMATION_SCALE_CLASS,
140 efl_animation_scale_set(efl_added, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(3.0, 3.0), scale_rect3, EINA_VECTOR2(0.5, 0.5)), 140 efl_animation_scale_set(efl_added, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(3.0, 3.0), scale_rect3, EINA_VECTOR2(0.5, 0.5)),
141 efl_animation_duration_set(efl_added, 2.0), 141 efl_animation_duration_set(efl_added, 2.0),
142 efl_animation_repeat_count_set(efl_added, 3), 142 efl_animation_play_count_set(efl_added, 4),
143 efl_animation_repeat_mode_set(efl_added, EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE) 143 efl_animation_repeat_mode_set(efl_added, EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE)
144 ), 144 ),
145 1.0, 0.0); 145 1.0, 0.0);
@@ -162,7 +162,7 @@ main(void)
162 efl_new(EFL_CANVAS_ANIMATION_SCALE_CLASS, 162 efl_new(EFL_CANVAS_ANIMATION_SCALE_CLASS,
163 efl_animation_scale_set(efl_added, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(5.0, 5.0), scale_rect5, EINA_VECTOR2(0.5, 0.5)), 163 efl_animation_scale_set(efl_added, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(5.0, 5.0), scale_rect5, EINA_VECTOR2(0.5, 0.5)),
164 efl_animation_duration_set(efl_added, 5.0), 164 efl_animation_duration_set(efl_added, 5.0),
165 efl_animation_repeat_count_set(efl_added, EFL_ANIMATION_REPEAT_INFINITE) 165 efl_animation_play_count_set(efl_added, 0)
166 ), 166 ),
167 1.0, 0.0); 167 1.0, 0.0);
168 d.current_speed = 1.0; 168 d.current_speed = 1.0;
diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h
index d7fa681..d75cc1a 100644
--- a/src/lib/evas/Evas_Common.h
+++ b/src/lib/evas/Evas_Common.h
@@ -3482,8 +3482,6 @@ typedef Eo Efl_Animation_Group_Sequential;
3482 3482
3483#endif 3483#endif
3484 3484
3485#define EFL_ANIMATION_REPEAT_INFINITE -1
3486
3487// The below type are necessary for legacy API and need to be manually kept in sync with .eo file. 3485// The below type are necessary for legacy API and need to be manually kept in sync with .eo file.
3488#ifndef _EFL_INPUT_DEVICE_EO_CLASS_TYPE 3486#ifndef _EFL_INPUT_DEVICE_EO_CLASS_TYPE
3489#define _EFL_INPUT_DEVICE_EO_CLASS_TYPE 3487#define _EFL_INPUT_DEVICE_EO_CLASS_TYPE
diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index f156ec5..9d873d5 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -122,8 +122,6 @@ typedef Eo Efl_Canvas_Animation_Group_Sequential;
122 122
123#endif 123#endif
124 124
125#define EFL_ANIMATION_REPEAT_INFINITE -1
126
127struct _Efl_Canvas_Animation_Player_Event_Running 125struct _Efl_Canvas_Animation_Player_Event_Running
128{ 126{
129 double progress; 127 double progress;
diff --git a/src/lib/evas/canvas/efl_canvas_animation.c b/src/lib/evas/canvas/efl_canvas_animation.c
index 001dca7..53d006f 100644
--- a/src/lib/evas/canvas/efl_canvas_animation.c
+++ b/src/lib/evas/canvas/efl_canvas_animation.c
@@ -52,19 +52,19 @@ _efl_canvas_animation_repeat_mode_get(const Eo *eo_obj EINA_UNUSED, Efl_Canvas_A
52} 52}
53 53
54EOLIAN static void 54EOLIAN static void
55_efl_canvas_animation_repeat_count_set(Eo *eo_obj EINA_UNUSED, 55_efl_canvas_animation_play_count_set(Eo *eo_obj EINA_UNUSED,
56 Efl_Canvas_Animation_Data *pd, 56 Efl_Canvas_Animation_Data *pd,
57 int count) 57 int count)
58{ 58{
59 EINA_SAFETY_ON_FALSE_RETURN(count >= EFL_ANIMATION_REPEAT_INFINITE); 59 EINA_SAFETY_ON_FALSE_RETURN(count >= 0);
60 60
61 pd->repeat_count = count; 61 pd->play_count = count;
62} 62}
63 63
64EOLIAN static int 64EOLIAN static int
65_efl_canvas_animation_repeat_count_get(const Eo *eo_obj EINA_UNUSED, Efl_Canvas_Animation_Data *pd) 65_efl_canvas_animation_play_count_get(const Eo *eo_obj EINA_UNUSED, Efl_Canvas_Animation_Data *pd)
66{ 66{
67 return pd->repeat_count; 67 return pd->play_count;
68} 68}
69 69
70EOLIAN static void 70EOLIAN static void
@@ -115,12 +115,12 @@ _efl_canvas_animation_animation_apply(Eo *eo_obj,
115EOLIAN static double 115EOLIAN static double
116_efl_canvas_animation_efl_playable_length_get(const Eo *eo_obj, Efl_Canvas_Animation_Data *pd EINA_UNUSED) 116_efl_canvas_animation_efl_playable_length_get(const Eo *eo_obj, Efl_Canvas_Animation_Data *pd EINA_UNUSED)
117{ 117{
118 if (efl_animation_repeat_count_get(eo_obj) == EFL_ANIMATION_REPEAT_INFINITE) 118 if (efl_animation_play_count_get(eo_obj) == 0)
119 { 119 {
120 return INFINITY; 120 return INFINITY;
121 } 121 }
122 122
123 return (efl_animation_duration_get(eo_obj) * (efl_animation_repeat_count_get(eo_obj) + 1)); 123 return (efl_animation_duration_get(eo_obj) * efl_animation_play_count_get(eo_obj));
124} 124}
125 125
126EOLIAN static Eina_Bool 126EOLIAN static Eina_Bool
@@ -139,6 +139,7 @@ EOLIAN static Efl_Object*
139_efl_canvas_animation_efl_object_constructor(Eo *obj, Efl_Canvas_Animation_Data *pd) 139_efl_canvas_animation_efl_object_constructor(Eo *obj, Efl_Canvas_Animation_Data *pd)
140{ 140{
141 pd->duration = _default_animation_time; 141 pd->duration = _default_animation_time;
142 pd->play_count = 1;
142 return efl_constructor(efl_super(obj, MY_CLASS)); 143 return efl_constructor(efl_super(obj, MY_CLASS));
143} 144}
144 145
diff --git a/src/lib/evas/canvas/efl_canvas_animation.eo b/src/lib/evas/canvas/efl_canvas_animation.eo
index a55cf73..49bd1cb 100644
--- a/src/lib/evas/canvas/efl_canvas_animation.eo
+++ b/src/lib/evas/canvas/efl_canvas_animation.eo
@@ -40,7 +40,7 @@ class @beta Efl.Canvas.Animation extends Efl.Object implements Efl.Playable
40 @property duration { 40 @property duration {
41 [[The duration of a single animation "run". 41 [[The duration of a single animation "run".
42 The @Efl.Playable.length implementation will return this duration adjusted by @.repeat_mode and 42 The @Efl.Playable.length implementation will return this duration adjusted by @.repeat_mode and
43 @.repeat_count. 43 @.play_count.
44 ]] 44 ]]
45 set { 45 set {
46 } 46 }
@@ -61,13 +61,15 @@ class @beta Efl.Canvas.Animation extends Efl.Object implements Efl.Playable
61 mode: Efl.Canvas.Animation_Repeat_Mode(Efl.Canvas.Animation_Repeat_Mode.restart); [[Repeat mode.]] 61 mode: Efl.Canvas.Animation_Repeat_Mode(Efl.Canvas.Animation_Repeat_Mode.restart); [[Repeat mode.]]
62 } 62 }
63 } 63 }
64 @property repeat_count { 64 @property play_count {
65 [[How many times to repeat an animation once it finishes. 65 [[How many times to play an animation.
66 $[0] means that the animation only plays once (it is not repeated) and is the default value. 66 $[1] means that the animation only plays once (it is not repeated), whereas $[2] will play it
67 $[-1] means that the animation is repeated forever. 67 again once it finishes the first time and then stop.
68 $[0] means that the animation is repeated forever.
69 @.repeat_mode controls the direction in which subsequent playbacks will run.
68 ]] 70 ]]
69 values { 71 values {
70 count: int(0); [[Repeat count.]] 72 count: int(1); [[Play count.]]
71 } 73 }
72 } 74 }
73 @property start_delay { 75 @property start_delay {
diff --git a/src/lib/evas/canvas/efl_canvas_animation_private.h b/src/lib/evas/canvas/efl_canvas_animation_private.h
index c8f0609..9995d23 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_private.h
+++ b/src/lib/evas/canvas/efl_canvas_animation_private.h
@@ -10,7 +10,7 @@ typedef struct _Efl_Canvas_Animation_Data
10 double start_delay_time; 10 double start_delay_time;
11 11
12 Efl_Canvas_Animation_Repeat_Mode repeat_mode; 12 Efl_Canvas_Animation_Repeat_Mode repeat_mode;
13 int repeat_count; 13 int play_count;
14 14
15 Efl_Interpolator *interpolator; 15 Efl_Interpolator *interpolator;
16 16
@@ -25,4 +25,4 @@ typedef struct _Efl_Canvas_Animation_Data
25 25
26#define FINAL_STATE_IS_REVERSE(anim) \ 26#define FINAL_STATE_IS_REVERSE(anim) \
27 ((efl_animation_repeat_mode_get(anim) == EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE) && \ 27 ((efl_animation_repeat_mode_get(anim) == EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE) && \
28 (efl_animation_repeat_count_get(anim) & 1)) 28 (efl_animation_play_count_get(anim) & 1))
diff --git a/src/lib/evas/canvas/efl_canvas_animation_types.eot b/src/lib/evas/canvas/efl_canvas_animation_types.eot
index cfdda2d..bb44fe4 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_types.eot
+++ b/src/lib/evas/canvas/efl_canvas_animation_types.eot
@@ -5,9 +5,11 @@ struct @beta Efl.Canvas.Animation_Player_Event_Running; [[Information of event r
5 5
6enum @beta Efl.Canvas.Animation_Repeat_Mode 6enum @beta Efl.Canvas.Animation_Repeat_Mode
7{ 7{
8 [[Animation repeat mode]] 8 [[Animation repeat mode.]]
9 9
10 restart = 0, [[Restart animation when the animation ends.]] 10 restart = 0, [[Restart animation when the animation ends: The animation will play again from the beginning to the
11 reverse = 1, [[Reverse animation when the animation ends.]] 11 end.]]
12 reverse = 1, [[Reverse animation when the animation ends: The animation will continue playing from the end to the
13 beginning.]]
12 last 14 last
13} 15}
diff --git a/src/lib/evas/canvas/efl_canvas_object_animation.c b/src/lib/evas/canvas/efl_canvas_object_animation.c
index 5663833..3fbc0e9 100644
--- a/src/lib/evas/canvas/efl_canvas_object_animation.c
+++ b/src/lib/evas/canvas/efl_canvas_object_animation.c
@@ -70,7 +70,7 @@ _animator_cb(void *data, const Efl_Event *ev EINA_UNUSED)
70 (pd->in->speed > 0 && EINA_DBL_EQ(pd->in->progress, 1.0))) 70 (pd->in->speed > 0 && EINA_DBL_EQ(pd->in->progress, 1.0)))
71 { 71 {
72 //Repeat animation 72 //Repeat animation
73 if ((efl_animation_repeat_count_get(pd->in->animation) == EFL_ANIMATION_REPEAT_INFINITE) || 73 if ((efl_animation_play_count_get(pd->in->animation) == 0) ||
74 (pd->in->remaining_repeats > 0)) 74 (pd->in->remaining_repeats > 0))
75 { 75 {
76 pd->in->remaining_repeats--; 76 pd->in->remaining_repeats--;
@@ -167,7 +167,7 @@ _efl_canvas_object_animation_animation_start(Eo *obj, Efl_Canvas_Object_Animatio
167 167
168 in->pause_state = EINA_FALSE; 168 in->pause_state = EINA_FALSE;
169 in->animation = efl_ref(animation); 169 in->animation = efl_ref(animation);
170 in->remaining_repeats = efl_animation_repeat_count_get(animation); // -1 because one run is already going on 170 in->remaining_repeats = efl_animation_play_count_get(animation) - 1; // -1 because one run is already going on
171 in->speed = speed; 171 in->speed = speed;
172 in->start_pos = start_pos; 172 in->start_pos = start_pos;
173 efl_event_callback_call(obj, EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, in->animation); 173 efl_event_callback_call(obj, EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, in->animation);