add e_comp_win_effect_unclip() to unclip an effect object after a transition
authorMike Blumenkrantz <m.blumenkran@samsung.com>
Mon, 22 Apr 2013 12:56:48 +0000 (13:56 +0100)
committerMike Blumenkrantz <m.blumenkran@samsung.com>
Mon, 22 Apr 2013 12:58:01 +0000 (13:58 +0100)
src/bin/e_comp.c
src/bin/e_comp.h

index 0dcff5f..311e602 100644 (file)
@@ -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
index 9a49c7f..ae337a2 100644 (file)
@@ -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);