summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-11-10 19:10:02 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-11-20 09:58:27 +0100
commit0792d042e5db4827fb5f50bdf3fcbff11ccd8b2c (patch)
treebc8568693361636deb936733667e9a031764c4d4
parentfa93893548858b83055e95c9e334f3d5875958be (diff)
downloadefl-0792d042e5db4827fb5f50bdf3fcbff11ccd8b2c.tar.gz
elementary: move away from normal player to the new animation mixin
the mixin can handle the same things as the player. Additionally, the usage of the mixin simplifies the animation usage alot. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10636
-rw-r--r--src/bin/elementary/test_efl_anim_alpha.c45
-rw-r--r--src/bin/elementary/test_efl_anim_group_parallel.c48
-rw-r--r--src/bin/elementary/test_efl_anim_group_sequential.c47
-rw-r--r--src/bin/elementary/test_efl_anim_interpolator.c82
-rw-r--r--src/bin/elementary/test_efl_anim_pause.c68
-rw-r--r--src/bin/elementary/test_efl_anim_repeat.c74
-rw-r--r--src/bin/elementary/test_efl_anim_rotate.c73
-rw-r--r--src/bin/elementary/test_efl_anim_scale.c72
-rw-r--r--src/bin/elementary/test_efl_anim_start_delay.c55
-rw-r--r--src/bin/elementary/test_efl_anim_translate.c57
10 files changed, 259 insertions, 362 deletions
diff --git a/src/bin/elementary/test_efl_anim_alpha.c b/src/bin/elementary/test_efl_anim_alpha.c
index d75733f8c8..b364319279 100644
--- a/src/bin/elementary/test_efl_anim_alpha.c
+++ b/src/bin/elementary/test_efl_anim_alpha.c
@@ -7,31 +7,38 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *show_anim;
Efl_Canvas_Animation *hide_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Eina_Bool is_btn_visible;
} App_Data;
static void
-_anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
- printf("Animation has been started!\n");
-}
+ Eo *anim = event->info;
-static void
-_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
-{
- printf("Animation has been ended!\n");
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ }
+ else
+ {
+ printf("Animation has been ended!\n");
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -42,18 +49,17 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
if (ad->is_btn_visible)
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->show_anim);
+ efl_canvas_object_animation_start(ad->button, ad->show_anim, 1.0, 0.0);
efl_text_set(obj, "Start Alpha Animation from 1.0 to 0.0");
}
else
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->hide_anim);
+ efl_canvas_object_animation_start(ad->button, ad->hide_anim, 1.0, 0.0);
efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0");
}
//Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -81,6 +87,7 @@ test_efl_anim_alpha(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
evas_object_resize(btn, 200, 200);
evas_object_move(btn, 100, 50);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Show Animation
Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
@@ -97,16 +104,8 @@ test_efl_anim_alpha(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
//Initialize App Data
ad->show_anim = show_anim;
ad->hide_anim = hide_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
-
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
ad->is_btn_visible = EINA_TRUE;
+ ad->button = btn;
//Button to start animation
Evas_Object *btn2 = elm_button_add(win);
diff --git a/src/bin/elementary/test_efl_anim_group_parallel.c b/src/bin/elementary/test_efl_anim_group_parallel.c
index 262286a6fb..ed319e588c 100644
--- a/src/bin/elementary/test_efl_anim_group_parallel.c
+++ b/src/bin/elementary/test_efl_anim_group_parallel.c
@@ -7,32 +7,38 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *parallel_show_anim;
Efl_Canvas_Animation *parallel_hide_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Eina_Bool is_btn_visible;
} App_Data;
static void
-_anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
- printf("Animation has been started!\n");
-}
-
-static void
-_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
-{
- printf("Animation has been ended!\n");
+ Eo *anim = event->info;
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ }
+ else
+ {
+ printf("Animation has been ended!\n");
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -43,18 +49,16 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
if (ad->is_btn_visible)
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->parallel_show_anim);
+ efl_canvas_object_animation_start(ad->button, ad->parallel_show_anim, 1.0, 0.0);
efl_text_set(obj, "Start Parallel Group Animation to hide button");
}
else
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->parallel_hide_anim);
+ efl_canvas_object_animation_start(ad->button, ad->parallel_hide_anim, 1.0, 0.0);
efl_text_set(obj, "Start Parallel Group Animation to show button");
}
- //Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -82,7 +86,7 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
-
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Show Animation
Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
@@ -133,15 +137,7 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
//Initialize App Data
ad->parallel_show_anim = parallel_show_anim;
ad->parallel_hide_anim = parallel_hide_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
-
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
+ ad->button = btn;
ad->is_btn_visible = EINA_TRUE;
diff --git a/src/bin/elementary/test_efl_anim_group_sequential.c b/src/bin/elementary/test_efl_anim_group_sequential.c
index 4beefb2f55..37b4e53434 100644
--- a/src/bin/elementary/test_efl_anim_group_sequential.c
+++ b/src/bin/elementary/test_efl_anim_group_sequential.c
@@ -7,31 +7,38 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *sequential_show_anim;
Efl_Canvas_Animation *sequential_hide_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Eina_Bool is_btn_visible;
} App_Data;
static void
-_anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
- printf("Animation has been started!\n");
-}
+ Eo *anim = event->info;
-static void
-_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
-{
- printf("Animation has been ended!\n");
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ }
+ else
+ {
+ printf("Animation has been ended!\n");
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -42,18 +49,15 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
if (ad->is_btn_visible)
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->sequential_show_anim);
+ efl_canvas_object_animation_start(ad->button, ad->sequential_show_anim, 1.0, 0.0);
efl_text_set(obj, "Start Sequential Group Animation to hide button");
}
else
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->sequential_hide_anim);
+ efl_canvas_object_animation_start(ad->button, ad->sequential_hide_anim, 1.0, 0.0);
efl_text_set(obj, "Start Sequential Group Animation to show button");
}
-
- //Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -81,6 +85,7 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
/* Animations to hide button */
@@ -138,15 +143,7 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
//Initialize App Data
ad->sequential_show_anim = sequential_show_anim;
ad->sequential_hide_anim = sequential_hide_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
-
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
+ ad->button = btn;
ad->is_btn_visible = EINA_TRUE;
diff --git a/src/bin/elementary/test_efl_anim_interpolator.c b/src/bin/elementary/test_efl_anim_interpolator.c
index 96c7649373..c5a828ff22 100644
--- a/src/bin/elementary/test_efl_anim_interpolator.c
+++ b/src/bin/elementary/test_efl_anim_interpolator.c
@@ -13,7 +13,7 @@
typedef struct _App_Data
{
Efl_Canvas_Animation *anim[INTERP_NUM];
- Efl_Canvas_Animation_Player *anim_obj[INTERP_NUM];
+ Efl_Ui_Button *btns[INTERP_NUM];
Evas_Object *btn[INTERP_NUM];
Evas_Object *start_all_btn;
@@ -68,46 +68,49 @@ _interpolator_create(int index, Evas_Object *win)
}
static void
-_anim_started_cb(void *data, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
+ Eo *anim = event->info;
App_Data *ad = data;
- printf("Animation has been started!\n");
-
- ad->running_anim_cnt++;
-}
-
-static void
-_anim_ended_cb(void *data, const Efl_Event *event)
-{
- App_Data *ad = data;
- int i;
-
- printf("Animation has been ended!\n");
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ ad->running_anim_cnt++;
+ }
+ else
+ {
+ int i;
- ad->running_anim_cnt--;
+ printf("Animation has been ended!\n");
+ ad->running_anim_cnt--;
- for (i = 0; i < INTERP_NUM; i++)
- {
- if (ad->anim_obj[i] == event->object)
+ for (i = 0; i < INTERP_NUM; i++)
{
- elm_object_disabled_set(ad->btn[i], EINA_FALSE);
- break;
+ if (ad->btns[i] == event->object)
+ {
+ elm_object_disabled_set(ad->btn[i], EINA_FALSE);
+ break;
+ }
}
- }
- if (ad->running_anim_cnt == 0)
- elm_object_disabled_set(ad->start_all_btn, EINA_FALSE);
+ if (ad->running_anim_cnt == 0)
+ elm_object_disabled_set(ad->start_all_btn, EINA_FALSE);
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_anim_start(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -116,7 +119,7 @@ _anim_start(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
int index = (uintptr_t)evas_object_data_get(obj, "index");
//Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj[index], EINA_TRUE);
+ efl_canvas_object_animation_start(ad->btns[index], ad->anim[index], 1.0, 0.0);
elm_object_disabled_set(obj, EINA_TRUE);
elm_object_disabled_set(ad->start_all_btn, EINA_TRUE);
@@ -131,7 +134,7 @@ _anim_start_all(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
for (i = 0; i < INTERP_NUM; i++)
{
//Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj[i], EINA_TRUE);
+ efl_canvas_object_animation_start(ad->btns[i], ad->anim[i], 1.0, 0.0);
elm_object_disabled_set(ad->btn[i], EINA_TRUE);
}
@@ -147,9 +150,7 @@ _win_del_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUS
for (i = 0; i < INTERP_NUM; i++)
{
//Unregister callback called when window deletes
- efl_event_callback_del(ad->anim_obj[i],
- EFL_ANIMATION_PLAYER_EVENT_ENDED,
- _anim_ended_cb, ad);
+ efl_event_callback_array_del(ad->btns[i], animation_stats_cb(), ad);
}
free(ad);
@@ -211,23 +212,8 @@ test_efl_anim_interpolator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
ad->anim[i] = anim;
//Create Animation Object from Animation
- Efl_Canvas_Animation_Player *anim_obj =
- efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_animation_set(efl_added, anim),
- efl_animation_player_target_set(efl_added, btn));
- ad->anim_obj[i] = anim_obj;
-
- //Register callback called when animation starts
- efl_event_callback_add(anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED,
- _anim_started_cb, ad);
-
- //Register callback called when animation ends
- efl_event_callback_add(anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED,
- _anim_ended_cb, ad);
-
- //Register callback called while animation is executed
- efl_event_callback_add(anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING,
- _anim_running_cb, NULL);
+ ad->btns[i] = btn;
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
}
ad->running_anim_cnt = 0;
diff --git a/src/bin/elementary/test_efl_anim_pause.c b/src/bin/elementary/test_efl_anim_pause.c
index 3730db33cf..92d4b3e308 100644
--- a/src/bin/elementary/test_efl_anim_pause.c
+++ b/src/bin/elementary/test_efl_anim_pause.c
@@ -7,7 +7,7 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *show_anim;
Efl_Canvas_Animation *hide_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Evas_Object *pause_btn;
@@ -16,60 +16,54 @@ typedef struct _App_Data
} App_Data;
static void
-_anim_started_cb(void *data, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
{
+ Eo *anim = event->info;
App_Data *ad = data;
- printf("Animation has been started!\n");
-
- elm_object_disabled_set(ad->pause_btn, EINA_FALSE);
-}
-
-static void
-_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED)
-{
- App_Data *ad = data;
-
- printf("Animation has been ended!\n");
-
- elm_object_disabled_set(ad->pause_btn, EINA_TRUE);
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ elm_object_disabled_set(ad->pause_btn, EINA_FALSE);
+ }
+ else
+ {
+ printf("Animation has been ended!\n");
+ elm_object_disabled_set(ad->pause_btn, EINA_TRUE);
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
App_Data *ad = data;
- if (ad->anim_obj)
- {
- ad->is_anim_paused = EINA_FALSE;
- elm_object_text_set(ad->pause_btn, "Pause Animation");
- }
-
ad->is_btn_visible = !(ad->is_btn_visible);
if (ad->is_btn_visible)
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->show_anim);
+ efl_canvas_object_animation_start(ad->button, ad->show_anim, 1.0, 0.0);
efl_text_set(obj, "Start Alpha Animation from 1.0 to 0.0");
}
else
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->hide_anim);
+ efl_canvas_object_animation_start(ad->button, ad->hide_anim, 1.0, 0.0);
efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0");
}
- //Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -82,13 +76,13 @@ _pause_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
if (ad->is_anim_paused)
{
//Pause animation
- efl_player_paused_set(ad->anim_obj, EINA_TRUE);
+ efl_canvas_object_animation_pause_set(ad->button, EINA_TRUE);
elm_object_text_set(obj, "Resume Animation");
}
else
{
//Resume animation
- efl_player_paused_set(ad->anim_obj, EINA_FALSE);
+ efl_canvas_object_animation_pause_set(ad->button, EINA_FALSE);
elm_object_text_set(obj, "Pause Animation");
}
}
@@ -118,6 +112,7 @@ test_efl_anim_pause(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
evas_object_resize(btn, 200, 200);
evas_object_move(btn, 100, 50);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Show Animation
Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
@@ -152,25 +147,14 @@ test_efl_anim_pause(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
//Pause button becomes enabled only if the animation is started
elm_object_disabled_set(pause_btn, EINA_TRUE);
-
//Initialize App Data
ad->show_anim = show_anim;
ad->hide_anim = hide_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
-
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, ad);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
+ ad->button = btn;
ad->pause_btn = pause_btn;
ad->is_btn_visible = EINA_TRUE;
ad->is_anim_paused = EINA_FALSE;
-
evas_object_resize(win, 400, 450);
evas_object_show(win);
}
diff --git a/src/bin/elementary/test_efl_anim_repeat.c b/src/bin/elementary/test_efl_anim_repeat.c
index 55bf98c748..0f72882207 100644
--- a/src/bin/elementary/test_efl_anim_repeat.c
+++ b/src/bin/elementary/test_efl_anim_repeat.c
@@ -7,7 +7,7 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *show_anim;
Efl_Canvas_Animation *hide_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Evas_Object *start_btn;
Evas_Object *repeat_count_spin;
@@ -27,46 +27,50 @@ _anim_repeat_mode_get(Evas_Object *spinner)
return EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE;
}
-static void
-_anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
-{
- printf("Animation has been started!\n");
-}
static void
-_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
{
+ Eo *anim = event->info;
App_Data *ad = data;
- printf("Animation has been ended!\n");
-
- Efl_Canvas_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin);
- if (repeat_mode == EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE)
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ }
+ else
{
- int repeat_count = elm_spinner_value_get(ad->repeat_count_spin);
- if (repeat_count % 2 == 1)
+ printf("Animation has been ended!\n");
+ Efl_Canvas_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin);
+ if (repeat_mode == EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE)
{
- ad->is_btn_visible = !(ad->is_btn_visible);
-
- if (ad->is_btn_visible)
- elm_object_text_set(ad->start_btn, "Start Alpha Animation from 1.0 to 0.0");
- else
- elm_object_text_set(ad->start_btn, "Start Alpha Animation from 0.0 to 1.0");
+ int repeat_count = elm_spinner_value_get(ad->repeat_count_spin);
+ if (repeat_count % 2 == 1)
+ {
+ ad->is_btn_visible = !(ad->is_btn_visible);
+ if (ad->is_btn_visible)
+ elm_object_text_set(ad->start_btn, "Start Alpha Animation from 1.0 to 0.0");
+ else
+ elm_object_text_set(ad->start_btn, "Start Alpha Animation from 0.0 to 1.0");
+ }
}
+ elm_object_disabled_set(ad->repeat_count_spin, EINA_FALSE);
+ elm_object_disabled_set(ad->repeat_mode_spin, EINA_FALSE);
}
-
- elm_object_disabled_set(ad->repeat_count_spin, EINA_FALSE);
- elm_object_disabled_set(ad->repeat_mode_spin, EINA_FALSE);
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -89,7 +93,7 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
efl_animation_repeat_mode_set(ad->show_anim, repeat_mode);
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->show_anim);
+ efl_canvas_object_animation_start(ad->button, ad->show_anim, 1.0, 0.0);
efl_text_set(obj, "Start Alpha Animation from 1.0 to 0.0");
}
else
@@ -101,12 +105,9 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
efl_animation_repeat_mode_set(ad->hide_anim, repeat_mode);
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->hide_anim);
+ efl_canvas_object_animation_start(ad->button, ad->hide_anim, 1.0, 0.0);
efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0");
}
-
- //Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -133,6 +134,7 @@ test_efl_anim_repeat(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
evas_object_resize(btn, 200, 200);
evas_object_move(btn, 100, 50);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Show Animation
Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
@@ -178,24 +180,14 @@ test_efl_anim_repeat(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
evas_object_move(repeat_mode_spin, 100, 400);
evas_object_show(repeat_mode_spin);
-
//Initialize App Data
ad->show_anim = show_anim;
ad->hide_anim = hide_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
ad->start_btn = start_btn;
ad->repeat_count_spin = repeat_count_spin;
ad->repeat_mode_spin = repeat_mode_spin;
ad->is_btn_visible = EINA_TRUE;
-
+ ad->button = btn;
evas_object_resize(win, 400, 500);
evas_object_show(win);
diff --git a/src/bin/elementary/test_efl_anim_rotate.c b/src/bin/elementary/test_efl_anim_rotate.c
index ea8b94af68..437d015d75 100644
--- a/src/bin/elementary/test_efl_anim_rotate.c
+++ b/src/bin/elementary/test_efl_anim_rotate.c
@@ -7,31 +7,38 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *cw_45_degrees_anim;
Efl_Canvas_Animation *ccw_45_degrees_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Eina_Bool is_btn_rotated;
} App_Data;
static void
-_anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
- printf("Animation has been started!\n");
-}
+ Eo *anim = event->info;
-static void
-_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
-{
- printf("Animation has been ended!\n");
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ }
+ else
+ {
+ printf("Animation has been ended!\n");
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -42,18 +49,15 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
if (ad->is_btn_rotated)
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->cw_45_degrees_anim);
+ efl_canvas_object_animation_start(ad->button, ad->cw_45_degrees_anim, 1.0, 0.0);
efl_text_set(obj, "Start Rotate Animation from 45 to 0 degrees");
}
else
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->ccw_45_degrees_anim);
+ efl_canvas_object_animation_start(ad->button, ad->ccw_45_degrees_anim, 1.0, 0.0);
efl_text_set(obj, "Start Rotate Animation from 0 to 45 degrees");
}
-
- //Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -81,6 +85,7 @@ test_efl_anim_rotate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Rotate from 0 to 45 degrees Animation
Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
@@ -97,16 +102,7 @@ test_efl_anim_rotate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
//Initialize App Data
ad->cw_45_degrees_anim = cw_45_degrees_anim;
ad->ccw_45_degrees_anim = ccw_45_degrees_anim;
-
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
+ ad->button = btn;
ad->is_btn_rotated = EINA_FALSE;
//Button to start animation
@@ -140,6 +136,7 @@ test_efl_anim_rotate_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Pivot to be center of the rotation
Evas_Object *pivot = elm_button_add(win);
@@ -164,18 +161,8 @@ test_efl_anim_rotate_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
//Initialize App Data
ad->cw_45_degrees_anim = cw_45_degrees_anim;
ad->ccw_45_degrees_anim = ccw_45_degrees_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
-
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
-
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL);
-
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
ad->is_btn_rotated = EINA_FALSE;
+ ad->button = btn;
//Button to start animation
Evas_Object *btn2 = elm_button_add(win);
@@ -208,6 +195,7 @@ test_efl_anim_rotate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Absolute coordinate (0, 0) to be center of the rotation
Evas_Object *abs_center = elm_button_add(win);
@@ -232,17 +220,8 @@ test_efl_anim_rotate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
//Initialize App Data
ad->cw_45_degrees_anim = cw_45_degrees_anim;
ad->ccw_45_degrees_anim = ccw_45_degrees_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
-
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
ad->is_btn_rotated = EINA_FALSE;
+ ad->button = btn;
//Button to start animation
Evas_Object *btn2 = elm_button_add(win);
diff --git a/src/bin/elementary/test_efl_anim_scale.c b/src/bin/elementary/test_efl_anim_scale.c
index d3812dec67..93ac1f7270 100644
--- a/src/bin/elementary/test_efl_anim_scale.c
+++ b/src/bin/elementary/test_efl_anim_scale.c
@@ -7,31 +7,38 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *scale_double_anim;
Efl_Canvas_Animation *scale_half_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Eina_Bool is_btn_scaled;
} App_Data;
static void
-_anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
- printf("Animation has been started!\n");
-}
+ Eo *anim = event->info;
-static void
-_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
-{
- printf("Animation has been ended!\n");
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ }
+ else
+ {
+ printf("Animation has been ended!\n");
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -42,18 +49,15 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
if (ad->is_btn_scaled)
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->scale_double_anim);
+ efl_canvas_object_animation_start(ad->button, ad->scale_double_anim, 1.0, 0.0);
efl_text_set(obj, "Start Scale Animation to zoom out");
}
else
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->scale_half_anim);
+ efl_canvas_object_animation_start(ad->button, ad->scale_half_anim, 1.0, 0.0);
efl_text_set(obj, "Start Scale Animation to zoom in");
}
-
- //Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -81,6 +85,7 @@ test_efl_anim_scale(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Scale Animation to zoom in
Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
@@ -97,19 +102,8 @@ test_efl_anim_scale(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
//Initialize App Data
ad->scale_double_anim = scale_double_anim;
ad->scale_half_anim = scale_half_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
-
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
-
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad);
-
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
ad->is_btn_scaled = EINA_FALSE;
+ ad->button = btn;
//Button to start animation
Evas_Object *btn2 = elm_button_add(win);
@@ -142,6 +136,7 @@ test_efl_anim_scale_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Pivot to be center of the scaling
Evas_Object *pivot = elm_button_add(win);
@@ -166,15 +161,7 @@ test_efl_anim_scale_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
//Initialize App Data
ad->scale_double_anim = scale_double_anim;
ad->scale_half_anim = scale_half_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
+ ad->button = btn;
ad->is_btn_scaled = EINA_FALSE;
//Button to start animation
@@ -208,6 +195,7 @@ test_efl_anim_scale_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Absolute coordinate (0, 0) to be center of the scaling
Evas_Object *abs_center = elm_button_add(win);
@@ -232,15 +220,7 @@ test_efl_anim_scale_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
//Initialize App Data
ad->scale_double_anim = scale_double_anim;
ad->scale_half_anim = scale_half_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
+ ad->button = btn;
ad->is_btn_scaled = EINA_FALSE;
//Button to start animation
diff --git a/src/bin/elementary/test_efl_anim_start_delay.c b/src/bin/elementary/test_efl_anim_start_delay.c
index e3c7b255b5..6ef663b33a 100644
--- a/src/bin/elementary/test_efl_anim_start_delay.c
+++ b/src/bin/elementary/test_efl_anim_start_delay.c
@@ -7,7 +7,7 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *show_anim;
Efl_Canvas_Animation *hide_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Evas_Object *start_delay_spin;
@@ -15,29 +15,35 @@ typedef struct _App_Data
} App_Data;
static void
-_anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
-{
- printf("Animation has been started!\n");
-}
-
-static void
-_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
{
+ Eo *anim = event->info;
App_Data *ad = data;
- printf("Animation has been ended!\n");
-
- elm_object_disabled_set(ad->start_delay_spin, EINA_FALSE);
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ elm_object_disabled_set(ad->start_delay_spin, EINA_FALSE);
+ }
+ else
+ {
+ printf("Animation has been ended!\n");
+ elm_object_disabled_set(ad->start_delay_spin, EINA_TRUE);
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -54,7 +60,7 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
efl_animation_start_delay_set(ad->show_anim, start_delay);
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->show_anim);
+ efl_canvas_object_animation_start(ad->button, ad->show_anim, 1.0, 0.0);
efl_text_set(obj, "Start Alpha Animation from 1.0 to 0.0");
}
else
@@ -63,12 +69,9 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED
efl_animation_start_delay_set(ad->hide_anim, start_delay);
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->hide_anim);
+ efl_canvas_object_animation_start(ad->button, ad->hide_anim, 1.0, 0.0);
efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0");
}
-
- //Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -96,6 +99,7 @@ test_efl_anim_start_delay(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
evas_object_resize(btn, 200, 200);
evas_object_move(btn, 100, 50);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Show Animation
Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
@@ -130,23 +134,12 @@ test_efl_anim_start_delay(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
evas_object_move(start_delay_spin, 100, 350);
evas_object_show(start_delay_spin);
-
//Initialize App Data
ad->show_anim = show_anim;
ad->hide_anim = hide_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
-
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
ad->start_delay_spin = start_delay_spin;
ad->is_btn_visible = EINA_TRUE;
-
+ ad->button = btn;
evas_object_resize(win, 400, 450);
evas_object_show(win);
diff --git a/src/bin/elementary/test_efl_anim_translate.c b/src/bin/elementary/test_efl_anim_translate.c
index 5bbf1b22e7..7617be87d1 100644
--- a/src/bin/elementary/test_efl_anim_translate.c
+++ b/src/bin/elementary/test_efl_anim_translate.c
@@ -7,31 +7,38 @@ typedef struct _App_Data
{
Efl_Canvas_Animation *translate_rb_anim;
Efl_Canvas_Animation *translate_lt_anim;
- Efl_Canvas_Animation_Player *anim_obj;
+ Elm_Button *button;
Eina_Bool is_btn_translated;
} App_Data;
static void
-_anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+_anim_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
- printf("Animation has been started!\n");
-}
+ Eo *anim = event->info;
-static void
-_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
-{
- printf("Animation has been ended!\n");
+ if (anim)
+ {
+ printf("Animation has been started!\n");
+ }
+ else
+ {
+ printf("Animation has been ended!\n");
+ }
}
static void
_anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
- Efl_Canvas_Animation_Player_Event_Running *event_running = event->info;
- double progress = event_running->progress;
- printf("Animation is running! Current progress(%lf)\n", progress);
+ double *progress = event->info;
+ printf("Animation is running! Current progress(%lf)\n", *progress);
}
+EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, _anim_changed_cb },
+ {EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _anim_running_cb },
+)
+
static void
_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
@@ -42,18 +49,15 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
if (ad->is_btn_translated)
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->translate_rb_anim);
+ efl_canvas_object_animation_start(ad->button, ad->translate_rb_anim, 1.0, 0.0);
efl_text_set(obj, "Start Translate Animation to left top");
}
else
{
//Create Animation Object from Animation
- efl_animation_player_animation_set(ad->anim_obj, ad->translate_lt_anim);
+ efl_canvas_object_animation_start(ad->button, ad->translate_lt_anim, 1.0, 0.0);
efl_text_set(obj, "Start Translate Animation to right bottom");
}
-
- //Let Animation Object start animation
- efl_player_playing_set(ad->anim_obj, EINA_TRUE);
}
static void
@@ -81,6 +85,7 @@ test_efl_anim_translate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Translate Animation to right bottom relatively
Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
@@ -97,15 +102,7 @@ test_efl_anim_translate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo
//Initialize App Data
ad->translate_rb_anim = translate_rb_anim;
ad->translate_lt_anim = translate_lt_anim;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
-
+ ad->button = btn;
ad->is_btn_translated = EINA_FALSE;
//Button to start animation
@@ -139,6 +136,7 @@ test_efl_anim_translate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_U
evas_object_resize(btn, 150, 150);
evas_object_move(btn, 125, 100);
evas_object_show(btn);
+ efl_event_callback_array_add(btn, animation_stats_cb(), ad);
//Absolute coordinate (0, 0) for absolute translation
Evas_Object *abs_center = elm_button_add(win);
@@ -164,14 +162,7 @@ test_efl_anim_translate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_U
ad->translate_rb_anim = translate_rb_anim;
ad->translate_lt_anim = translate_lt_anim;
ad->is_btn_translated = EINA_FALSE;
- ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win,
- efl_animation_player_target_set(efl_added, btn));
- //Register callback called when animation starts
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL);
- //Register callback called when animation ends
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL);
- //Register callback called while animation is executed
- efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL);
+ ad->button = btn;
//Button to start animation
Evas_Object *btn2 = elm_button_add(win);