Commit 02843214 authored by Kris Giesing's avatar Kris Giesing

Address more comments

parent 9f74a178
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:ui' as ui;
/// Base class for input events.
......@@ -21,14 +25,9 @@ class InputEvent {
}
/// Input event
/// Input event representing a touch or button.
class PointerInputEvent extends InputEvent {
// Map actual input pointer value to a unique value
// Since events are serialized we can just use a counter
static Map<int, int> _pointerMap = new Map<int, int>();
static int _pointerCount = 0;
const PointerInputEvent({
String type,
double timeStamp: 0.0,
......@@ -60,7 +59,7 @@ class PointerInputEvent extends InputEvent {
PointerInputEvent result = new PointerInputEvent(
type: event.type,
timeStamp: event.timeStamp,
pointer: (event.type == 'pointerDown') ? _pointerCount : _pointerMap[event.pointer],
pointer: _getPointerValue(event.type, event.pointer),
kind: event.kind,
x: event.x,
y: event.y,
......@@ -83,13 +82,26 @@ class PointerInputEvent extends InputEvent {
orientation: event.orientation,
tilt: event.tilt
);
if (event.type == 'pointerdown') {
_pointerMap[event.pointer] = _pointerCount;
_pointerCount++;
}
return result;
}
// Map actual input pointer value to a unique value
// Since events are serialized we can just use a counter
static Map<int, int> _pointerMap = new Map<int, int>();
static int _pointerCount = 0;
static int _getPointerValue(String eventType, int pointer) {
int result;
if (eventType == 'pointerdown') {
result = pointer;
_pointerMap[pointer] = _pointerCount;
_pointerCount++;
} else {
result = _pointerMap[pointer];
}
return result;
}
final int pointer;
final String kind;
final double x;
......
......@@ -32,7 +32,7 @@ void main() {
};
TestPointer pointer = new TestPointer(5);
PointerInputEvent down = pointer.down(new ui.Point(10.0, 10.0));
PointerInputEvent down = pointer.down(new Point(10.0, 10.0));
pan.addPointer(down);
tap.addPointer(down);
GestureArena.instance.close(5);
......@@ -47,7 +47,7 @@ void main() {
expect(didEndPan, isFalse);
expect(didTap, isFalse);
router.route(pointer.move(new ui.Point(20.0, 20.0)));
router.route(pointer.move(new Point(20.0, 20.0)));
expect(didStartPan, isTrue);
didStartPan = false;
expect(updatedScrollDelta, new ui.Offset(10.0, 10.0));
......@@ -55,7 +55,7 @@ void main() {
expect(didEndPan, isFalse);
expect(didTap, isFalse);
router.route(pointer.move(new ui.Point(20.0, 25.0)));
router.route(pointer.move(new Point(20.0, 25.0)));
expect(didStartPan, isFalse);
expect(updatedScrollDelta, new ui.Offset(0.0, 5.0));
updatedScrollDelta = null;
......
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