aboutsummaryrefslogtreecommitdiff
path: root/src/scroll_tracker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/scroll_tracker.rs')
-rw-r--r--src/scroll_tracker.rs40
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.;
- }
-}