computeResponsiveSizeFrom method

double computeResponsiveSizeFrom(
  1. double size
)

Implementation

double computeResponsiveSizeFrom(
  double size,
) {
  final values = SplayTreeMap<double, double>.from(valueByRange);
  final ranges = values.keys;
  double begin = ranges.first;
  double end = ranges.last;

  for (final range in ranges) {
    if (size >= range) {
      begin = math.min(begin, range);
    }
    if (size <= range) {
      end = math.max(end, range);
    }
  }

  return Tween(
    begin: values[begin]!,
    end: values[end]!,
  ).transform(
    _getExtrapolationFactor(begin, end, size),
  );
}