globalDestinationRect static method

Rect globalDestinationRect(
  1. DeviceInfo device,
  2. Orientation orientation
)

Implementation

static Rect globalDestinationRect(
  DeviceInfo device,
  Orientation orientation,
) {
  final view = ui.PlatformDispatcher.instance.implicitView!;

  final outputPadding =
      EdgeInsets.only(
            left: view.padding.left,
            right: view.padding.right,
            top: view.padding.top,
            bottom: view.padding.bottom,
          ) /
          view.devicePixelRatio +
      const EdgeInsets.all(10);

  final output = Size(
    (view.physicalSize.width / view.devicePixelRatio) -
        outputPadding.horizontal,
    (view.physicalSize.height / view.devicePixelRatio) -
        outputPadding.vertical,
  );

  final frameSize = device.frameSizeOn(orientation);
  final sizes = applyBoxFit(BoxFit.contain, frameSize, output);

  return Alignment.center.inscribe(
    sizes.destination,
    Offset(outputPadding.left, outputPadding.top) & output,
  );
}