discomfitor pushed a commit to branch master.

commit f5965d533c30a9dec1b072158ffc13dcb2d0a641
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Apr 19 13:49:34 2013 +0100

    add new event for comp win stacking
---
 src/bin/e_comp.c | 20 ++++++++++++++++----
 src/bin/e_comp.h |  1 +
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 34b99c2..2daf7c7 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -43,6 +43,7 @@ EAPI int E_EVENT_COMP_SOURCE_VISIBILITY = -1;
 EAPI int E_EVENT_COMP_SOURCE_ADD = -1;
 EAPI int E_EVENT_COMP_SOURCE_DEL = -1;
 EAPI int E_EVENT_COMP_SOURCE_CONFIGURE = -1;
+EAPI int E_EVENT_COMP_SOURCE_STACK = -1;
 
 static int _e_comp_log_dom = -1;
 
@@ -151,6 +152,16 @@ _e_comp_event_source_configure(E_Comp_Win *cw)
 }
 
 static void
+_e_comp_event_source_stack(E_Comp_Win *cw)
+{
+   E_Event_Comp *ev;
+
+   ev = E_NEW(E_Event_Comp, 1);
+   ev->cw = cw;
+   ecore_event_add(E_EVENT_COMP_SOURCE_STACK, ev, 
(Ecore_End_Cb)_e_comp_event_end, NULL);
+}
+
+static void
 _e_comp_child_show(E_Comp_Win *cw)
 {
    evas_object_show(cw->effect_obj);
@@ -2666,7 +2677,7 @@ _e_comp_win_raise_above(E_Comp_Win *cw, E_Comp_Win *cw2)
    _e_comp_win_restack(cw);
    _e_comp_win_render_queue(cw);
    cw->pending_count++;
-   _e_comp_event_source_configure(cw);
+   _e_comp_event_source_stack(cw);
 }
 
 static void
@@ -2679,7 +2690,7 @@ _e_comp_win_raise(E_Comp_Win *cw)
    _e_comp_win_restack(cw);
    _e_comp_win_render_queue(cw);
    cw->pending_count++;
-   _e_comp_event_source_configure(cw);
+   _e_comp_event_source_stack(cw);
 }
 
 static void
@@ -2692,7 +2703,7 @@ _e_comp_win_lower_below(E_Comp_Win *cw, E_Comp_Win *cw2)
    _e_comp_win_restack(cw);
    _e_comp_win_render_queue(cw);
    cw->pending_count++;
-   _e_comp_event_source_configure(cw);
+   _e_comp_event_source_stack(cw);
 }
 
 static void
@@ -2705,7 +2716,7 @@ _e_comp_win_lower(E_Comp_Win *cw)
    _e_comp_win_restack(cw);
    _e_comp_win_render_queue(cw);
    cw->pending_count++;
-   _e_comp_event_source_configure(cw);
+   _e_comp_event_source_stack(cw);
 }
 
 static void
@@ -4802,6 +4813,7 @@ e_comp_init(void)
    E_EVENT_COMP_SOURCE_ADD = ecore_event_type_new();
    E_EVENT_COMP_SOURCE_DEL = ecore_event_type_new();
    E_EVENT_COMP_SOURCE_CONFIGURE = ecore_event_type_new();
+   E_EVENT_COMP_SOURCE_STACK = ecore_event_type_new();
 
    e_comp_cfdata_edd_init(&conf_edd, &conf_match_edd);
    conf = e_config_domain_load("e_comp", conf_edd);
diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h
index 786749f..9a49c7f 100644
--- a/src/bin/e_comp.h
+++ b/src/bin/e_comp.h
@@ -206,6 +206,7 @@ extern EAPI int E_EVENT_COMP_SOURCE_VISIBILITY;
 extern EAPI int E_EVENT_COMP_SOURCE_ADD;
 extern EAPI int E_EVENT_COMP_SOURCE_DEL;
 extern EAPI int E_EVENT_COMP_SOURCE_CONFIGURE;
+extern EAPI int E_EVENT_COMP_SOURCE_STACK;
 
 typedef enum
 {

-- 

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter

Reply via email to