onTouchStart method

void onTouchStart(
  1. dynamic event
)

Implementation

void onTouchStart(event) {
  trackPointer(event);

  switch (_pointers.length) {
    case 1:
      _state = OrbitState.touchRotate;
      _moveCurr.setFrom(getMouseOnCircle(_pointers[0].pageX, _pointers[0].pageY));
      _movePrev.setFrom(_moveCurr);
      break;

    default: // 2 or more
      _state = OrbitState.touchZoomPan;
      final dx = _pointers[0].pageX - _pointers[1].pageX;
      final dy = _pointers[0].pageY - _pointers[1].pageY;
      _touchZoomDistanceEnd = _touchZoomDistanceStart = math.sqrt(dx * dx + dy * dy);

      final x = (_pointers[0].pageX + _pointers[1].pageX) / 2;
      final y = (_pointers[0].pageY + _pointers[1].pageY) / 2;
      _panStart.setFrom(getMouseOnScreen(x, y));
      _panEnd.setFrom(_panStart);
      break;
  }

  scope.dispatchEvent(_startEvent);
}