code: function (evt) {
          this.lastMoveEvt = evt;
          if (this.started && !this.timeoutId && (evt.xy.x != this.last.x ||
                                                  evt.xy.y != this.last.y)) {
              if(this.documentDrag === true && this.documentEvents) {
                  if(evt.element === document) {
                      this.adjustXY(evt);
                      // do setEvent manually because the documentEvents are not
                      // registered with the map
                      this.setEvent(evt);
                  } else {
                      this.removeDocumentEvents();
                  }
              }
              if (this.interval > 0) {
                  this.timeoutId = setTimeout(
                      OpenLayers.Function.bind(this.removeTimeout, this),
                      this.interval);
              }
              this.dragging = true;
  
              this.move(evt);
              this.callback("move", [evt.xy]);
              if(!this.oldOnselectstart) {
                  this.oldOnselectstart = document.onselectstart;
                  document.onselectstart = OpenLayers.Function.False;
              }
              this.last = evt.xy;
          }
          return true;
      }
docs: Method: dragmove
  This private method is factorized from mousemove and touchmove methods
  
  Parameters:
  evt - {Event} The event
  
  Returns:
  {Boolean} Let the event propagate.