handleDragUpdate method
Implementation
void handleDragUpdate(DragUpdateDetails details) {
final dx = details.delta.dx;
final newPosition = scrollPosition + dx;
if (newPosition <= 0 && dx <= 0) return;
if (newPosition + widget.scrollWidth >= widget.constraints.width &&
dx >= 0) {
jumpToScrollPosition(scrollPosition);
return;
}
if (newPosition < 0) {
jumpToScrollPosition(0);
return;
}
if (newPosition + widget.scrollWidth > widget.constraints.width) {
jumpToScrollPosition(widget.constraints.width - widget.scrollWidth);
return;
}
jumpToScrollPosition(newPosition);
}