discomfitor pushed a commit to branch master.

commit b04d2dfc4bb7a6b8bc315c240120f3798e34d379
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Apr 22 13:56:48 2013 +0100

    add e_comp_win_effect_unclip() to unclip an effect object after a transition
---
 src/bin/e_comp.c | 16 +++++++++-------
 src/bin/e_comp.h |  1 +
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 0dcff5f..311e602 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -5513,19 +5513,21 @@ _e_comp_win_effect_end_cb(void *data EINA_UNUSED, 
Evas_Object *obj, const char *
 {
    Edje_Signal_Cb end_cb;
    void *end_data;
-   E_Comp_Win *cw;
 
    end_cb = evas_object_data_get(obj, "_e_comp.end_cb");
    end_data = evas_object_data_get(obj, "_e_comp.end_data");
    end_cb(end_data, obj, emission, source);
 
    edje_object_signal_callback_del_full(obj, "e,action,done", "e", 
_e_comp_win_effect_end_cb, NULL);
-   cw = evas_object_data_get(obj, "comp_win");
-   if (cw->effect_clip)
-     {
-        evas_object_clip_unset(cw->effect_obj);
-        cw->effect_clip = 0;
-     }
+}
+
+EAPI void
+e_comp_win_effect_unclip(E_Comp_Win *cw)
+{
+   EINA_SAFETY_ON_NULL_RETURN(cw);
+   if (!cw->effect_clip) return;
+   evas_object_clip_unset(cw->effect_obj);
+   cw->effect_clip = 0;
 }
 
 EAPI void
diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h
index 9a49c7f..ae337a2 100644
--- a/src/bin/e_comp.h
+++ b/src/bin/e_comp.h
@@ -238,6 +238,7 @@ EAPI void e_comp_win_effect_set(E_Comp_Win *cw, const char 
*effect);
 EAPI void e_comp_win_effect_params_set(E_Comp_Win *cw, int id, int *params, 
unsigned int count);
 EAPI void e_comp_win_effect_start(E_Comp_Win *cw, Edje_Signal_Cb end_cb, const 
void *end_data);
 EAPI void e_comp_win_effect_stop(E_Comp_Win *cw, Edje_Signal_Cb end_cb);
+EAPI void e_comp_win_effect_unclip(E_Comp_Win *cw);
 
 EAPI E_Comp_Win *e_comp_win_find_client_win(Ecore_X_Window win);
 EAPI E_Comp_Win *e_comp_win_find(Ecore_X_Window win);

-- 

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