docs: function (evt) {
          if (!this.dispatchEvents) {
              return
          }
  
          this._previousMouseMovePosition = geo.ccp(evt.clientX, evt.clientY)
          this._previousMouseDragPosition = geo.ccp(evt.clientX, evt.clientY)
  
          for (var i = 0; i < this.mouseDelegates.length; i++) {
              var entry = this.mouseDelegates[i]
              if (entry.delegate.mouseDown) {
                  var swallows = entry.delegate.mouseDown(evt)
                  if (swallows) {
                      break
                  }
              }
          }
      }