Merge pull request #244 from msalsbery/Pinch-Zoom-Fix

Pinch zoom fix
This commit is contained in:
iangilman 2013-10-08 10:23:10 -07:00
commit 7d8fb803ef
2 changed files with 9 additions and 6 deletions

View File

@ -20,6 +20,7 @@ OPENSEADRAGON CHANGELOG
* MouseTracker now passes the original event objects to its handler methods (#23) * MouseTracker now passes the original event objects to its handler methods (#23)
* MouseTracker now supports an optional 'moveHandler' method for tracking mousemove events (#215) * 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: 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) * Added IIIF Image API 1.1 Tile Source (#230)
* Fixed: Touch event issue where no canvas-click events were being raised (#240) * 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) * Check that zoom reference point is valid before using it in zoomTo and zoomBy (#247)

View File

@ -1229,13 +1229,15 @@
if ( Math.abs( THIS[ tracker.hash ].lastPinchDelta - pinchDelta ) > 75 ) { if ( Math.abs( THIS[ tracker.hash ].lastPinchDelta - pinchDelta ) > 75 ) {
//$.console.debug( "pinch delta : " + pinchDelta + " | previous : " + THIS[ tracker.hash ].lastPinchDelta); //$.console.debug( "pinch delta : " + pinchDelta + " | previous : " + THIS[ tracker.hash ].lastPinchDelta);
// Adjust the original event enough to simulate a mouse wheel scroll // Simulate a mouse wheel scroll event
event.shiftKey = event.shiftKey || false; var simulatedEvent = {
event.pageX = THIS[ tracker.hash ].pinchMidpoint.x; shiftKey: event.shiftKey || false,
event.pageY = THIS[ tracker.hash ].pinchMidpoint.y; pageX: THIS[ tracker.hash ].pinchMidpoint.x,
event.detail = ( THIS[ tracker.hash ].lastPinchDelta > pinchDelta ) ? 1 : -1; 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; THIS[ tracker.hash ].lastPinchDelta = pinchDelta;
} }