From 5383a0591f22b9640a570e299a73706eb4a27ffc Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 10 Apr 2024 11:28:49 +0400 Subject: Use clamped animations where it makes sense --- src/layout/closing_window.rs | 4 ++-- src/layout/tile.rs | 2 +- src/layout/workspace.rs | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src/layout') diff --git a/src/layout/closing_window.rs b/src/layout/closing_window.rs index 3de0d51f..f863a5d3 100644 --- a/src/layout/closing_window.rs +++ b/src/layout/closing_window.rs @@ -125,7 +125,7 @@ impl ClosingWindow { } pub fn are_animations_ongoing(&self) -> bool { - !self.anim.is_done() + !self.anim.is_clamped_done() } pub fn render( @@ -134,7 +134,7 @@ impl ClosingWindow { scale: Scale, target: RenderTarget, ) -> ClosingWindowRenderElement { - let val = self.anim.value(); + let val = self.anim.clamped_value(); let block_out = match self.block_out_from { None => false, diff --git a/src/layout/tile.rs b/src/layout/tile.rs index 53300bec..1fcf4f1b 100644 --- a/src/layout/tile.rs +++ b/src/layout/tile.rs @@ -387,7 +387,7 @@ impl Tile { renderer, scale.x as i32, &elements, - anim.value().clamp(0., 1.) as f32, + anim.clamped_value().clamp(0., 1.) as f32, ); self.window() .set_offscreen_element_id(Some(elem.id().clone())); diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index 61cf6e79..d5735bbd 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -956,8 +956,10 @@ impl Workspace { // FIXME: this is a bit cursed since it's relying on Tile's internal details. let (starting_alpha, starting_scale) = if let Some(anim) = tile.open_animation() { - let val = anim.value(); - (val.clamp(0., 1.) as f32, (val / 2. + 0.5).max(0.)) + ( + anim.clamped_value().clamp(0., 1.) as f32, + (anim.value() / 2. + 0.5).max(0.), + ) } else { (1., 1.) }; -- cgit