summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/capabilities.c10
-rw-r--r--src/capabilities.h3
-rw-r--r--src/mtstate.h14
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
131int get_cap_xmid(const struct Capabilities *cap)
132{
133 return (cap->abs_position_x.maximum + cap->abs_position_x.minimum) >> 1;
134}
135
136int get_cap_ymid(const struct Capabilities *cap)
137{
138 return (cap->abs_position_y.maximum + cap->abs_position_y.minimum) >> 1;
139}
140
131void output_capabilities(const struct Capabilities *cap) 141void 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);
49int get_cap_ysize(const struct Capabilities *cap); 49int get_cap_ysize(const struct Capabilities *cap);
50int get_cap_wsize(const struct Capabilities *cap); 50int get_cap_wsize(const struct Capabilities *cap);
51 51
52int get_cap_xmid(const struct Capabilities *cap);
53int get_cap_ymid(const struct Capabilities *cap);
54
52void output_capabilities(const struct Capabilities *cap); 55void 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
45const struct MTFinger *find_finger(const struct MTState *s, int id); 45const struct MTFinger *find_finger(const struct MTState *s, int id);
46 46
47
48static 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
55static 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