transform method

  1. @override
double transform(
  1. Size size,
  2. double scale
)
override

Calculates the scale to apply based on the intrinsic widget size.

Implementation

@override
double transform(Size size, double scale) {
  final double longestSide = size.longestSide;
  final double normalizedSize = longestSide / referenceSize;
  final double perceivedIntensity = pow(normalizedSize, exponent).toDouble();
  final double effectMultiplier = 1.0 / perceivedIntensity;
  final double scaleOffset = (scale - 1.0) * scalingFactor * effectMultiplier;

  return 1.0 + scaleOffset;
}