jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=be82f4f0fd1cccaf43c627458a275d1f47322315
commit be82f4f0fd1cccaf43c627458a275d1f47322315 Author: Jean-Philippe Andre <[email protected]> Date: Mon Jun 13 15:48:29 2016 +0900 win: Add event render,pre --- src/lib/elementary/efl_ui_win.c | 16 ++++++++++++++++ src/lib/elementary/efl_ui_win.eo | 1 + 2 files changed, 17 insertions(+) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 0be431f..dacc6e9 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -1746,6 +1746,17 @@ _elm_win_evas_render_post(void *data, } static void +_elm_win_evas_render_pre(void *data, + Evas *e EINA_UNUSED, + Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Eo *win = data; + + eo_event_callback_call(win, EFL_UI_WIN_EVENT_RENDER_PRE, NULL); +} + +static void _deferred_ecore_evas_free(void *data) { ecore_evas_free(data); @@ -2096,6 +2107,8 @@ _efl_ui_win_evas_object_smart_del(Eo *obj, Efl_Ui_Win_Data *sd) // TODO: optimize event forwarders with EO_EVENT_CALLBACK_ADD/DEL evas_object_event_callback_del_full(sd->evas, EVAS_CALLBACK_RENDER_POST, _elm_win_evas_render_post, obj); + evas_object_event_callback_del_full(sd->evas, EVAS_CALLBACK_RENDER_PRE, + _elm_win_evas_render_pre, obj); eo_event_callback_array_del(sd->evas, _elm_win_evas_forward_callbacks(), obj); eo_event_callback_array_del(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas); @@ -4155,10 +4168,13 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W if (_elm_config->atspi_mode) elm_interface_atspi_window_created_signal_emit(obj); + // TODO: optimize event forwarders with EO_EVENT_CALLBACK_ADD/DEL eo_event_callback_array_add(sd->evas, _elm_win_evas_forward_callbacks(), obj); eo_event_callback_array_add(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas); evas_object_event_callback_add(sd->evas, EVAS_CALLBACK_RENDER_POST, _elm_win_evas_render_post, obj); + evas_object_event_callback_add(sd->evas, EVAS_CALLBACK_RENDER_PRE, + _elm_win_evas_render_pre, obj); evas_object_show(sd->edje); diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo index 565b5ce..c3a337c 100644 --- a/src/lib/elementary/efl_ui_win.eo +++ b/src/lib/elementary/efl_ui_win.eo @@ -822,6 +822,7 @@ class Efl.Ui.Win (Elm.Widget, Elm.Interface.Atspi.Window, wm,rotation,changed; theme,changed; elm,action,block_menu; + render,pre; render,post: Efl.Gfx.Event.Render_Post; } } --
