updateMove method

void updateMove(
  1. double delta,
  2. double minBound,
  3. double maxBound
)

Updates the brush position during a move.

Implementation

void updateMove(double delta, double minBound, double maxBound) {
  if (gestureStartExtent == null) return;

  var newStart = gestureStartExtent!.start + delta;
  var newEnd = gestureStartExtent!.end + delta;

  // Clamp to bounds
  if (newStart < minBound) {
    final diff = minBound - newStart;
    newStart = minBound;
    newEnd += diff;
  }
  if (newEnd > maxBound) {
    final diff = newEnd - maxBound;
    newEnd = maxBound;
    newStart -= diff;
  }

  extent = BrushExtent(newStart, newEnd);
  widget.onBrush?.call(extent!);
  setState(() {});
}