add e_comp_win_effect_clip for manually applying clip to comp wins

This commit is contained in:
Mike Blumenkrantz 2013-05-30 09:39:30 +01:00
parent 36068eaddf
commit 36d45c65ef
2 changed files with 11 additions and 0 deletions

View File

@ -5626,6 +5626,16 @@ _e_comp_win_effect_end_cb(void *data EINA_UNUSED, Evas_Object *obj, const char *
edje_object_signal_callback_del_full(obj, "e,action,done", "e", _e_comp_win_effect_end_cb, NULL);
}
EAPI void
e_comp_win_effect_clip(E_Comp_Win *cw)
{
EINA_SAFETY_ON_NULL_RETURN(cw);
if (!cw->bd->zone) return;
if (cw->effect_clip) e_comp_win_effect_unclip(cw);
evas_object_clip_set(cw->effect_obj, cw->bd->zone->bg_clip_object);
cw->effect_clip = 1;
}
EAPI void
e_comp_win_effect_unclip(E_Comp_Win *cw)
{

View File

@ -236,6 +236,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_clip(E_Comp_Win *cw);
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);