Implement window closing animations

This commit is contained in:
Ivan Molodetskikh
2024-04-09 22:37:10 +04:00
parent 301a2c0661
commit dd011f1012
12 changed files with 683 additions and 24 deletions
+13
View File
@@ -487,6 +487,8 @@ pub struct Animations {
pub window_movement: Animation,
#[knuffel(child, default = Animation::default_window_open())]
pub window_open: Animation,
#[knuffel(child, default = Animation::default_window_close())]
pub window_close: Animation,
#[knuffel(child, default = Animation::default_config_notification_open_close())]
pub config_notification_open_close: Animation,
}
@@ -500,6 +502,7 @@ impl Default for Animations {
horizontal_view_movement: Animation::default_horizontal_view_movement(),
window_movement: Animation::default_window_movement(),
window_open: Animation::default_window_open(),
window_close: Animation::default_window_close(),
config_notification_open_close: Animation::default_config_notification_open_close(),
}
}
@@ -579,6 +582,16 @@ impl Animation {
}),
}
}
pub const fn default_window_close() -> Self {
Self {
off: false,
kind: AnimationKind::Easing(EasingParams {
duration_ms: Some(150),
curve: Some(AnimationCurve::EaseOutQuad),
}),
}
}
}
#[derive(Debug, Clone, Copy, PartialEq)]