getScaledViewInsets method

EdgeInsets getScaledViewInsets({
  1. required MediaQueryData mediaQueryData,
  2. required Size screenSize,
  3. required Size scaledSize,
})

Implementation

EdgeInsets getScaledViewInsets(
    {required MediaQueryData mediaQueryData,
    required Size screenSize,
    required Size scaledSize}) {
  double leftInsetFactor = mediaQueryData.viewInsets.left / screenSize.width;
  double topInsetFactor = mediaQueryData.viewInsets.top / screenSize.height;
  double rightInsetFactor =
      mediaQueryData.viewInsets.right / screenSize.width;
  double bottomInsetFactor =
      mediaQueryData.viewInsets.bottom / screenSize.height;

  double scaledLeftInset = leftInsetFactor * scaledSize.width;
  double scaledTopInset = topInsetFactor * scaledSize.height;
  double scaledRightInset = rightInsetFactor * scaledSize.width;
  double scaledBottomInset = bottomInsetFactor * scaledSize.height;

  return EdgeInsets.fromLTRB(
      scaledLeftInset, scaledTopInset, scaledRightInset, scaledBottomInset);
}