OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
| 5 library animation_scroll_behaviour; |
| 6 |
5 import 'dart:math' as math; | 7 import 'dart:math' as math; |
6 import 'mechanics.dart'; | 8 import 'mechanics.dart'; |
7 import 'generators.dart'; | 9 import 'generators.dart'; |
8 | 10 |
9 const double _kScrollFriction = 0.005; | 11 const double _kScrollFriction = 0.005; |
10 const double _kOverscrollFriction = 0.075; | 12 const double _kOverscrollFriction = 0.075; |
11 const double _kBounceSlopeAngle = math.PI / 512.0; // radians | 13 const double _kBounceSlopeAngle = math.PI / 512.0; // radians |
12 | 14 |
13 abstract class ScrollBehavior { | 15 abstract class ScrollBehavior { |
14 Simulation release(Particle particle) => null; | 16 Simulation release(Particle particle) => null; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 // reduce the portion of scrollDelta that's applied beyond 0.0. We | 107 // reduce the portion of scrollDelta that's applied beyond 0.0. We |
106 // do similar things for overscroll in the other direction. | 108 // do similar things for overscroll in the other direction. |
107 if (newScrollOffset < 0.0) { | 109 if (newScrollOffset < 0.0) { |
108 newScrollOffset -= (newScrollOffset - math.min(0.0, scrollOffset)) / 2.0; | 110 newScrollOffset -= (newScrollOffset - math.min(0.0, scrollOffset)) / 2.0; |
109 } else if (newScrollOffset > maxScroll) { | 111 } else if (newScrollOffset > maxScroll) { |
110 newScrollOffset -= (newScrollOffset - math.max(maxScroll, scrollOffset)) /
2.0; | 112 newScrollOffset -= (newScrollOffset - math.max(maxScroll, scrollOffset)) /
2.0; |
111 } | 113 } |
112 return newScrollOffset; | 114 return newScrollOffset; |
113 } | 115 } |
114 } | 116 } |
OLD | NEW |