add e_comp_win_effect_unclip() to unclip an effect object after a transition

This commit is contained in:
Mike Blumenkrantz 2013-04-22 13:56:48 +01:00
parent 1ff1b21563
commit b04d2dfc4b
2 changed files with 10 additions and 7 deletions

View 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

View 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);