handlePrimaryPointer method Null safety

  1. @override
void handlePrimaryPointer(
  1. PointerEvent event
)
override

Override to provide behavior for the primary pointer when the gesture is still possible.

Implementation

@override
void handlePrimaryPointer(PointerEvent event) {
  if (!event.synthesized) {
    if (event is PointerDownEvent) {
      _velocityTracker = VelocityTracker.withKind(event.kind);
      _velocityTracker!.addPosition(event.timeStamp, event.localPosition);
    }
    if (event is PointerMoveEvent) {
      assert(_velocityTracker != null);
      _velocityTracker!.addPosition(event.timeStamp, event.localPosition);
    }
  }

  if (event is PointerUpEvent) {
    if (_longPressAccepted == true) {
      _checkLongPressEnd(event);
    } else {
      // Pointer is lifted before timeout.
      resolve(GestureDisposition.rejected);
    }
    _reset();
  } else if (event is PointerCancelEvent) {
    _checkLongPressCancel();
    _reset();
  } else if (event is PointerDownEvent) {
    // The first touch.
    _longPressOrigin = OffsetPair.fromEventPosition(event);
    _initialButtons = event.buttons;
    _checkLongPressDown(event);
  } else if (event is PointerMoveEvent) {
    if (event.buttons != _initialButtons) {
      resolve(GestureDisposition.rejected);
      stopTrackingPointer(primaryPointer!);
    } else if (_longPressAccepted) {
      _checkLongPressMoveUpdate(event);
    }
  }
}