anchor.diff:    /// Handle double click event.
     /// See [_handleMouseDown] for alternate detection method.
     _handleDblClick(MouseEvent evt) {
  -      evt.preventDefault();
  +    evt.preventDefault();
   
       // Check if target was a control button.
       if (_controlIconsEnabled) {
  
positive.code: 
      if (evt.shiftKey) {
        // Zoom out when shift key pressed.
        zoomFactor = 1/((1 + zoomSensitivity) * 2);
      } else {
        zoomFactor = (1 + zoomSensitivity) * 2;
      }
  
      var point = svgUtils.getEventPoint(evt, _svg).matrixTransform(_svg.getScreenCtm().inverse());
      _zoomAtPoint(zoomFactor, point);
    }
  
  
negative.code: 
    /// Handle click event.
    void _handleMouseDown(MouseEvent evt, prevEvt) {
      evt.preventDefault();
  
      //Utils.mouseAndTouchNormalize(evt, svg);
  
      // Double click detection; more consistent than ondblclick
      if (dblClickZoomEnabled && utils.isDblClick(evt, prevEvt)) {
        _handleDblClick(evt);
      } else {
        // Pan mode
        _state = State.PAN;
        _firstEventCTM = this._viewport.ctm;
        _stateOrigin = svgUtils
            .getEventPoint(evt, _svg)
            .matrixTransform(_firstEventCTM.inverse());
      }
    }
  
    /// Handle mouse move event
    void _handleMouseMove(MouseEvent evt) {
      evt.preventDefault();
  
      if (_state == State.PAN && panEnabled) {
        // Pan mode
        var point = svgUtils
            .getEventPoint(evt, _svg)
            .matrixTransform(this._firstEventCTM.inverse());
        var viewportCTM = _firstEventCTM.translate(
            point.x - _stateOrigin.x, point.y - _stateOrigin.y);
  
        _viewport.ctm = viewportCTM;
      }
  