wrapWithDragDetection method

Widget wrapWithDragDetection(
  1. Widget child, {
  2. bool enabled = true,
})

Wraps a child widget with drag gesture detection.

Implementation

Widget wrapWithDragDetection(
  Widget child, {
  bool enabled = true,
}) {
  if (!enabled) return child;

  return GestureDetector(
    onPanStart: (details) => onDragStart(details.localPosition),
    onPanUpdate: (details) => onDragUpdate(
      details.localPosition,
      details.delta,
    ),
    onPanEnd: (details) => onDragEnd(),
    onPanCancel: () => onDragCancel(),
    child: child,
  );
}