value property

  1. @override
double value
override

The current value of the animation.

Implementation

@override
double get value {
  final metrics = _controller.value;
  if (!metrics.hasDimensions) {
    return initialValue;
  }

  final startPixels =
      startExtent?.resolve(metrics.contentSize) ?? metrics.minPixels;
  final endPixels =
      endExtent?.resolve(metrics.contentSize) ?? metrics.maxPixels;
  final distance = endPixels - startPixels;

  if (distance.isFinite && distance > 0) {
    return ((metrics.pixels - startPixels) / distance).clamp(0, 1);
  }

  return 1;
}