onMouseDown method

void onMouseDown(
  1. dynamic event
)

Implementation

void onMouseDown(event) {
  if (_state == OrbitState.none) {
    if (event.button == scope.mouseButtons['LEFT']) {
      _state = OrbitState.rotate;
    } else if (event.button == scope.mouseButtons['MIDDLE']) {
      _state = OrbitState.zoom;
    } else if (event.button == scope.mouseButtons['RIGHT']) {
      _state = OrbitState.pan;
    }
  }

  final state = (_keyState != OrbitState.none) ? _keyState : _state;

  if (state == OrbitState.rotate && !scope.noRotate) {
    _moveCurr.setFrom(getMouseOnCircle(event.pageX, event.pageY));
    _movePrev.setFrom(_moveCurr);
  } else if (state == OrbitState.zoom && !scope.noZoom) {
    _zoomStart.setFrom(getMouseOnScreen(event.pageX, event.pageY));
    _zoomEnd.setFrom(_zoomStart);
  } else if (state == OrbitState.pan && !scope.noPan) {
    _panStart.setFrom(getMouseOnScreen(event.pageX, event.pageY));
    _panEnd.setFrom(_panStart);
  }

  scope.dispatchEvent(_startEvent);
}