So the function to calculate the velocity is easier to call from other sites.

Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
---
 src/filter-private.h |  3 +++
 src/filter.c         | 11 +++++------
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/filter-private.h b/src/filter-private.h
index afe17c2c..ec87a849 100644
--- a/src/filter-private.h
+++ b/src/filter-private.h
@@ -81,6 +81,9 @@ feed_trackers(struct pointer_trackers *trackers,
 struct pointer_tracker *
 tracker_by_offset(struct pointer_trackers *trackers, unsigned int offset);
 
+double
+calculate_velocity(struct pointer_trackers *trackers, uint64_t time);
+
 /* Convert speed/velocity from units/us to units/ms */
 static inline double
 v_us2ms(double units_per_us)
diff --git a/src/filter.c b/src/filter.c
index 5700128b..3670c38f 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -262,10 +262,9 @@ calculate_velocity_after_timeout(struct pointer_tracker 
*tracker,
  * past, moving into a different direction or having too much of a velocity
  * change between events.
  */
-static double
-calculate_velocity(struct pointer_accelerator *accel, uint64_t time)
+double
+calculate_velocity(struct pointer_trackers *trackers, uint64_t time)
 {
-       struct pointer_trackers *trackers = &accel->trackers;
        struct pointer_tracker *tracker;
        double velocity;
        double result = 0.0;
@@ -277,7 +276,7 @@ calculate_velocity(struct pointer_accelerator *accel, 
uint64_t time)
 
        /* Find least recent vector within a timelimit, maximum velocity diff
         * and direction threshold. */
-       for (offset = 1; offset < accel->trackers.ntrackers; offset++) {
+       for (offset = 1; offset < trackers->ntrackers; offset++) {
                tracker = tracker_by_offset(trackers, offset);
 
                /* Bug: time running backwards */
@@ -394,7 +393,7 @@ calculate_acceleration_factor(struct pointer_accelerator 
*accel,
        double accel_factor;
 
        feed_trackers(&accel->trackers, unaccelerated, time);
-       velocity = calculate_velocity(accel, time);
+       velocity = calculate_velocity(&accel->trackers, time);
        accel_factor = calculate_acceleration(accel,
                                              data,
                                              velocity,
@@ -546,7 +545,7 @@ accelerator_filter_x230(struct motion_filter *filter,
        delta_normalized.y = unaccelerated.y;
 
        feed_trackers(&accel->trackers, &delta_normalized, time);
-       velocity = calculate_velocity(accel, time);
+       velocity = calculate_velocity(&accel->trackers, time);
        accel_factor = calculate_acceleration(accel,
                                              data,
                                              velocity,
-- 
2.14.3

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to