Commit 461b1914 authored by Hans Muller's avatar Hans Muller

Added velocity and distance thresholds to ScrollSimulation, ScrollBehavior

parent 12097bdd
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:math' as math; import 'dart:math' as math;
import 'dart:sky' as sky;
import 'package:newton/newton.dart'; import 'package:newton/newton.dart';
...@@ -95,10 +96,21 @@ class UnboundedBehavior extends ExtentScrollBehavior { ...@@ -95,10 +96,21 @@ class UnboundedBehavior extends ExtentScrollBehavior {
} }
Simulation _createDefaultScrollSimulation(double position, double velocity, double minScrollOffset, double maxScrollOffset) { Simulation _createDefaultScrollSimulation(double position, double velocity, double minScrollOffset, double maxScrollOffset) {
double velocityPerSecond = velocity * _kSecondsPerMillisecond; double startVelocity = velocity * _kSecondsPerMillisecond;
SpringDescription spring = new SpringDescription.withDampingRatio(
mass: 1.0, springConstant: 170.0, ratio: 1.1); // Assume that we're rendering at atleast 15 FPS. Stop when we're
return new ScrollSimulation(position, velocityPerSecond, minScrollOffset, maxScrollOffset, spring, _kScrollDrag); // scrolling less than one logical pixel per frame. We're essentially
// normalizing by the devicePixelRatio so that the threshold has the
// same effect independent of the device's pixel density.
double endVelocity = 15.0 * sky.view.devicePixelRatio;
// Similar to endVelocity. Stop scrolling when we're this close to
// destiniation scroll offset.
double endDistance = 0.5 * sky.view.devicePixelRatio;
SpringDescription spring = new SpringDescription.withDampingRatio(mass: 1.0, springConstant: 170.0, ratio: 1.1);
return new ScrollSimulation(
position, startVelocity, endVelocity, endDistance, minScrollOffset, maxScrollOffset, spring, _kScrollDrag);
} }
/// A scroll behavior that lets the user scroll beyond the scroll bounds with some resistance /// A scroll behavior that lets the user scroll beyond the scroll bounds with some resistance
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment