forked from enlightenment/efl
elementary_test: Apply changed event related to Efl.Ui.Vg_Animation
Summary: Events has changed from Efl.Ui.Vg_Animation to Efl.Player. Apply the changes. ref T8476 Depends on D11080 Test Plan: elementary_test -to "Vector Graphics Animation" Reviewers: zmike, Hermet, kimcinoo Reviewed By: zmike Subscribers: cedric, #reviewers, #committers, segfaultxavi, bu5hm4n Tags: #efl Maniphest Tasks: T8476 Differential Revision: https://phab.enlightenment.org/D11100
This commit is contained in:
parent
a63306a908
commit
e71cfba201
|
@ -15,6 +15,12 @@
|
|||
|
||||
#ifdef BUILD_VG_LOADER_JSON
|
||||
|
||||
typedef struct _App_Data
|
||||
{
|
||||
Eo *label;
|
||||
Eo *slider;
|
||||
} App_Data;
|
||||
|
||||
Evas_Object *values[4], *anim_view;
|
||||
Evas_Object *path_entry, *type_hoversel;
|
||||
|
||||
|
@ -185,58 +191,6 @@ limit_frame_cb(void *data, const Efl_Event *event)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
update_anim_view_state(Evas_Object *anim_view, Evas_Object *label)
|
||||
{
|
||||
Efl_Ui_Vg_Animation_State state = efl_ui_vg_animation_state_get(anim_view);
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case EFL_UI_VG_ANIMATION_STATE_NOT_READY:
|
||||
efl_text_set(label, "State = Not Ready");
|
||||
break;
|
||||
case EFL_UI_VG_ANIMATION_STATE_PLAYING:
|
||||
efl_text_set(label, "State = Playing");
|
||||
break;
|
||||
case EFL_UI_VG_ANIMATION_STATE_PLAYING_BACKWARDS:
|
||||
efl_text_set(label, "State = Playing Backwards");
|
||||
|
||||
break;
|
||||
case EFL_UI_VG_ANIMATION_STATE_PAUSED:
|
||||
efl_text_set(label, "State = Paused");
|
||||
break;
|
||||
case EFL_UI_VG_ANIMATION_STATE_STOPPED:
|
||||
efl_text_set(label, "State = Stopped");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_play_updated(void *data, Evas_Object *obj, void *ev EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *slider = data;
|
||||
efl_ui_range_value_set(slider, efl_player_playback_progress_get(obj));
|
||||
}
|
||||
|
||||
static void
|
||||
_state_update(void *data, Evas_Object *obj, void *ev EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *label = data;
|
||||
update_anim_view_state(obj, label);
|
||||
}
|
||||
|
||||
static void
|
||||
_play_done(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev EINA_UNUSED)
|
||||
{
|
||||
printf("done!\n");
|
||||
}
|
||||
|
||||
static void
|
||||
_play_repeated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev EINA_UNUSED)
|
||||
{
|
||||
printf("repeated!\n");
|
||||
}
|
||||
|
||||
static void
|
||||
_slider_changed_cb(void *data, const Efl_Event *ev)
|
||||
{
|
||||
|
@ -244,13 +198,6 @@ _slider_changed_cb(void *data, const Efl_Event *ev)
|
|||
efl_player_playback_progress_set(anim_view, efl_ui_range_value_get(ev->object));
|
||||
}
|
||||
|
||||
static void
|
||||
_slider_reset(void *data, Evas_Object *obj EINA_UNUSED, void *ev EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *slider = data;
|
||||
efl_ui_range_value_set(slider, 0);
|
||||
}
|
||||
|
||||
void values_input(Eo* box, const char* type)
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
|
@ -300,18 +247,102 @@ _hover_item_selected_cb(void *data, Evas_Object *obj, void *event_info)
|
|||
values_input(box, selected);
|
||||
}
|
||||
|
||||
static void
|
||||
update_anim_view_state(Evas_Object *anim_view, Evas_Object *label)
|
||||
{
|
||||
Efl_Ui_Vg_Animation_State state = efl_ui_vg_animation_state_get(anim_view);
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case EFL_UI_VG_ANIMATION_STATE_NOT_READY:
|
||||
efl_text_set(label, "State = Not Ready");
|
||||
break;
|
||||
case EFL_UI_VG_ANIMATION_STATE_PLAYING:
|
||||
efl_text_set(label, "State = Playing");
|
||||
break;
|
||||
case EFL_UI_VG_ANIMATION_STATE_PLAYING_BACKWARDS:
|
||||
efl_text_set(label, "State = Playing Backwards");
|
||||
|
||||
break;
|
||||
case EFL_UI_VG_ANIMATION_STATE_PAUSED:
|
||||
efl_text_set(label, "State = Paused");
|
||||
break;
|
||||
case EFL_UI_VG_ANIMATION_STATE_STOPPED:
|
||||
efl_text_set(label, "State = Stopped");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_animation_playing_changed_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
Eina_Bool playing = *(Eina_Bool*)event->info;
|
||||
App_Data *ad = data;
|
||||
update_anim_view_state(event->object, ad->label);
|
||||
//Stopped
|
||||
if (!playing)
|
||||
efl_ui_range_value_set(ad->slider, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
_animation_paused_changed_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
App_Data *ad = data;
|
||||
update_anim_view_state(event->object, ad->label);
|
||||
}
|
||||
|
||||
static void
|
||||
_animation_playback_progress_changed_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
double progress = *(double*)event->info;
|
||||
App_Data *ad = data;
|
||||
efl_ui_range_value_set(ad->slider, progress);
|
||||
}
|
||||
|
||||
static void
|
||||
_animation_playback_repeated_changed_cb(void *data EINA_UNUSED, const Efl_Event *event)
|
||||
{
|
||||
int repeated_times = *(int*)event->info;
|
||||
printf("repeated! (times: %d)\n", repeated_times);
|
||||
}
|
||||
|
||||
static void
|
||||
_animation_playback_finished_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
|
||||
{
|
||||
printf("done!\n");
|
||||
}
|
||||
|
||||
EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
|
||||
{EFL_PLAYER_EVENT_PLAYING_CHANGED, _animation_playing_changed_cb },
|
||||
{EFL_PLAYER_EVENT_PAUSED_CHANGED, _animation_paused_changed_cb },
|
||||
{EFL_PLAYER_EVENT_PLAYBACK_PROGRESS_CHANGED, _animation_playback_progress_changed_cb },
|
||||
{EFL_PLAYER_EVENT_PLAYBACK_REPEATED, _animation_playback_repeated_changed_cb },
|
||||
{EFL_PLAYER_EVENT_PLAYBACK_FINISHED, _animation_playback_finished_changed_cb },
|
||||
)
|
||||
|
||||
static void
|
||||
_win_del_cb(void *data, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
App_Data *ad = data;
|
||||
free(ad);
|
||||
}
|
||||
|
||||
void
|
||||
test_efl_gfx_vg_value_provider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Eo *win, *box, *box_sub, *label, *check, *slider, *list;
|
||||
char buf[255];
|
||||
App_Data *ad = calloc(1, sizeof(App_Data));
|
||||
if (!ad) return;
|
||||
|
||||
// This line must to need.
|
||||
setenv("ELM_ACCEL", "gl", 1);
|
||||
|
||||
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
|
||||
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
|
||||
efl_text_set(efl_added, "Efl_Ui_Vg_Animation demo"),
|
||||
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
|
||||
efl_ui_win_autodel_set(efl_added, EINA_TRUE),
|
||||
efl_event_callback_add(efl_added, EFL_EVENT_DEL, _win_del_cb, ad));
|
||||
|
||||
// Create a box in Canvas
|
||||
box = efl_add(EFL_UI_BOX_CLASS, win,
|
||||
|
@ -558,16 +589,10 @@ test_efl_gfx_vg_value_provider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
|
|||
efl_pack(box_sub, efl_added),
|
||||
efl_event_callback_add(efl_added, EFL_INPUT_EVENT_CLICKED, btn_clicked_cb, anim_view));
|
||||
|
||||
evas_object_smart_callback_add(anim_view, "play,start", _state_update, label);
|
||||
evas_object_smart_callback_add(anim_view, "play,stop", _state_update, label);
|
||||
evas_object_smart_callback_add(anim_view, "play,pause", _state_update, label);
|
||||
evas_object_smart_callback_add(anim_view, "play,resume", _state_update, label);
|
||||
efl_event_callback_array_add(anim_view, animation_stats_cb(), ad);
|
||||
|
||||
evas_object_smart_callback_add(anim_view, "play,repeat", _play_repeated, label);
|
||||
evas_object_smart_callback_add(anim_view, "play,done", _play_done, label);
|
||||
|
||||
evas_object_smart_callback_add(anim_view, "play,update", _play_updated, slider);
|
||||
evas_object_smart_callback_add(anim_view, "play,stop", _slider_reset, slider);
|
||||
ad->label = label;
|
||||
ad->slider = slider;
|
||||
|
||||
update_anim_view_state(anim_view, label);
|
||||
|
||||
|
|
|
@ -14,6 +14,12 @@
|
|||
|
||||
#ifdef BUILD_VG_LOADER_JSON
|
||||
|
||||
typedef struct _App_Data
|
||||
{
|
||||
Eo *label;
|
||||
Eo *slider;
|
||||
} App_Data;
|
||||
|
||||
static void
|
||||
btn_clicked_cb(void *data , const Efl_Event *ev )
|
||||
{
|
||||
|
@ -78,6 +84,13 @@ limit_frame_cb(void *data, const Efl_Event *event)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_slider_changed_cb(void *data, const Efl_Event *ev)
|
||||
{
|
||||
Evas_Object *anim_view = data;
|
||||
efl_player_playback_progress_set(anim_view, efl_ui_range_value_get(ev->object));
|
||||
}
|
||||
|
||||
static void
|
||||
update_anim_view_state(Evas_Object *anim_view, Evas_Object *label)
|
||||
{
|
||||
|
@ -104,43 +117,57 @@ update_anim_view_state(Evas_Object *anim_view, Evas_Object *label)
|
|||
}
|
||||
|
||||
static void
|
||||
_play_updated(void *data, Evas_Object *obj, void *ev EINA_UNUSED)
|
||||
_animation_playing_changed_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
Evas_Object *slider = data;
|
||||
efl_ui_range_value_set(slider, efl_player_playback_progress_get(obj));
|
||||
Eina_Bool playing = *(Eina_Bool*)event->info;
|
||||
App_Data *ad = data;
|
||||
update_anim_view_state(event->object, ad->label);
|
||||
//Stopped
|
||||
if (!playing)
|
||||
efl_ui_range_value_set(ad->slider, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
_state_update(void *data, Evas_Object *obj, void *ev EINA_UNUSED)
|
||||
_animation_paused_changed_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
Evas_Object *label = data;
|
||||
update_anim_view_state(obj, label);
|
||||
App_Data *ad = data;
|
||||
update_anim_view_state(event->object, ad->label);
|
||||
}
|
||||
|
||||
static void
|
||||
_play_done(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev EINA_UNUSED)
|
||||
_animation_playback_progress_changed_cb(void *data, const Efl_Event *event)
|
||||
{
|
||||
double progress = *(double*)event->info;
|
||||
App_Data *ad = data;
|
||||
efl_ui_range_value_set(ad->slider, progress);
|
||||
}
|
||||
|
||||
static void
|
||||
_animation_playback_repeated_changed_cb(void *data EINA_UNUSED, const Efl_Event *event)
|
||||
{
|
||||
int repeated_times = *(int*)event->info;
|
||||
printf("repeated! (times: %d)\n", repeated_times);
|
||||
}
|
||||
|
||||
static void
|
||||
_animation_playback_finished_changed_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
|
||||
{
|
||||
printf("done!\n");
|
||||
}
|
||||
|
||||
static void
|
||||
_play_repeated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev EINA_UNUSED)
|
||||
{
|
||||
printf("repeated!\n");
|
||||
}
|
||||
EFL_CALLBACKS_ARRAY_DEFINE(animation_stats_cb,
|
||||
{EFL_PLAYER_EVENT_PLAYING_CHANGED, _animation_playing_changed_cb },
|
||||
{EFL_PLAYER_EVENT_PAUSED_CHANGED, _animation_paused_changed_cb },
|
||||
{EFL_PLAYER_EVENT_PLAYBACK_PROGRESS_CHANGED, _animation_playback_progress_changed_cb },
|
||||
{EFL_PLAYER_EVENT_PLAYBACK_REPEATED, _animation_playback_repeated_changed_cb },
|
||||
{EFL_PLAYER_EVENT_PLAYBACK_FINISHED, _animation_playback_finished_changed_cb },
|
||||
)
|
||||
|
||||
static void
|
||||
_slider_changed_cb(void *data, const Efl_Event *ev)
|
||||
_win_del_cb(void *data, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *anim_view = data;
|
||||
efl_player_playback_progress_set(anim_view, efl_ui_range_value_get(ev->object));
|
||||
}
|
||||
|
||||
static void
|
||||
_slider_reset(void *data, Evas_Object *obj EINA_UNUSED, void *ev EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *slider = data;
|
||||
efl_ui_range_value_set(slider, 0);
|
||||
App_Data *ad = data;
|
||||
free(ad);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -148,10 +175,13 @@ test_efl_ui_vg_animation(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, v
|
|||
{
|
||||
Eo *win, *box, *box2, *box3, *box4, *label, *anim_view, *check, *slider;
|
||||
char buf[255];
|
||||
App_Data *ad = calloc(1, sizeof(App_Data));
|
||||
if (!ad) return;
|
||||
|
||||
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
|
||||
efl_text_set(efl_added, "Efl_Ui_Vg_Animation demo"),
|
||||
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
|
||||
efl_text_set(efl_added, "Efl_Ui_Vg_Animation demo"),
|
||||
efl_ui_win_autodel_set(efl_added, EINA_TRUE),
|
||||
efl_event_callback_add(efl_added, EFL_EVENT_DEL, _win_del_cb, ad));
|
||||
|
||||
// Create a box in Canvas
|
||||
box = efl_add(EFL_UI_BOX_CLASS, win,
|
||||
|
@ -279,19 +309,13 @@ test_efl_ui_vg_animation(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, v
|
|||
efl_pack(box4, efl_added),
|
||||
efl_event_callback_add(efl_added, EFL_INPUT_EVENT_CLICKED, btn_clicked_cb, anim_view));
|
||||
|
||||
evas_object_smart_callback_add(anim_view, "play,start", _state_update, label);
|
||||
evas_object_smart_callback_add(anim_view, "play,stop", _state_update, label);
|
||||
evas_object_smart_callback_add(anim_view, "play,pause", _state_update, label);
|
||||
evas_object_smart_callback_add(anim_view, "play,resume", _state_update, label);
|
||||
|
||||
evas_object_smart_callback_add(anim_view, "play,repeat", _play_repeated, label);
|
||||
evas_object_smart_callback_add(anim_view, "play,done", _play_done, label);
|
||||
|
||||
evas_object_smart_callback_add(anim_view, "play,update", _play_updated, slider);
|
||||
evas_object_smart_callback_add(anim_view, "play,stop", _slider_reset, slider);
|
||||
efl_event_callback_array_add(anim_view, animation_stats_cb(), ad);
|
||||
|
||||
update_anim_view_state(anim_view, label);
|
||||
|
||||
ad->label = label;
|
||||
ad->slider = slider;
|
||||
|
||||
efl_gfx_entity_size_set(win, EINA_SIZE2D(600, 730));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue