boundForX function

DragBound boundForX({
  1. required double delta,
  2. required Rect currentRect,
  3. required Rect baseRect,
})

Which X-axis bound the rect is currently sitting on. If centered at base, delta's sign decides (positive → right).

Implementation

DragBound boundForX({
  required double delta,
  required Rect currentRect,
  required Rect baseRect,
}) {
  if (currentRect.center.dx > baseRect.center.dx) return .right;
  if (currentRect.center.dx < baseRect.center.dx) return .left;
  return delta >= 0 ? .right : .left;
}