frictionFromState function
double
frictionFromState({
- required AxisState state,
- required GestureBounds bounds,
- required double delta,
Friction-scaled delta given a per-axis state. Absent bound = blocked (returns 0). Absent friction = free (returns delta).
Implementation
double frictionFromState({
required AxisState state,
required GestureBounds bounds,
required double delta,
}) {
if (delta == 0) return 0;
final boundConfig = bounds[state.activeBound];
if (boundConfig == null) return 0;
final fc = boundConfig.friction;
if (fc == null) return delta;
final friction = fc.forDirection(state.directionState);
if (friction == null) return delta;
return delta * (1.0 - friction.evaluate(state.progress));
}