diff options
Diffstat (limited to 'src/gestures.c')
-rw-r--r-- | src/gestures.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/gestures.c b/src/gestures.c index 5dd6861..ebf103f 100644 --- a/src/gestures.c +++ b/src/gestures.c @@ -25,16 +25,16 @@ void extract_gestures(struct Gestures *gs, struct MTouch* mt) { - const struct FingerState *b = mt->nhs.finger; - const struct FingerState *e = b + mt->nhs.nfinger; + const struct FingerState *b = mt->state.finger; + const struct FingerState *e = b + mt->state.nfinger; const struct FingerState *p, *fs; - int nof = count_fingers(&mt->ohs); - int nsf = count_fingers(&mt->nhs); + int nof = mt->prev_state.nfinger; + int nsf = mt->state.nfinger; int dn = 0, i; memset(gs, 0, sizeof(struct Gestures)); if (nof == nsf) { for (p = b; p != e; p++) { - fs = find_finger(&mt->ohs, p->id); + fs = find_finger(&mt->prev_state, p->id); if (fs) { gs->dx += p->hw.position_x - fs->hw.position_x; gs->dy += p->hw.position_y - fs->hw.position_y; @@ -52,14 +52,15 @@ void extract_gestures(struct Gestures *gs, struct MTouch* mt) if (nsf == 3) SETBIT(gs->type, GS_HSCROLL); } - if (mt->nhs.button == BITMASK(MT_BUTTON_LEFT)) { + if (mt->state.button == BITMASK(MT_BUTTON_LEFT)) { if (nsf == 2) - mt->nhs.button = BITMASK(MT_BUTTON_RIGHT); + mt->state.button = BITMASK(MT_BUTTON_RIGHT); if (nsf == 3) - mt->nhs.button = BITMASK(MT_BUTTON_MIDDLE); + mt->state.button = BITMASK(MT_BUTTON_MIDDLE); } - gs->btmask = (mt->nhs.button ^ mt->ohs.button) & BITONES(DIM_BUTTON); - gs->btdata = mt->nhs.button & BITONES(DIM_BUTTON); - mt->ohs = mt->nhs; + gs->btmask = (mt->state.button ^ mt->prev_state.button) & + BITONES(DIM_BUTTON); + gs->btdata = mt->state.button & BITONES(DIM_BUTTON); + mt->prev_state = mt->state; } |