animation: Accept ms as u32

Less boilerplate elsewhere.
This commit is contained in:
Ivan Molodetskikh
2024-02-07 16:32:38 +04:00
parent f9085db564
commit 753a90430a
6 changed files with 11 additions and 10 deletions
+4 -2
View File
@@ -25,15 +25,17 @@ pub enum Curve {
} }
impl Animation { impl Animation {
pub fn new(from: f64, to: f64, over: Duration) -> Self { pub fn new(from: f64, to: f64, over_ms: u32) -> Self {
// FIXME: ideally we shouldn't use current time here because animations started within the // FIXME: ideally we shouldn't use current time here because animations started within the
// same frame cycle should have the same start time to be synchronized. // same frame cycle should have the same start time to be synchronized.
let now = get_monotonic_time(); let now = get_monotonic_time();
let duration = Duration::from_millis(u64::from(over_ms))
.mul_f64(ANIMATION_SLOWDOWN.load(Ordering::Relaxed));
Self { Self {
from, from,
to, to,
duration: over.mul_f64(ANIMATION_SLOWDOWN.load(Ordering::Relaxed)), duration,
start_time: now, start_time: now,
current_time: now, current_time: now,
curve: Curve::EaseOutCubic, curve: Curve::EaseOutCubic,
+3 -3
View File
@@ -58,7 +58,7 @@ impl ConfigErrorNotification {
self.buffers.borrow_mut().clear(); self.buffers.borrow_mut().clear();
} }
self.state = State::Showing(Animation::new(0., 1., Duration::from_millis(250))); self.state = State::Showing(Animation::new(0., 1., 250));
} }
pub fn show(&mut self) { pub fn show(&mut self) {
@@ -68,7 +68,7 @@ impl ConfigErrorNotification {
} }
// Show from scratch even if already showing to bring attention. // Show from scratch even if already showing to bring attention.
self.state = State::Showing(Animation::new(0., 1., Duration::from_millis(250))); self.state = State::Showing(Animation::new(0., 1., 250));
} }
pub fn hide(&mut self) { pub fn hide(&mut self) {
@@ -76,7 +76,7 @@ impl ConfigErrorNotification {
return; return;
} }
self.state = State::Hiding(Animation::new(1., 0., Duration::from_millis(250))); self.state = State::Hiding(Animation::new(1., 0., 250));
} }
pub fn advance_animations(&mut self, target_presentation_time: Duration) { pub fn advance_animations(&mut self, target_presentation_time: Duration) {
+1 -1
View File
@@ -1577,7 +1577,7 @@ impl<W: LayoutElement> Layout<W> {
monitor.workspace_switch = Some(WorkspaceSwitch::Animation(Animation::new( monitor.workspace_switch = Some(WorkspaceSwitch::Animation(Animation::new(
current_idx, current_idx,
idx as f64, idx as f64,
Duration::from_millis(250), 250,
))); )));
return Some(monitor.output.clone()); return Some(monitor.output.clone());
+1 -1
View File
@@ -96,7 +96,7 @@ impl<W: LayoutElement> Monitor<W> {
self.workspace_switch = Some(WorkspaceSwitch::Animation(Animation::new( self.workspace_switch = Some(WorkspaceSwitch::Animation(Animation::new(
current_idx, current_idx,
idx as f64, idx as f64,
Duration::from_millis(250), 250,
))); )));
} }
+1 -2
View File
@@ -114,8 +114,7 @@ impl<W: LayoutElement> Tile<W> {
} }
pub fn start_open_animation(&mut self) { pub fn start_open_animation(&mut self) {
self.open_animation = self.open_animation = Some(Animation::new(0., 1., 150).with_curve(Curve::EaseOutExpo));
Some(Animation::new(0., 1., Duration::from_millis(150)).with_curve(Curve::EaseOutExpo));
} }
pub fn window(&self) -> &W { pub fn window(&self) -> &W {
+1 -1
View File
@@ -401,7 +401,7 @@ impl<W: LayoutElement> Workspace<W> {
self.view_offset_anim = Some(Animation::new( self.view_offset_anim = Some(Animation::new(
self.view_offset as f64, self.view_offset as f64,
new_view_offset as f64, new_view_offset as f64,
Duration::from_millis(250), 250,
)); ));
} }