diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2010-05-14 01:14:04 +0200 |
---|---|---|
committer | Henrik Rydberg <rydberg@euromail.se> | 2010-05-14 01:41:39 +0200 |
commit | ebaf307ab1b22d4786cc5fb55170204759e887ce (patch) | |
tree | 933487729ab47354f29cb1fbda38e6438ca8d22c /src/mtstate.c | |
parent | 2b271ed5348daec2bcf90b83da47781e2d8b964c (diff) | |
download | xorg-input-kobomultitouch-ebaf307ab1b22d4786cc5fb55170204759e887ce.tar.gz xorg-input-kobomultitouch-ebaf307ab1b22d4786cc5fb55170204759e887ce.tar.bz2 xorg-input-kobomultitouch-ebaf307ab1b22d4786cc5fb55170204759e887ce.zip |
Introduce MTFinger structure
Switch from the FingerData structure to the MTFinger structure, making
room for more computed finger details in MTState.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'src/mtstate.c')
-rw-r--r-- | src/mtstate.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/mtstate.c b/src/mtstate.c index a8541dc..c3bcc78 100644 --- a/src/mtstate.c +++ b/src/mtstate.c @@ -39,6 +39,14 @@ static int touching_finger(const struct FingerData *hw, return 1; } +static int set_finger(struct MTFinger *f, + const struct FingerState *fs, + const struct Capabilities *caps) +{ + f->hw = fs->hw; + f->id = fs->id; +} + void extract_mtstate(struct MTState *s, const struct HWState *hs, const struct Capabilities *caps) @@ -46,15 +54,18 @@ void extract_mtstate(struct MTState *s, int i; s->nfinger = 0; - for (i = 0; i < hs->nfinger; i++) - if (touching_finger(&hs->finger[i].hw, caps)) - s->finger[s->nfinger++] = hs->finger[i]; + for (i = 0; i < hs->nfinger; i++) { + if (!touching_finger(&hs->finger[i].hw, caps)) + continue; + set_finger(&s->finger[s->nfinger], &hs->finger[i], caps); + s->nfinger++; + } s->button = hs->button; s->evtime = hs->evtime; } -const struct FingerState *find_finger(const struct MTState *s, int id) +const struct MTFinger *find_finger(const struct MTState *s, int id) { int i; |