handlePointerUp method

  1. @override
void handlePointerUp(
  1. MouseMsg event,
  2. Offset localPosition
)
override

Called when a pointer-up event occurs.

Implementation

@override
void handlePointerUp(MouseMsg event, Offset localPosition) {
  if (state != GestureRecognizerState.possible) return;

  if (_waitingForSecondTap) {
    // Second tap completed — fire double-tap.
    _doubleTapTimer?.cancel();
    _doubleTapTimer = null;
    _waitingForSecondTap = false;
    addCmd(onDoubleTap?.call());
    state = GestureRecognizerState.defunct;
  } else {
    // First tap completed — start waiting for second.
    _waitingForSecondTap = true;
    _doubleTapTimer = Timer(doubleTapTimeout, () {
      // Timeout — no double-tap.
      _resetDoubleTap();
    });
  }
}