applyResistance method
Applies rubber-band resistance when dragging beyond bounds.
Implementation
double applyResistance(
double rawPosition,
double screenHeight, {
required double resistance,
}) {
final minPos = positionForState(minState, screenHeight);
final maxPos = positionForState(maxState, screenHeight);
if (rawPosition < minPos) {
final overflow = minPos - rawPosition;
return minPos - overflow * resistance;
}
if (rawPosition > maxPos) {
final overflow = rawPosition - maxPos;
return maxPos + overflow * resistance;
}
return rawPosition;
}