public void _move(PointerMoveEvent pEvent) { D.assert(_arenaEntry != null); if (!pEvent.synthesized) { _velocityTracker.addPosition(pEvent.timeStamp, pEvent.position); } if (_client != null) { D.assert(pendingDelta == null); _client.update(new DragUpdateDetails( sourceTimeStamp: pEvent.timeStamp, delta: pEvent.delta, globalPosition: pEvent.position )); } else { D.assert(pendingDelta != null); _pendingDelta += pEvent.delta; _lastPendingEventTimestamp = pEvent.timeStamp; checkForResolutionAfterMove(); } }
protected override void handleEvent(PointerEvent evt) { D.assert(_state != _ScaleState.ready); bool didChangeConfiguration = false; bool shouldStartIfAccepted = false; if (evt is PointerMoveEvent) { VelocityTracker tracker = _velocityTrackers[evt.pointer]; D.assert(tracker != null); if (!evt.synthesized) { tracker.addPosition(evt.timeStamp, evt.position); } _pointerLocations[evt.pointer] = evt.position; shouldStartIfAccepted = true; _lastTransform = evt.transform; } else if (evt is PointerDownEvent) { _pointerLocations[evt.pointer] = evt.position; _pointerQueue.Add(evt.pointer); didChangeConfiguration = true; shouldStartIfAccepted = true; _lastTransform = evt.transform; } else if (evt is PointerUpEvent || evt is PointerCancelEvent) { _pointerLocations.Remove(evt.pointer); _pointerQueue.Remove(evt.pointer); didChangeConfiguration = true; _lastTransform = evt.transform; } _updateLines(); _update(); if (!didChangeConfiguration || _reconfigure(evt.pointer)) { _advanceStateMachine(shouldStartIfAccepted); } stopTrackingIfPointerNoLongerDown(evt); }