diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-12 09:50:16 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-12 09:50:16 +0400 |
| commit | 29c7552852874a08f9e70ed52ddfb6be8f55bc69 (patch) | |
| tree | 7221b1d60386ce6070914f42f88a588abcba8632 /src | |
| parent | d2ed42a157037f85a95b53da0431ac043922cea0 (diff) | |
| download | niri-29c7552852874a08f9e70ed52ddfb6be8f55bc69.tar.gz niri-29c7552852874a08f9e70ed52ddfb6be8f55bc69.tar.bz2 niri-29c7552852874a08f9e70ed52ddfb6be8f55bc69.zip | |
Add linear animation curve
Diffstat (limited to 'src')
| -rw-r--r-- | src/animation/mod.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/animation/mod.rs b/src/animation/mod.rs index 2319c00b..0d8b061e 100644 --- a/src/animation/mod.rs +++ b/src/animation/mod.rs @@ -41,6 +41,7 @@ enum Kind { #[derive(Debug, Clone, Copy)] pub enum Curve { + Linear, EaseOutQuad, EaseOutCubic, EaseOutExpo, @@ -358,6 +359,7 @@ impl Animation { impl Curve { pub fn y(self, x: f64) -> f64 { match self { + Curve::Linear => x, Curve::EaseOutQuad => EaseOutQuad.y(x), Curve::EaseOutCubic => EaseOutCubic.y(x), Curve::EaseOutExpo => 1. - 2f64.powf(-10. * x), @@ -368,6 +370,7 @@ impl Curve { impl From<niri_config::AnimationCurve> for Curve { fn from(value: niri_config::AnimationCurve) -> Self { match value { + niri_config::AnimationCurve::Linear => Curve::Linear, niri_config::AnimationCurve::EaseOutQuad => Curve::EaseOutQuad, niri_config::AnimationCurve::EaseOutCubic => Curve::EaseOutCubic, niri_config::AnimationCurve::EaseOutExpo => Curve::EaseOutExpo, |
