[PATCH libinput 03/23] filter: move some functions to the shared header
Peter Hutterer
peter.hutterer at who-t.net
Thu Apr 12 06:34:29 UTC 2018
Prep work for splitting things up better
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/filter-private.h | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/filter.c | 49 +++---------------------------------------------
2 files changed, 56 insertions(+), 46 deletions(-)
diff --git a/src/filter-private.h b/src/filter-private.h
index 6ccbf97f..91a1eb7d 100644
--- a/src/filter-private.h
+++ b/src/filter-private.h
@@ -51,4 +51,57 @@ struct motion_filter {
struct motion_filter_interface *interface;
};
+struct pointer_tracker {
+ struct device_float_coords delta; /* delta to most recent event */
+ uint64_t time; /* us */
+ uint32_t dir;
+};
+
+struct pointer_trackers {
+ struct pointer_tracker *trackers;
+ size_t ntrackers;
+ unsigned int cur_tracker;
+};
+
+void init_trackers(struct pointer_trackers *trackers,
+ size_t ntrackers);
+void
+feed_trackers(struct pointer_trackers *trackers,
+ const struct device_float_coords *delta,
+ uint64_t time);
+
+struct pointer_tracker *
+tracker_by_offset(struct pointer_trackers *trackers, unsigned int offset);
+
+/* Convert speed/velocity from units/us to units/ms */
+static inline double
+v_us2ms(double units_per_us)
+{
+ return units_per_us * 1000.0;
+}
+
+static inline double
+v_us2s(double units_per_us)
+{
+ return units_per_us * 1000000.0;
+}
+
+/* Convert speed/velocity from units/ms to units/us */
+static inline double
+v_ms2us(double units_per_ms)
+{
+ return units_per_ms/1000.0;
+}
+
+static inline struct normalized_coords
+normalize_for_dpi(const struct device_float_coords *coords, int dpi)
+{
+ struct normalized_coords norm;
+
+ norm.x = coords->x * DEFAULT_MOUSE_DPI/dpi;
+ norm.y = coords->y * DEFAULT_MOUSE_DPI/dpi;
+
+ return norm;
+}
+
#endif
diff --git a/src/filter.c b/src/filter.c
index d12b1147..28e39c9c 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -42,37 +42,6 @@
*/
#define TP_MAGIC_SLOWDOWN 0.37 /* unitless factor */
-/* Convert speed/velocity from units/us to units/ms */
-static inline double
-v_us2ms(double units_per_us)
-{
- return units_per_us * 1000.0;
-}
-
-static inline double
-v_us2s(double units_per_us)
-{
- return units_per_us * 1000000.0;
-}
-
-/* Convert speed/velocity from units/ms to units/us */
-static inline double
-v_ms2us(double units_per_ms)
-{
- return units_per_ms/1000.0;
-}
-
-static inline struct normalized_coords
-normalize_for_dpi(const struct device_float_coords *coords, int dpi)
-{
- struct normalized_coords norm;
-
- norm.x = coords->x * DEFAULT_MOUSE_DPI/dpi;
- norm.y = coords->y * DEFAULT_MOUSE_DPI/dpi;
-
- return norm;
-}
-
struct normalized_coords
filter_dispatch(struct motion_filter *filter,
const struct device_float_coords *unaccelerated,
@@ -161,18 +130,6 @@ filter_get_type(struct motion_filter *filter)
#define MOTION_TIMEOUT ms2us(1000)
#define NUM_POINTER_TRACKERS 16
-struct pointer_tracker {
- struct device_float_coords delta; /* delta to most recent event */
- uint64_t time; /* us */
- uint32_t dir;
-};
-
-struct pointer_trackers {
- struct pointer_tracker *trackers;
- size_t ntrackers;
- unsigned int cur_tracker;
-};
-
struct pointer_accelerator {
struct motion_filter base;
@@ -224,7 +181,7 @@ struct trackpoint_accelerator {
double offset; /* offset of the function */
};
-static void
+void
init_trackers(struct pointer_trackers *trackers,
size_t ntrackers)
{
@@ -234,7 +191,7 @@ init_trackers(struct pointer_trackers *trackers,
trackers->cur_tracker = 0;
}
-static void
+void
feed_trackers(struct pointer_trackers *trackers,
const struct device_float_coords *delta,
uint64_t time)
@@ -258,7 +215,7 @@ feed_trackers(struct pointer_trackers *trackers,
ts[current].dir = device_float_get_direction(*delta);
}
-static struct pointer_tracker *
+struct pointer_tracker *
tracker_by_offset(struct pointer_trackers *trackers, unsigned int offset)
{
unsigned int index =
--
2.14.3
More information about the wayland-devel
mailing list