aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-12 09:50:16 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-05-12 09:50:16 +0400
commit29c7552852874a08f9e70ed52ddfb6be8f55bc69 (patch)
tree7221b1d60386ce6070914f42f88a588abcba8632 /src
parentd2ed42a157037f85a95b53da0431ac043922cea0 (diff)
downloadniri-29c7552852874a08f9e70ed52ddfb6be8f55bc69.tar.gz
niri-29c7552852874a08f9e70ed52ddfb6be8f55bc69.tar.bz2
niri-29c7552852874a08f9e70ed52ddfb6be8f55bc69.zip
Add linear animation curve
Diffstat (limited to 'src')
-rw-r--r--src/animation/mod.rs3
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,