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"); - - ad->running_anim_cnt--; - - for (i = 0; i < INTERP_NUM; i++) + if (anim) { - if (ad->anim_obj[i] == event->object) - { - elm_object_disabled_set(ad->btn[i], EINA_FALSE); - break; - } + printf("Animation has been started!\n"); + ad->running_anim_cnt++; } + else + { + int i; - if (ad->running_anim_cnt == 0) - elm_object_disabled_set(ad->start_all_btn, EINA_FALSE); + printf("Animation has been ended!\n"); + ad->running_anim_cnt--; + + for (i = 0; i < INTERP_NUM; i++) + { + 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); + } } 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) { - 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"); - } + printf("Animation has been started!\n"); + } + else + { + 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) + { + 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);