diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-11 13:21:05 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-11 13:21:05 +0400 |
| commit | beba87354a1fd30a95eaaf6c98eec72797e4baa7 (patch) | |
| tree | 0298d7911dd5daee544b39ae7ee1f537e119cadf /src/scroll_tracker.rs | |
| parent | 078724369d464d5184a3d93a1b71c10092092d0a (diff) | |
| download | niri-beba87354a1fd30a95eaaf6c98eec72797e4baa7.tar.gz niri-beba87354a1fd30a95eaaf6c98eec72797e4baa7.tar.bz2 niri-beba87354a1fd30a95eaaf6c98eec72797e4baa7.zip | |
Group input-related things in a subfolder
Diffstat (limited to 'src/scroll_tracker.rs')
| -rw-r--r-- | src/scroll_tracker.rs | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/src/scroll_tracker.rs b/src/scroll_tracker.rs deleted file mode 100644 index fc48ef06..00000000 --- a/src/scroll_tracker.rs +++ /dev/null @@ -1,40 +0,0 @@ -pub struct ScrollTracker { - tick: f64, - last: f64, - acc: f64, -} - -impl ScrollTracker { - #[allow(clippy::new_without_default)] - pub fn new(tick: i8) -> Self { - Self { - tick: f64::from(tick), - last: 0., - acc: 0., - } - } - - pub fn accumulate(&mut self, amount: f64) -> i8 { - let changed_direction = (self.last > 0. && amount < 0.) || (self.last < 0. && amount > 0.); - if changed_direction { - self.acc = 0. - } - - self.last = amount; - self.acc += amount; - - let mut ticks = 0; - if self.acc.abs() >= self.tick { - let clamped = self.acc.clamp(-127. * self.tick, 127. * self.tick); - ticks = (clamped as i16 / self.tick as i16) as i8; - self.acc %= self.tick; - } - - ticks - } - - pub fn reset(&mut self) { - self.last = 0.; - self.acc = 0.; - } -} |
