| OLD | NEW |
| 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 * Touch Handler. Class that handles all touch events and | 6 * Touch Handler. Class that handles all touch events and |
| 7 * uses them to interpret higher level gestures and behaviors. TouchEvent is a | 7 * uses them to interpret higher level gestures and behaviors. TouchEvent is a |
| 8 * built in mobile safari type: | 8 * built in mobile safari type: |
| 9 * [http://developer.apple.com/safari/library/documentation/UserExperience/Refer
ence/TouchEventClassReference/TouchEvent/TouchEvent.html]. | 9 * [http://developer.apple.com/safari/library/documentation/UserExperience/Refer
ence/TouchEventClassReference/TouchEvent/TouchEvent.html]. |
| 10 * | 10 * |
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 assert (len % 2 == 0); | 342 assert (len % 2 == 0); |
| 343 while (count < len && | 343 while (count < len && |
| 344 recentTime - recentTouches[count + 1] > _MAX_TRACKING_TIME || | 344 recentTime - recentTouches[count + 1] > _MAX_TRACKING_TIME || |
| 345 (len - count) > _MAX_TRACKING_TOUCHES * 2) { | 345 (len - count) > _MAX_TRACKING_TOUCHES * 2) { |
| 346 count += 2; | 346 count += 2; |
| 347 } | 347 } |
| 348 return count == 0 ? recentTouches : _removeFirstN(recentTouches, count); | 348 return count == 0 ? recentTouches : _removeFirstN(recentTouches, count); |
| 349 } | 349 } |
| 350 | 350 |
| 351 static List<int> _removeFirstN(List<int> list, int n) { | 351 static List<int> _removeFirstN(List<int> list, int n) { |
| 352 return new List<int>.fromList(list, n, list.length); | 352 return list.getRange(n, list.length - n); |
| 353 } | 353 } |
| 354 | 354 |
| 355 /** | 355 /** |
| 356 * Filters the provided recent touches list to remove all touches except the | 356 * Filters the provided recent touches list to remove all touches except the |
| 357 * last if the move direction has changed. | 357 * last if the move direction has changed. |
| 358 * [recentTouches] specifies a list of tuples where the first item is the x | 358 * [recentTouches] specifies a list of tuples where the first item is the x |
| 359 * or y component of the recent touch and the second item is the touch time | 359 * or y component of the recent touch and the second item is the touch time |
| 360 * stamp. The x or y component of the most recent move is specified by | 360 * stamp. The x or y component of the most recent move is specified by |
| 361 * [recentMove]. | 361 * [recentMove]. |
| 362 */ | 362 */ |
| (...skipping 21 matching lines...) Expand all Loading... |
| 384 | 384 |
| 385 /** | 385 /** |
| 386 * Call this method to enable drag behavior on a draggable delegate. | 386 * Call this method to enable drag behavior on a draggable delegate. |
| 387 * The [draggable] object can be the same as the [_touchable] object, they are | 387 * The [draggable] object can be the same as the [_touchable] object, they are |
| 388 * assigned to different members to allow for strong typing with interfaces. | 388 * assigned to different members to allow for strong typing with interfaces. |
| 389 */ | 389 */ |
| 390 void setDraggable(Draggable draggable) { | 390 void setDraggable(Draggable draggable) { |
| 391 _draggable = draggable; | 391 _draggable = draggable; |
| 392 } | 392 } |
| 393 } | 393 } |
| OLD | NEW |