[PATCH libinput 10/16] filter: split calculating the accel factor into a helper function
Jonas Ådahl
jadahl at gmail.com
Mon Aug 10 01:22:17 PDT 2015
On Wed, Aug 05, 2015 at 04:32:39PM +1000, Peter Hutterer wrote:
> No functional changes.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
> ---
> src/filter.c | 35 +++++++++++++++++++++++++----------
> 1 file changed, 25 insertions(+), 10 deletions(-)
>
> diff --git a/src/filter.c b/src/filter.c
> index 828d6b6..68f1786 100644
> --- a/src/filter.c
> +++ b/src/filter.c
> @@ -266,6 +266,27 @@ calculate_acceleration(struct pointer_accelerator *accel,
> return factor; /* unitless factor */
> }
>
> +static inline double
> +calculate_acceleration_factor(struct pointer_accelerator *accel,
> + const struct normalized_coords *unaccelerated,
> + void *data,
> + uint64_t time)
> +{
> + double velocity; /* units/us */
> + double accel_factor;
> +
> + feed_trackers(accel, unaccelerated, time);
> + velocity = calculate_velocity(accel, time);
> + accel_factor = calculate_acceleration(accel,
> + data,
> + velocity,
> + accel->last_velocity,
> + time);
> + accel->last_velocity = velocity;
> +
> + return accel_factor;
> +}
> +
> static struct normalized_coords
> accelerator_filter(struct motion_filter *filter,
> const struct normalized_coords *unaccelerated,
> @@ -273,7 +294,6 @@ accelerator_filter(struct motion_filter *filter,
> {
> struct pointer_accelerator *accel =
> (struct pointer_accelerator *) filter;
> - double velocity; /* units/us */
> double accel_value; /* unitless factor */
> struct normalized_coords accelerated;
> struct normalized_coords unnormalized;
> @@ -285,19 +305,14 @@ accelerator_filter(struct motion_filter *filter,
> unnormalized.x = unaccelerated->x * dpi_factor;
> unnormalized.y = unaccelerated->y * dpi_factor;
>
> - feed_trackers(accel, &unnormalized, time);
> - velocity = calculate_velocity(accel, time);
> - accel_value = calculate_acceleration(accel,
> - data,
> - velocity,
> - accel->last_velocity,
> - time);
> + accel_value = calculate_acceleration_factor(accel,
> + &unnormalized,
> + data,
> + time);
>
> accelerated.x = accel_value * unnormalized.x;
> accelerated.y = accel_value * unnormalized.y;
>
> - accel->last_velocity = velocity;
> -
> return accelerated;
> }
>
> --
> 2.4.3
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list