getPanCorrection function

Offset getPanCorrection(
  1. Rect rect,
  2. Rect safeArea
)

Calculates the offset needed to move rect inside safeArea.

Implementation

@pragma('vm:prefer-inline')
Offset getPanCorrection(Rect rect, Rect safeArea) {
  double ox = 0, oy = 0;

  if (rect.left < safeArea.left) {
    ox = safeArea.left - rect.left;
  } else if (rect.right > safeArea.right) {
    ox = safeArea.right - rect.right;
  }

  if (rect.top < safeArea.top) {
    oy = safeArea.top - rect.top;
  } else if (rect.bottom > safeArea.bottom) {
    oy = safeArea.bottom - rect.bottom;
  }

  return Offset(ox, oy);
}