add quad split
This commit is contained in:
parent
0e82bcf4e5
commit
bcb6c662ac
|
@ -15,6 +15,7 @@ enum
|
|||
DS_ROTATE_OUT,
|
||||
DS_ROTATE_IN,
|
||||
DS_SLIDE_SPLIT,
|
||||
DS_QUAD_SPLIT,
|
||||
DS_LAST,
|
||||
} DS_Type;
|
||||
|
||||
|
@ -241,6 +242,41 @@ _ds_show(E_Desk *desk, int dx, int dy)
|
|||
0.5, _ds_end, NULL);
|
||||
}
|
||||
break;
|
||||
case DS_QUAD_SPLIT:
|
||||
{
|
||||
int i;
|
||||
Evas_Object *dmh[4] = {NULL};
|
||||
Evas_Object *clip[4];
|
||||
Evas_Point cxy[4] = {{desk->zone->x, desk->zone->y},
|
||||
{desk->zone->x + (desk->zone->w / 2), desk->zone->y},
|
||||
{desk->zone->x, desk->zone->y + (desk->zone->h / 2)},
|
||||
{desk->zone->x + (desk->zone->w / 2), desk->zone->y + (desk->zone->h / 2)}
|
||||
};
|
||||
Evas_Point exy[4] = {{desk->zone->x - desk->zone->w, desk->zone->y - desk->zone->h},
|
||||
{desk->zone->x + (desk->zone->w * 2), desk->zone->y - desk->zone->h},
|
||||
{desk->zone->x - desk->zone->w, desk->zone->y + (desk->zone->h / 2)},
|
||||
{desk->zone->x + (desk->zone->w * 2), desk->zone->y + (desk->zone->h * 2)}
|
||||
};
|
||||
|
||||
E_FREE_FUNC(dm_show, evas_object_del);
|
||||
dmh[0] = dm_hide;
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (!dmh[i])
|
||||
{
|
||||
dmh[i] = dm_add(desk_hide);
|
||||
e_comp_object_util_del_list_append(dm_hide, dmh[i]);
|
||||
}
|
||||
clip[i] = evas_object_rectangle_add(e_comp_get(desk)->evas);
|
||||
e_comp_object_util_del_list_append(dm_hide, clip[i]);
|
||||
evas_object_geometry_set(clip[i], cxy[i].x, cxy[i].y, desk->zone->w / 2, desk->zone->h / 2);
|
||||
evas_object_clip_set(dmh[i], clip[i]);
|
||||
evas_object_show(clip[i]);
|
||||
efx_move(clip[i], EFX_EFFECT_SPEED_ACCELERATE,
|
||||
&exy[i], 0.8, (i == 3) ? _ds_end : NULL, NULL);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue