summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2010-05-14 01:15:14 +0200
committerHenrik Rydberg <rydberg@euromail.se>2010-05-14 01:41:39 +0200
commit8ced3667a30e00bd2368d4b5417f1f07cc86d290 (patch)
tree57137593f90a29c5ac9039fc1aebcde1158f01cb /src
parentebaf307ab1b22d4786cc5fb55170204759e887ce (diff)
Add convenience methods for distance to capability center point
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
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