panZoomUpdate method
Implementation
void panZoomUpdate(PointerPanZoomUpdateEvent e) {
if (!_trackpad) return;
final focal = e.localPosition;
final pan = options.dragPan ? e.pan - _trackpadLast : Offset.zero;
_trackpadLast = e.pan;
final zoomBy = options.scrollZoom && e.scale > 0 && _trackpadScale > 0
? math.log(e.scale / _trackpadScale) / math.ln2
: 0.0;
_trackpadScale = e.scale;
final turn = _pinchTurns
? -(e.rotation - _trackpadTurn) * 180 / math.pi
: 0.0;
_trackpadTurn = e.rotation;
_panTotal += pan;
_zoomTotal += zoomBy;
_turnTotal += turn;
target.jump(
MapGestureStep(
from: focal,
to: focal + pan,
around: focal,
zoomBy: zoomBy,
turn: turn,
),
);
_lastFocal = focal;
_record(e.timeStamp);
}