diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2014-07-03 15:53:56 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2014-09-23 10:46:22 +1000 |
commit | 198384e69ff1d5b40b2abd7ef45893b276ea2cac (patch) | |
tree | c2e0da412787e3663c2f52d80bc1b0c45170c396 /src/filter.c | |
parent | 87c88d6a8605654c1d29471c7f34804a35a25745 (diff) |
filter: add a configurable speed interface
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'src/filter.c')
-rw-r--r-- | src/filter.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/filter.c b/src/filter.c index 5e627e1a..327dbce5 100644 --- a/src/filter.c +++ b/src/filter.c @@ -22,6 +22,7 @@ #include "config.h" +#include <assert.h> #include <stdio.h> #include <stdlib.h> #include <stdint.h> @@ -49,6 +50,19 @@ filter_destroy(struct motion_filter *filter) filter->interface->destroy(filter); } +bool +filter_set_speed(struct motion_filter *filter, + double speed) +{ + return filter->interface->set_speed(filter, speed); +} + +double +filter_get_speed(struct motion_filter *filter) +{ + return filter->speed; +} + /* * Default parameters for pointer acceleration profiles. */ @@ -237,9 +251,21 @@ accelerator_destroy(struct motion_filter *filter) free(accel); } +static bool +accelerator_set_speed(struct motion_filter *filter, + double speed) +{ + assert(speed >= -1.0 && speed <= 1.0); + + filter->speed = speed; + + return true; +} + struct motion_filter_interface accelerator_interface = { accelerator_filter, - accelerator_destroy + accelerator_destroy, + accelerator_set_speed, }; struct motion_filter * |