Lines Matching full:spans
163 /* Ignore pressure spans with cumulative press. below this value. */
166 /* Maximum allowed width for pressure-spans.*/
297 * pressure spans along the two axes.
647 * For these, there is the need to track pressure-spans and cumulative
1015 /* Get pressure readings and detect p-spans for both axes. */ in fg_interpret_sensor_data()
1163 fg_pspan *spans, /* finger spans */ in fg_detect_pspans() argument
1164 u_int *nspans_p) /* num spans detected */ in fg_detect_pspans()
1180 memset(spans, 0, max_spans * sizeof(fg_pspan)); in fg_detect_pspans()
1234 spans[num_spans].width++; in fg_detect_pspans()
1235 spans[num_spans].cum += p[i]; in fg_detect_pspans()
1236 spans[num_spans].cog += p[i] * (i + 1); in fg_detect_pspans()
1242 /* post-process the spans */ in fg_detect_pspans()
1244 /* filter away unwanted pressure spans */ in fg_detect_pspans()
1245 if ((spans[i].cum < FG_PSPAN_MIN_CUM_PRESSURE) || in fg_detect_pspans()
1246 (spans[i].width > FG_PSPAN_MAX_WIDTH)) { in fg_detect_pspans()
1248 memcpy(&spans[i], &spans[i + 1], in fg_detect_pspans()
1257 spans[i].loc = spans[i].cog * FG_SCALE_FACTOR / in fg_detect_pspans()
1258 spans[i].cum; in fg_detect_pspans()
1260 spans[i].matched = false; /* not yet matched against a stroke */ in fg_detect_pspans()
1487 * Update strokes by matching against current pressure-spans.
1631 * Update strokes by matching against current pressure-spans.
1714 fg_pspan spans[2][FG_MAX_PSPANS_PER_AXIS]; in fg_add_new_strokes() local
1722 spans[X][nspans[X]] = pspans_x[i]; in fg_add_new_strokes()
1728 spans[Y][nspans[Y]] = pspans_y[j]; in fg_add_new_strokes()
1736 fg_add_stroke(sc, &spans[X][i], &spans[Y][j]); in fg_add_new_strokes()
1746 if (spans[repeat_axis][i].cum > cum) { in fg_add_new_strokes()
1748 cum = spans[repeat_axis][i].cum; in fg_add_new_strokes()
1755 fg_add_stroke(sc, &spans[X][i], &spans[Y][j]); in fg_add_new_strokes()