[PATCH libinput 1/5] filter: annotate the various variables we have with units
Peter Hutterer
peter.hutterer at who-t.net
Mon Jul 7 21:20:38 PDT 2014
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/filter.c | 40 ++++++++++++++++++++--------------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/src/filter.c b/src/filter.c
index 6fbd4d9..7db78ba 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -51,22 +51,22 @@ filter_destroy(struct motion_filter *filter)
* Default parameters for pointer acceleration profiles.
*/
-#define DEFAULT_CONSTANT_ACCELERATION 10.0
-#define DEFAULT_THRESHOLD 4.0
-#define DEFAULT_ACCELERATION 2.0
+#define DEFAULT_CONSTANT_ACCELERATION 10.0 /* unitless factor */
+#define DEFAULT_THRESHOLD 4.0 /* in units/ms */
+#define DEFAULT_ACCELERATION 2.0 /* unitless factor */
/*
* Pointer acceleration filter constants
*/
-#define MAX_VELOCITY_DIFF 1.0
+#define MAX_VELOCITY_DIFF 1.0 /* units/ms */
#define MOTION_TIMEOUT 300 /* (ms) */
#define NUM_POINTER_TRACKERS 16
struct pointer_tracker {
- double dx;
- double dy;
- uint64_t time;
+ double dx; /* delta to most recent event, in device units */
+ double dy; /* delta to most recent event, in device units */
+ uint64_t time; /* ms */
int dir;
};
@@ -76,10 +76,10 @@ struct pointer_accelerator {
accel_profile_func_t profile;
- double velocity;
- double last_velocity;
- int last_dx;
- int last_dy;
+ double velocity; /* units/ms */
+ double last_velocity; /* units/ms */
+ int last_dx; /* device units */
+ int last_dy; /* device units */
struct pointer_tracker *trackers;
int cur_tracker;
@@ -183,7 +183,7 @@ calculate_tracker_velocity(struct pointer_tracker *tracker, uint64_t time)
dx = tracker->dx;
dy = tracker->dy;
distance = sqrt(dx*dx + dy*dy);
- return distance / (double)(time - tracker->time);
+ return distance / (double)(time - tracker->time); /* units/ms */
}
static double
@@ -227,7 +227,7 @@ calculate_velocity(struct pointer_accelerator *accel, uint64_t time)
}
}
- return result;
+ return result; /* units/ms */
}
static double
@@ -254,7 +254,7 @@ calculate_acceleration(struct pointer_accelerator *accel,
factor = factor / 6.0;
- return factor;
+ return factor; /* unitless factor */
}
static void
@@ -264,8 +264,8 @@ accelerator_filter(struct motion_filter *filter,
{
struct pointer_accelerator *accel =
(struct pointer_accelerator *) filter;
- double velocity;
- double accel_value;
+ double velocity; /* units/ms */
+ double accel_value; /* unitless factor */
feed_trackers(accel, motion->dx, motion->dy, time);
velocity = calculate_velocity(accel, time);
@@ -329,12 +329,12 @@ calc_penumbral_gradient(double x)
double
pointer_accel_profile_smooth_simple(struct motion_filter *filter,
void *data,
- double velocity,
+ double velocity, /* units/ms */
uint64_t time)
{
- double threshold = DEFAULT_THRESHOLD;
- double accel = DEFAULT_ACCELERATION;
- double smooth_accel_coefficient;
+ double threshold = DEFAULT_THRESHOLD; /* units/ms */
+ double accel = DEFAULT_ACCELERATION; /* unitless factor */
+ double smooth_accel_coefficient; /* unitless factor */
if (threshold < 1.0)
threshold = 1.0;
--
1.9.3
More information about the wayland-devel
mailing list