code: function _moveHandler(e) {
        var x,
            y,
            pos;
  
        // Dispatch event:
        if (_settings('mouseEnabled')) {
          _self.dispatchEvent('mousemove',
            sigma.utils.mouseCoords(e));
  
          if (_isMouseDown) {
            _isMoving = true;
            _hasDragged = true;
  
            if (_movingTimeoutId)
              clearTimeout(_movingTimeoutId);
  
            _movingTimeoutId = setTimeout(function() {
              _isMoving = false;
            }, _settings('dragTimeout'));
  
            sigma.misc.animation.killAll(_camera);
  
            _camera.isMoving = true;
            pos = _camera.cameraPosition(
              sigma.utils.getX(e) - _startMouseX,
              sigma.utils.getY(e) - _startMouseY,
              true
            );
  
            x = _startCameraX - pos.x;
            y = _startCameraY - pos.y;
  
            if (x !== _camera.x || y !== _camera.y) {
              _lastCameraX = _camera.x;
              _lastCameraY = _camera.y;
  
              _camera.goTo({
                x: x,
                y: y
              });
            }
  
            if (e.preventDefault)
              e.preventDefault();
            else
              e.returnValue = false;
  
            e.stopPropagation();
            return false;
          }
        }
      }
docs: MOUSE EVENTS: ************* 
  The handler listening to the 'move' mouse event. It will effectively
  drag the graph.
  
  @param {event} e A mouse event.