createRecognizer method

  1. @override
MultiDragGestureRecognizer createRecognizer(
  1. GestureMultiDragStartCallback onStart
)
override

Creates a gesture recognizer that recognizes the start of the drag.

Subclasses can override this function to customize when they start recognizing a drag.

Implementation

@override
MultiDragGestureRecognizer createRecognizer(GestureMultiDragStartCallback onStart) {
  return switch (affinity) {
    Axis.horizontal => HorizontalMultiDragGestureRecognizer(
        allowedButtonsFilter: allowedButtonsFilter,
      ),
    Axis.vertical => VerticalMultiDragGestureRecognizer(
        allowedButtonsFilter: allowedButtonsFilter,
      ),
    null => ImmediateMultiDragGestureRecognizer(allowedButtonsFilter: allowedButtonsFilter),
  }
    ..onStart = (Offset position) {
      return _ProxyDrag(
        onStart(position),
        onUpdateCallback: (DragUpdateDetails details) {
          onDragUpdate?.call(details);
        },
      );
    };
}