mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-11-20 06:59:50 -05:00
feat: layer open and close type set support
This commit is contained in:
parent
43dba2151e
commit
02d70831b5
4 changed files with 64 additions and 18 deletions
|
|
@ -318,14 +318,16 @@ void init_fadeout_layers(LayerSurface *l) {
|
|||
fadeout_layer->animation.initial.x = 0;
|
||||
fadeout_layer->animation.initial.y = 0;
|
||||
|
||||
if (strcmp(animation_type_close, "zoom") == 0 ||
|
||||
strcmp(animation_type_close, "fade") == 0) {
|
||||
fadeout_layer->current.x = 0;
|
||||
fadeout_layer->current.y = 0;
|
||||
} else {
|
||||
if ((!l->animation_type_close &&
|
||||
strcmp(layer_animation_type_close, "slide") == 0) ||
|
||||
(l->animation_type_close &&
|
||||
strcmp(l->animation_type_close, "slide") == 0)) {
|
||||
set_layer_dir_animaiton(l, &fadeout_layer->current);
|
||||
fadeout_layer->current.x = fadeout_layer->current.x - l->geom.x;
|
||||
fadeout_layer->current.y = fadeout_layer->current.y - l->geom.y;
|
||||
} else {
|
||||
fadeout_layer->current.x = 0;
|
||||
fadeout_layer->current.y = 0;
|
||||
}
|
||||
|
||||
fadeout_layer->animation.passed_frames = 0;
|
||||
|
|
@ -342,12 +344,15 @@ void layer_set_pending_state(LayerSurface *l) {
|
|||
|
||||
l->pending = l->geom;
|
||||
if (l->animation.action == OPEN) {
|
||||
if (strcmp(animation_type_open, "fade") == 0 ||
|
||||
strcmp(animation_type_open, "zoom") == 0) {
|
||||
if ((!l->animation_type_open &&
|
||||
strcmp(layer_animation_type_open, "slide") == 0) ||
|
||||
(l->animation_type_open &&
|
||||
strcmp(l->animation_type_open, "slide") == 0)) {
|
||||
|
||||
set_layer_dir_animaiton(l, &l->animainit_geom);
|
||||
} else {
|
||||
l->animainit_geom.x = l->geom.x;
|
||||
l->animainit_geom.y = l->geom.y;
|
||||
} else {
|
||||
set_layer_dir_animaiton(l, &l->animainit_geom);
|
||||
}
|
||||
} else {
|
||||
l->animainit_geom = l->animation.current;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue