requiredWidgetSize property

Size requiredWidgetSize

outputs calculated required size to render all Scenarios and their corresponding Devices

Implementation

Size get requiredWidgetSize {
  var width = scenarios
      .map((scenario) => scenario.widget.scenarioSize.width)
      .reduce((pw, cw) => pw + cw);

  var height = scenarios
      .map((scenario) => scenario.widget.scenarioSize.height)
      .reduce(max);

  if (scenarios.length > _numberOfDevicesPerScenario) {
    final scenariosPerDevice = scenarios.length / _numberOfDevicesPerScenario;
    width = width / scenariosPerDevice;
    height = height * scenariosPerDevice;
  }

  return Size(width, height);
}