Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(657)

Side by Side Diff: samples/ui_lib/touch/Momentum.dart

Issue 10919146: Get rid of a lot of () for getters. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « samples/ui_lib/touch/Geometry.dart ('k') | samples/ui_lib/touch/Scrollbar.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * Implementations can be used to simulate the deceleration of an element within 6 * Implementations can be used to simulate the deceleration of an element within
7 * a certain region. To use this behavior you need to provide an initial 7 * a certain region. To use this behavior you need to provide an initial
8 * velocity that is meant to represent the gesture that is initiating this 8 * velocity that is meant to represent the gesture that is initiating this
9 * deceleration. You also provide the bounds of the region that the element 9 * deceleration. You also provide the bounds of the region that the element
10 * exists in, and the current offset of the element within that region. The 10 * exists in, and the current offset of the element within that region. The
11 * transitions will have the element decelerate to rest, or stretch past the 11 * transitions will have the element decelerate to rest, or stretch past the
12 * offset boundaries and then come to rest. 12 * offset boundaries and then come to rest.
13 * 13 *
14 * This is primarily designed to solve the problem of slow scrolling in mobile 14 * This is primarily designed to solve the problem of slow scrolling in mobile
15 * safari. You can use this along with the [Scroller] behavior to make a 15 * safari. You can use this along with the [Scroller] behavior to make a
16 * scrollable area scroll the same way it would in a native application. 16 * scrollable area scroll the same way it would in a native application.
17 * 17 *
18 * Implementations of this interface do not maintain any references to HTML 18 * Implementations of this interface do not maintain any references to HTML
19 * elements, and therefore cannot do any redrawing of elements. They only 19 * elements, and therefore cannot do any redrawing of elements. They only
20 * calculates where the element should be on an interval. It is the delegate's 20 * calculates where the element should be on an interval. It is the delegate's
21 * responsibility to redraw the element when the onDecelerate callback is 21 * responsibility to redraw the element when the onDecelerate callback is
22 * invoked. It is recommended that you move the element with a hardware 22 * invoked. It is recommended that you move the element with a hardware
23 * accelerated method such as using 'translate3d' on the element's 23 * accelerated method such as using 'translate3d' on the element's
24 * -webkit-transform style property. 24 * -webkit-transform style property.
25 */ 25 */
26 interface Momentum default TimeoutMomentum { 26 interface Momentum default TimeoutMomentum {
27 27
28 Momentum(MomentumDelegate delegate, [num defaultDecelerationFactor]); 28 Momentum(MomentumDelegate delegate, [num defaultDecelerationFactor]);
29 29
30 bool get decelerating(); 30 bool get decelerating;
31 31
32 num get decelerationFactor(); 32 num get decelerationFactor;
33 33
34 /** 34 /**
35 * Transition end handler. This function must be invoked after any transition 35 * Transition end handler. This function must be invoked after any transition
36 * that occurred as a result of a call to the delegate's onDecelerate callback. 36 * that occurred as a result of a call to the delegate's onDecelerate callback.
37 */ 37 */
38 void onTransitionEnd(); 38 void onTransitionEnd();
39 39
40 /** 40 /**
41 * Start decelerating. 41 * Start decelerating.
42 * The [velocity] passed should be in terms of number of pixels / millisecond. 42 * The [velocity] passed should be in terms of number of pixels / millisecond.
(...skipping 12 matching lines...) Expand all
55 Coordinate calculateVelocity(Coordinate start, Coordinate target, 55 Coordinate calculateVelocity(Coordinate start, Coordinate target,
56 [num decelerationFactor]); 56 [num decelerationFactor]);
57 57
58 /** Stop decelerating and return the current velocity. */ 58 /** Stop decelerating and return the current velocity. */
59 Coordinate stop(); 59 Coordinate stop();
60 60
61 /** Aborts decelerating without dispatching any notification events. */ 61 /** Aborts decelerating without dispatching any notification events. */
62 void abort(); 62 void abort();
63 63
64 /** null if no transition is in progress. */ 64 /** null if no transition is in progress. */
65 Coordinate get destination(); 65 Coordinate get destination;
66 } 66 }
67 67
68 /** 68 /**
69 * Momentum Delegate interface. 69 * Momentum Delegate interface.
70 * You are required to implement this interface in order to use the 70 * You are required to implement this interface in order to use the
71 * Momentum behavior. 71 * Momentum behavior.
72 */ 72 */
73 interface MomentumDelegate { 73 interface MomentumDelegate {
74 /** 74 /**
75 * Callback for a deceleration step. The delegate is responsible for redrawing 75 * Callback for a deceleration step. The delegate is responsible for redrawing
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 if (_isStepNecessary()) { 399 if (_isStepNecessary()) {
400 _moves.add(new _Move(_nextX, _nextY, 400 _moves.add(new _Move(_nextX, _nextY,
401 physicsX.velocity, 401 physicsX.velocity,
402 physicsY.velocity, time)); 402 physicsY.velocity, time));
403 _previousOffset.y = _nextY; 403 _previousOffset.y = _nextY;
404 _previousOffset.x = _nextX; 404 _previousOffset.x = _nextX;
405 } 405 }
406 } 406 }
407 } 407 }
408 408
409 bool get decelerating() => _decelerating; 409 bool get decelerating => _decelerating;
410 num get decelerationFactor() => _customDecelerationFactor; 410 num get decelerationFactor => _customDecelerationFactor;
411 411
412 /** 412 /**
413 * Checks whether or not an animation step is necessary or not. Animations 413 * Checks whether or not an animation step is necessary or not. Animations
414 * steps are not necessary when the velocity gets so low that in several 414 * steps are not necessary when the velocity gets so low that in several
415 * frames the offset is the same. 415 * frames the offset is the same.
416 * Returns true if there is movement to be done in the next frame. 416 * Returns true if there is movement to be done in the next frame.
417 */ 417 */
418 bool _isStepNecessary() { 418 bool _isStepNecessary() {
419 return _nextY != _previousOffset.y || _nextX != _previousOffset.x; 419 return _nextY != _previousOffset.y || _nextX != _previousOffset.x;
420 } 420 }
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 if (_stepTimeout !== null) { 536 if (_stepTimeout !== null) {
537 Env.cancelRequestAnimationFrame(_stepTimeout); 537 Env.cancelRequestAnimationFrame(_stepTimeout);
538 _stepTimeout = null; 538 _stepTimeout = null;
539 } 539 }
540 if (wasDecelerating) { 540 if (wasDecelerating) {
541 _delegate.onDecelerationEnd(); 541 _delegate.onDecelerationEnd();
542 } 542 }
543 return velocity; 543 return velocity;
544 } 544 }
545 545
546 Coordinate get destination() { 546 Coordinate get destination {
547 if (!_moves.isEmpty()) { 547 if (!_moves.isEmpty()) {
548 final lastMove = _moves.last(); 548 final lastMove = _moves.last();
549 return new Coordinate(lastMove.x, lastMove.y); 549 return new Coordinate(lastMove.x, lastMove.y);
550 } else { 550 } else {
551 return null; 551 return null;
552 } 552 }
553 } 553 }
554 } 554 }
OLDNEW
« no previous file with comments | « samples/ui_lib/touch/Geometry.dart ('k') | samples/ui_lib/touch/Scrollbar.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698