diff --git a/changelog.txt b/changelog.txt index 4ffb2020..fd9480ae 100644 --- a/changelog.txt +++ b/changelog.txt @@ -20,6 +20,7 @@ OPENSEADRAGON CHANGELOG * MouseTracker now passes the original event objects to its handler methods (#23) * MouseTracker now supports an optional 'moveHandler' method for tracking mousemove events (#215) * Fixed: Element-relative mouse coordinates now correct if the element and/or page is scrolled (using new OpenSeadragon.getElementOffset() method) (#131) +* Fixed: Pinch zoom event issue, regressive issue from previous event system changes (#244) * Added IIIF Image API 1.1 Tile Source (#230) * Fixed: Touch event issue where no canvas-click events were being raised (#240) * Check that zoom reference point is valid before using it in zoomTo and zoomBy (#247) diff --git a/src/mousetracker.js b/src/mousetracker.js index 66e2a458..51349912 100644 --- a/src/mousetracker.js +++ b/src/mousetracker.js @@ -1229,13 +1229,15 @@ if ( Math.abs( THIS[ tracker.hash ].lastPinchDelta - pinchDelta ) > 75 ) { //$.console.debug( "pinch delta : " + pinchDelta + " | previous : " + THIS[ tracker.hash ].lastPinchDelta); - // Adjust the original event enough to simulate a mouse wheel scroll - event.shiftKey = event.shiftKey || false; - event.pageX = THIS[ tracker.hash ].pinchMidpoint.x; - event.pageY = THIS[ tracker.hash ].pinchMidpoint.y; - event.detail = ( THIS[ tracker.hash ].lastPinchDelta > pinchDelta ) ? 1 : -1; + // Simulate a mouse wheel scroll event + var simulatedEvent = { + shiftKey: event.shiftKey || false, + pageX: THIS[ tracker.hash ].pinchMidpoint.x, + pageY: THIS[ tracker.hash ].pinchMidpoint.y, + detail: ( THIS[ tracker.hash ].lastPinchDelta > pinchDelta ) ? 1 : -1 + }; - onMouseWheelSpin( tracker, event, true ); + onMouseWheelSpin( tracker, simulatedEvent, true ); THIS[ tracker.hash ].lastPinchDelta = pinchDelta; }