jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=0657cd583f7c451b28130e699aef26893603c0b6
commit 0657cd583f7c451b28130e699aef26893603c0b6 Author: Avi Levin <avi.le...@samsung.com> Date: Tue Apr 28 19:37:09 2015 +0300 elc_player: porting evas smart callbacks to eo --- src/lib/elc_player.c | 206 ++++++++++++++++++++++++++++----------------------- 1 file changed, 113 insertions(+), 93 deletions(-) diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c old mode 100644 new mode 100755 index 1818e1f..91e38ed --- a/src/lib/elc_player.c +++ b/src/lib/elc_player.c @@ -210,16 +210,15 @@ _elm_player_elm_layout_sizing_eval(Eo *obj, Elm_Player_Data *sd EINA_UNUSED) evas_object_size_hint_min_set(obj, w, h); } -static void +static Eina_Bool _update_slider(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { double pos, length; Eina_Bool seekable; ELM_PLAYER_DATA_GET(data, sd); - if (!sd) return; + if (!sd) return EINA_TRUE; seekable = elm_video_is_seekable_get(sd->video); length = elm_video_play_length_get(sd->video); @@ -231,22 +230,24 @@ _update_slider(void *data, if ((elm_slider_value_get(sd->slider) != pos) && (!sd->dragging)) elm_slider_value_set(sd->slider, pos); + + return EINA_TRUE; } -static void +static Eina_Bool _update_frame(void *data, - Evas_Object *obj, - void *event_info) + Eo *obj, const Eo_Event_Description *desc, void *event_info) { ELM_PLAYER_DATA_GET(data, sd); - if (!sd) return; - _update_slider(data, obj, event_info); + if (!sd) return EINA_TRUE; + _update_slider(data, obj, desc, event_info); + + return EINA_TRUE; } -static void +static Eina_Bool _update_position(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { double pos; ELM_PLAYER_DATA_GET(data, sd); @@ -254,30 +255,33 @@ _update_position(void *data, pos = elm_slider_value_get(sd->slider); if (pos != elm_video_play_position_get(sd->video)) elm_video_play_position_set(sd->video, pos); + + return EINA_TRUE; } -static void +static Eina_Bool _drag_start(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { ELM_PLAYER_DATA_GET(data, sd); sd->dragging = EINA_TRUE; + + return EINA_TRUE; } -static void +static Eina_Bool _drag_stop(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { ELM_PLAYER_DATA_GET(data, sd); sd->dragging = EINA_FALSE; + + return EINA_TRUE; } -static void +static Eina_Bool _update_volume(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { double vol; ELM_PLAYER_DATA_GET(data, sd); @@ -285,12 +289,13 @@ _update_volume(void *data, vol = elm_slider_value_get(sd->vslider) / 100.0; if (vol != elm_video_audio_level_get(sd->video)) elm_video_audio_level_set(sd->video, vol); + + return EINA_TRUE; } -static void +static Eina_Bool _forward(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { double pos, length; ELM_PLAYER_DATA_GET(data, sd); @@ -302,64 +307,70 @@ _forward(void *data, elm_video_play_position_set(sd->video, pos); elm_layout_signal_emit(data, "elm,button,forward", "elm"); - evas_object_smart_callback_call(data, SIG_FORWARD_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_FORWARD_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _info(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { elm_layout_signal_emit(data, "elm,button,info", "elm"); - evas_object_smart_callback_call(data, SIG_INFO_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_INFO_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _next(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { elm_layout_signal_emit(data, "elm,button,next", "elm"); - evas_object_smart_callback_call(data, SIG_NEXT_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_NEXT_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _pause(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { ELM_PLAYER_DATA_GET(data, sd); elm_layout_signal_emit(data, "elm,player,pause", "elm"); elm_video_pause(sd->video); - evas_object_smart_callback_call(data, SIG_PAUSE_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_PAUSE_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _play(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { ELM_PLAYER_DATA_GET(data, sd); elm_layout_signal_emit(data, "elm,player,play", "elm"); elm_video_play(sd->video); - evas_object_smart_callback_call(data, SIG_PLAY_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_PLAY_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _prev(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { - evas_object_smart_callback_call(data, SIG_PREV_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_PREV_CLICKED, NULL)); elm_layout_signal_emit(data, "elm,button,prev", "elm"); + + return EINA_TRUE; } -static void +static Eina_Bool _rewind(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { double pos; ELM_PLAYER_DATA_GET(data, sd); @@ -370,28 +381,32 @@ _rewind(void *data, elm_video_play_position_set(sd->video, pos); elm_layout_signal_emit(data, "elm,button,rewind", "elm"); - evas_object_smart_callback_call(data, SIG_REWIND_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_REWIND_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _stop(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { elm_layout_signal_emit(data, "elm,button,stop", "elm"); - evas_object_smart_callback_call(data, SIG_STOP_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_QUALITY_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _eject(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { ELM_PLAYER_DATA_GET(data, sd); elm_layout_signal_emit(data, "elm,button,eject", "elm"); emotion_object_eject(elm_video_emotion_get(sd->video)); - evas_object_smart_callback_call(data, SIG_EJECT_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_EJECT_CLICKED, NULL)); + + return EINA_TRUE; } static void @@ -411,40 +426,44 @@ _mute_toggle(Evas_Object *obj) } } -static void +static Eina_Bool _volume(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { elm_layout_signal_emit(data, "elm,button,volume", "elm"); _mute_toggle(data); - evas_object_smart_callback_call(data, SIG_VOLUME_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_VOLUME_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _mute(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { elm_layout_signal_emit(data, "elm,button,mute", "elm"); _mute_toggle(data); - evas_object_smart_callback_call(data, SIG_MUTE_CLICKED, NULL); + eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_MUTE_CLICKED, NULL)); + + return EINA_TRUE; } -static void +static Eina_Bool _play_started(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { elm_layout_signal_emit(data, "elm,player,play", "elm"); + + return EINA_TRUE; } -static void +static Eina_Bool _play_finished(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) + Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED) { elm_layout_signal_emit(data, "elm,player,pause", "elm"); + + return EINA_TRUE; } static void @@ -480,7 +499,7 @@ _video_del(void *data, static Evas_Object * _player_button_add(Evas_Object *obj, const char *name, - Evas_Smart_Cb func) + Eo_Event_Cb func) { Evas_Object *ic; Evas_Object *bt; @@ -500,7 +519,8 @@ _player_button_add(Evas_Object *obj, snprintf(buf, sizeof(buf), "media_player/%s/%s", name, elm_widget_style_get(obj)); elm_object_style_set(bt, buf); - evas_object_smart_callback_add(bt, "clicked", func, obj); + eo_do(bt, eo_event_callback_add + (EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED,func, obj)); snprintf(buf, sizeof(buf), "elm.swallow.media_player.%s", name); if (!elm_layout_content_set(obj, buf, bt)) { @@ -604,18 +624,18 @@ _elm_player_elm_container_content_set(Eo *obj, Elm_Player_Data *sd, const char * elm_layout_signal_emit(obj, "elm,player,play", "elm"); else elm_layout_signal_emit(obj, "elm,player,pause", "elm"); - evas_object_smart_callback_add(sd->emotion, "frame_decode", - _update_frame, obj); - evas_object_smart_callback_add(sd->emotion, "frame_resize", - _update_slider, obj); - evas_object_smart_callback_add(sd->emotion, "length_change", - _update_slider, obj); - evas_object_smart_callback_add(sd->emotion, "position_update", - _update_frame, obj); - evas_object_smart_callback_add(sd->emotion, "playback_started", - _play_started, obj); - evas_object_smart_callback_add(sd->emotion, "playback_finished", - _play_finished, obj); + eo_do(sd->emotion, eo_event_callback_add + (EMOTION_OBJECT_EVENT_FRAME_DECODE, _update_frame, obj)); + eo_do(sd->emotion, eo_event_callback_add + (EMOTION_OBJECT_EVENT_FRAME_RESIZE, _update_slider, obj)); + eo_do(sd->emotion, eo_event_callback_add + (EMOTION_OBJECT_EVENT_LENGTH_CHANGE, _update_slider, obj)); + eo_do(sd->emotion, eo_event_callback_add + (EMOTION_OBJECT_EVENT_POSITION_UPDATE, _update_frame, obj)); + eo_do(sd->emotion, eo_event_callback_add + (EMOTION_OBJECT_EVENT_PLAYBACK_STARTED, _play_started, obj)); + eo_do(sd->emotion, eo_event_callback_add + (EMOTION_OBJECT_EVENT_PLAYBACK_FINISHED, _play_finished, obj)); /* FIXME: track info from video */ end: @@ -662,12 +682,12 @@ _elm_player_evas_object_smart_add(Eo *obj, Elm_Player_Data *priv) (priv->slider, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_content_set(obj, "elm.swallow.media_player.positionslider", priv->slider); - evas_object_smart_callback_add - (priv->slider, "changed", _update_position, obj); - evas_object_smart_callback_add - (priv->slider, "slider,drag,start", _drag_start, obj); - evas_object_smart_callback_add - (priv->slider, "slider,drag,stop", _drag_stop, obj); + eo_do(priv->slider, eo_event_callback_add + (ELM_SLIDER_EVENT_CHANGED, _update_position, obj)); + eo_do(priv->slider, eo_event_callback_add + (ELM_SLIDER_EVENT_SLIDER_DRAG_START, _drag_start, obj)); + eo_do(priv->slider, eo_event_callback_add + (ELM_SLIDER_EVENT_SLIDER_DRAG_STOP, _drag_stop, obj)); priv->vslider = elm_slider_add(obj); elm_slider_indicator_show_set(priv->vslider, EINA_FALSE); @@ -683,8 +703,8 @@ _elm_player_evas_object_smart_add(Eo *obj, Elm_Player_Data *priv) (priv->vslider, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_content_set(obj, "elm.swallow.media_player.volumeslider", priv->vslider); - evas_object_smart_callback_add - (priv->vslider, "changed", _update_volume, obj); + eo_do(priv->vslider, eo_event_callback_add + (ELM_SLIDER_EVENT_CHANGED,_update_volume, obj)); elm_layout_sizing_eval(obj); elm_widget_can_focus_set(obj, EINA_TRUE); --