From d0f7b524153d1b54128b049841f880ee78c2c529 Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Tue, 21 Sep 2010 09:49:26 +0200 Subject: Simplify book-keeping of active gestures The current frame computation returns the event types to filter, which is less useful than knowing what gesture types are active in the frame. Add the active gesture types to the frame struct and simplify usage. Signed-off-by: Henrik Rydberg --- src/grail-inserter.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'src/grail-inserter.c') diff --git a/src/grail-inserter.c b/src/grail-inserter.c index a54b73a..847995a 100644 --- a/src/grail-inserter.c +++ b/src/grail-inserter.c @@ -103,20 +103,15 @@ void gin_destroy(struct grail *ge) void gin_frame_begin(struct grail *ge, const struct touch_frame *frame) { struct gesture_inserter *gin = ge->gin; + memset(gin->types, 0, sizeof(gin->types)); gin->time = frame->time; } -void gin_frame_end(struct grail *ge, - grail_mask_t *filtered, int max_filtered, - const struct touch_frame *frame) +void gin_frame_end(struct grail *ge, const struct touch_frame *frame) { struct gesture_inserter *gin = ge->gin; - grail_mask_t span[DIM_INSTANCE_BYTES]; int i, hold = 0, discard = 0; - memset(filtered, 0, max_filtered); - memset(span, 0, sizeof(span)); - setup_new_gestures(ge, frame); grail_mask_foreach(i, gin->used, sizeof(gin->used)) { @@ -140,7 +135,7 @@ void gin_frame_end(struct grail *ge, grail_mask_foreach(i, gin->used, sizeof(gin->used)) { struct slot_state *s = &gin->state[i]; struct gesture_event ev; - grail_mask_set_mask(span, s->span, sizeof(span)); + grail_mask_set(gin->types, s->type); if (s->priority < hold) continue; while (!gebuf_empty(&s->buf)) { @@ -154,9 +149,6 @@ void gin_frame_end(struct grail *ge, if (s->status == GRAIL_STATUS_END) gin_gid_discard(ge, s->id); } - - if (grail_mask_count(span, sizeof(span))) - grail_mask_set(filtered, EV_ABS); } int gin_gid_begin_select(struct grail *ge, int type, int priority, -- cgit v1.2.3