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