scaledMultiplier method

double scaledMultiplier(
  1. bool applyAspectRatio,
  2. double? customSensitivityK
)

Multiplier used by the scaled SDP/SSP path. Invalid sensitivities are rejected instead of leaking NaN or infinity into a layout.

Implementation

double scaledMultiplier(bool applyAspectRatio, double? customSensitivityK) {
  if (!applyAspectRatio) return _d.scale;
  if (customSensitivityK == null) return defaultScaledAspectRatioMultiplier;
  if (!customSensitivityK.isFinite) {
    throw ArgumentError.value(
        customSensitivityK, 'customSensitivityK', 'must be finite');
  }
  final result = 1 +
      (_d.smallestWidthDp - DesignScaleConstants.baseWidthDp) *
          (DimenCache.adjustmentScale +
              customSensitivityK * _d.logNormalizedAspectRatio);
  if (!result.isFinite) {
    throw ArgumentError('customSensitivityK produces a non-finite '
        'dimension multiplier');
  }
  return result;
}