onHorizontalDragUpdate method

void onHorizontalDragUpdate(
  1. BuildContext context,
  2. DragUpdateDetails details
)

Implementation

void onHorizontalDragUpdate(BuildContext context, DragUpdateDetails details) {
  initCanDrag(context, details.localPosition.dx);
  if (canDrag) {
    if (drag == null) {
      PageView? pageview = context.findAncestorWidgetOfExactType<PageView>();
      if (pageview != null) {
        PageController? controller = pageview.controller;
        if (controller != null) {
          final position = controller.position;
          drag = position.drag(
              DragStartDetails(
                sourceTimeStamp: details.sourceTimeStamp,
                globalPosition: details.globalPosition,
                localPosition: details.localPosition,
              ), () {
            drag = null;
          });
        }
      }
    }
    drag?.update(details);
  }
}