From 88dada465e0fad35b5a535a042e0a93046ffff7c Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Wed, 4 Aug 2010 22:06:54 +0200 Subject: Cleanup tapping and gesture code Improved tapping quality with this patch. Signed-off-by: Henrik Rydberg --- src/grail-gestures.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'src/grail-gestures.c') diff --git a/src/grail-gestures.c b/src/grail-gestures.c index 27f160b..5ab12a8 100644 --- a/src/grail-gestures.c +++ b/src/grail-gestures.c @@ -134,7 +134,7 @@ void gru_init_motion(struct grail *ge, const struct touch_dev_caps *caps) state->y.bar = BAR_MOVE * state->y.fuzz; state->r.bar = BAR_ZOOM * state->r.fuzz; state->a.bar = BAR_ROTATE * state->a.fuzz; - state->motion = 0; + state->multi = 0; } void gru_motion(struct grail *ge, @@ -142,17 +142,16 @@ void gru_motion(struct grail *ge, { struct gesture_recognizer *gru = ge->gru; struct move_model *state = &gru->move; - int na = 0, nt = frame->nactive; float x, y, r, a; compute_position(&x, &y, frame); - if (nt < 2 || frame->ncreate || frame->ndestroy) { + if (frame->nactive < 2 || frame->ncreate || frame->ndestroy) { r = compute_radius(x, y, frame); a = 0; move_reset(&state->x, x); move_reset(&state->y, y); move_reset(&state->r, r); move_reset(&state->a, a); - state->motion = 0; + state->multi = 0; } else { x = move_filter(&state->x, x); y = move_filter(&state->y, y); @@ -160,14 +159,13 @@ void gru_motion(struct grail *ge, r = move_filter(&state->r, r); a = state->a.val + compute_rotation(x, y, r, &gru->frame, frame); //a = move_filter(&state->a, a); - na += move_update(&state->x, x); - na += move_update(&state->y, y); - na += move_update(&state->r, r); - na += move_update(&state->a, a); - state->motion = 1; + move_update(&state->x, x); + move_update(&state->y, y); + move_update(&state->r, r); + move_update(&state->a, a); + state->multi = 1; } - state->nactive = na; - state->ntouch = nt; + state->ntouch = frame->nactive; state->time = frame->time; } -- cgit v1.2.3