|
|
|
@ -18,6 +18,7 @@ typedef enum |
|
|
|
|
DS_ROTATE_IN, |
|
|
|
|
DS_SLIDE_SPLIT, |
|
|
|
|
DS_QUAD_SPLIT, |
|
|
|
|
DS_QUAD_MERGE, |
|
|
|
|
DS_LAST, |
|
|
|
|
} DS_Type; |
|
|
|
|
|
|
|
|
@ -298,6 +299,37 @@ _ds_show(E_Desk *desk, int dx, int dy) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case DS_QUAD_MERGE: |
|
|
|
|
{ |
|
|
|
|
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)} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
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_resize(clip[i], EFX_EFFECT_SPEED_ACCELERATE, |
|
|
|
|
EFX_POINT(desk->zone->x + (desk->zone->w / 2), desk->zone->y + (desk->zone->h / 2)), |
|
|
|
|
1, 1 ,0.8, (i == 3) ? _ds_end : NULL, NULL); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
default: break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|