diff options
| -rw-r--r-- | src/capabilities.c | 10 | ||||
| -rw-r--r-- | src/capabilities.h | 3 | ||||
| -rw-r--r-- | src/mtstate.h | 14 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/capabilities.c b/src/capabilities.c index 9879ddf..cd96e8e 100644 --- a/src/capabilities.c +++ b/src/capabilities.c | |||
| @@ -128,6 +128,16 @@ int get_cap_wsize(const struct Capabilities *cap) | |||
| 128 | return cap->abs_touch_major.maximum - cap->abs_touch_major.minimum; | 128 | return cap->abs_touch_major.maximum - cap->abs_touch_major.minimum; |
| 129 | } | 129 | } |
| 130 | 130 | ||
| 131 | int get_cap_xmid(const struct Capabilities *cap) | ||
| 132 | { | ||
| 133 | return (cap->abs_position_x.maximum + cap->abs_position_x.minimum) >> 1; | ||
| 134 | } | ||
| 135 | |||
| 136 | int get_cap_ymid(const struct Capabilities *cap) | ||
| 137 | { | ||
| 138 | return (cap->abs_position_y.maximum + cap->abs_position_y.minimum) >> 1; | ||
| 139 | } | ||
| 140 | |||
| 131 | void output_capabilities(const struct Capabilities *cap) | 141 | void output_capabilities(const struct Capabilities *cap) |
| 132 | { | 142 | { |
| 133 | char line[1024]; | 143 | char line[1024]; |
diff --git a/src/capabilities.h b/src/capabilities.h index 402d297..23086bd 100644 --- a/src/capabilities.h +++ b/src/capabilities.h | |||
| @@ -49,6 +49,9 @@ int get_cap_xsize(const struct Capabilities *cap); | |||
| 49 | int get_cap_ysize(const struct Capabilities *cap); | 49 | int get_cap_ysize(const struct Capabilities *cap); |
| 50 | int get_cap_wsize(const struct Capabilities *cap); | 50 | int get_cap_wsize(const struct Capabilities *cap); |
| 51 | 51 | ||
| 52 | int get_cap_xmid(const struct Capabilities *cap); | ||
| 53 | int get_cap_ymid(const struct Capabilities *cap); | ||
| 54 | |||
| 52 | void output_capabilities(const struct Capabilities *cap); | 55 | void output_capabilities(const struct Capabilities *cap); |
| 53 | 56 | ||
| 54 | #endif | 57 | #endif |
diff --git a/src/mtstate.h b/src/mtstate.h index fa297cd..a8feaa4 100644 --- a/src/mtstate.h +++ b/src/mtstate.h | |||
| @@ -44,5 +44,19 @@ void output_mtstate(const struct MTState *s); | |||
| 44 | 44 | ||
| 45 | const struct MTFinger *find_finger(const struct MTState *s, int id); | 45 | const struct MTFinger *find_finger(const struct MTState *s, int id); |
| 46 | 46 | ||
| 47 | |||
| 48 | static inline int center_dist2(const struct MTFinger *a, | ||
| 49 | const struct Capabilities *caps) | ||
| 50 | { | ||
| 51 | return dist2(a->hw.position_x - get_cap_xmid(caps), | ||
| 52 | a->hw.position_y - get_cap_ymid(caps)); | ||
| 53 | } | ||
| 54 | |||
| 55 | static inline int center_maxdist2(const struct Capabilities *caps) | ||
| 56 | { | ||
| 57 | return dist2(caps->abs_position_x.maximum - get_cap_xmid(caps), | ||
| 58 | caps->abs_position_y.maximum - get_cap_ymid(caps)); | ||
| 59 | } | ||
| 60 | |||
| 47 | #endif | 61 | #endif |
| 48 | 62 | ||
