onDrag method

dynamic onDrag(
  1. DragUpdateDetails details
)

Implementation

onDrag(DragUpdateDetails details) {
  if (!widget.model.draggable) return;
  setState(() {
    dx = dx! + details.delta.dx;
    dy = dy! + details.delta.dy;
    if (widget.model.modal) {
      var viewport = MediaQuery.of(context).size;
      if (dx!.isNegative) dx = 0;
      if (dy!.isNegative) dy = 0;
      if (dx! + (width! + (padding * 2)) > viewport.width) {
        dx = viewport.width - (width! + (padding * 2));
      }
      if (dy! + (height! + (padding * 2)) > viewport.height) {
        dy = viewport.height - (height! + (padding * 2));
      }
    }

    lastDx = dx;
    lastDy = dy;
    lastWidth = width;
    lastHeight = height;

    // print('on drag $dx,$dy...');
  });
}