block shape cutting during effects

This commit is contained in:
Mike Blumenkrantz 2013-10-16 09:34:18 +01:00
parent a2929c7b2d
commit c2ad2be5c5
2 changed files with 9 additions and 3 deletions

View File

@ -26,7 +26,11 @@ _ds_end(void *data EINA_UNUSED, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj
desk_hide = NULL; desk_hide = NULL;
/* trigger desk flip end if there's a current desk set */ /* trigger desk flip end if there's a current desk set */
if (desk_show) e_desk_flip_end(desk_show); if (desk_show)
{
e_desk_flip_end(desk_show);
e_comp_shape_queue_block(e_comp_get(desk_show), 0);
}
/* hide/delete current desk's mirror */ /* hide/delete current desk's mirror */
evas_object_hide(dm_show); evas_object_hide(dm_show);
@ -86,7 +90,7 @@ _ds_show(E_Desk *desk, int dx, int dy)
/* create mirror for current desk */ /* create mirror for current desk */
dm_show = dm_add(desk); dm_show = dm_add(desk);
evas_object_name_set(dm_show, "dm_show"); evas_object_name_set(dm_show, "dm_show");
e_comp_shape_queue_block(e_comp_get(desk), 1);
/* pick a random flip */ /* pick a random flip */
switch (rand() % DS_LAST) switch (rand() % DS_LAST)
{ {

View File

@ -45,7 +45,7 @@ clear_all(void)
static void static void
fade_end(void *d EINA_UNUSED, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj EINA_UNUSED) fade_end(void *d EINA_UNUSED, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj EINA_UNUSED)
{ {
e_comp_shape_queue(client->comp); e_comp_shape_queue_block(client->comp, 0);
clear_all(); clear_all();
} }
@ -212,6 +212,7 @@ move_begin(void *d EINA_UNUSED, E_Client *ec)
{ {
clear_all(); clear_all();
client = ec; client = ec;
e_comp_shape_queue_block(ec->comp, 1);
fade_setup(ec); fade_setup(ec);
@ -261,6 +262,7 @@ resize_begin(void *d EINA_UNUSED, E_Client *ec)
clear_all(); clear_all();
client = ec; client = ec;
e_comp_shape_queue_block(ec->comp, 1);
EINA_RECTANGLE_SET(&resize_start, ec->x, ec->y, ec->w, ec->h); EINA_RECTANGLE_SET(&resize_start, ec->x, ec->y, ec->w, ec->h);
fade_setup(ec); fade_setup(ec);