commit
b1448e0f6d
@ -56,10 +56,12 @@ class _PointerEventConverter {
|
|||||||
PointerDeviceKind kind = _pointerKindMap[datum.kind];
|
PointerDeviceKind kind = _pointerKindMap[datum.kind];
|
||||||
switch (datum.type) {
|
switch (datum.type) {
|
||||||
case PointerType.DOWN:
|
case PointerType.DOWN:
|
||||||
|
assert(!_pointers.containsKey(datum.pointer));
|
||||||
_PointerState state = _pointers.putIfAbsent(
|
_PointerState state = _pointers.putIfAbsent(
|
||||||
datum.pointer,
|
datum.pointer,
|
||||||
() => new _PointerState(position)
|
() => new _PointerState(position)
|
||||||
);
|
);
|
||||||
|
assert(state.lastPosition == position);
|
||||||
state.startNewPointer();
|
state.startNewPointer();
|
||||||
state.setDown();
|
state.setDown();
|
||||||
yield new PointerAddedEvent(
|
yield new PointerAddedEvent(
|
||||||
@ -96,13 +98,11 @@ class _PointerEventConverter {
|
|||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case PointerType.MOVE:
|
case PointerType.MOVE:
|
||||||
_PointerState state = _pointers[datum.pointer];
|
|
||||||
// If the service starts supporting hover pointers, then it must also
|
// If the service starts supporting hover pointers, then it must also
|
||||||
// start sending us ADDED and REMOVED data points. In the meantime, we
|
// start sending us ADDED and REMOVED data points.
|
||||||
// only support "down" moves, and ignore spurious moves.
|
|
||||||
// See also: https://github.com/flutter/flutter/issues/720
|
// See also: https://github.com/flutter/flutter/issues/720
|
||||||
if (state == null)
|
assert(_pointers.containsKey(datum.pointer));
|
||||||
break;
|
_PointerState state = _pointers[datum.pointer];
|
||||||
assert(state.down);
|
assert(state.down);
|
||||||
Offset offset = position - state.lastPosition;
|
Offset offset = position - state.lastPosition;
|
||||||
state.lastPosition = position;
|
state.lastPosition = position;
|
||||||
@ -129,8 +129,9 @@ class _PointerEventConverter {
|
|||||||
break;
|
break;
|
||||||
case PointerType.UP:
|
case PointerType.UP:
|
||||||
case PointerType.CANCEL:
|
case PointerType.CANCEL:
|
||||||
|
assert(_pointers.containsKey(datum.pointer));
|
||||||
_PointerState state = _pointers[datum.pointer];
|
_PointerState state = _pointers[datum.pointer];
|
||||||
assert(state != null);
|
assert(state.down);
|
||||||
assert(position == state.lastPosition);
|
assert(position == state.lastPosition);
|
||||||
state.setUp();
|
state.setUp();
|
||||||
if (datum.type == PointerType.UP) {
|
if (datum.type == PointerType.UP) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user