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;
    }
 }

-- 


Reply via email to