From d52df4a9bf63706b27e2076dd8dfa813f877eafc Mon Sep 17 00:00:00 2001 From: Mark Salsbery Date: Sat, 15 Mar 2014 17:12:13 -0700 Subject: [PATCH] Multi-Touch MouseTracker Update Pinch gesture fixups --- src/mousetracker.js | 5 ++--- src/viewer.js | 9 ++++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/mousetracker.js b/src/mousetracker.js index 81c7d246..27610fc8 100644 --- a/src/mousetracker.js +++ b/src/mousetracker.js @@ -2215,7 +2215,6 @@ //} delta = delegate.pinchGesturePoints[0].currentPos.distanceTo( delegate.pinchGesturePoints[1].currentPos ); if ( delta != delegate.currentPinchDist ) { - //window.alert(delegate.pinchGesturePoints[0].currentPos.x + ',' + delegate.pinchGesturePoints[0].currentPos.y + '\n' + delegate.pinchGesturePoints[1].currentPos.x + ',' + delegate.pinchGesturePoints[1].currentPos.y); delegate.lastPinchDist = delegate.currentPinchDist; delegate.currentPinchDist = delta; delegate.lastPinchCenter = delegate.currentPinchCenter; @@ -2224,8 +2223,8 @@ { eventSource: tracker, gesturePoints: delegate.pinchGesturePoints, - lastCenter: getPointRelative( delegate.lastPinchCenter ), - center: getPointRelative( delegate.currentPinchCenter ), + lastCenter: getPointRelative( delegate.lastPinchCenter, tracker.element ), + center: getPointRelative( delegate.currentPinchCenter, tracker.element ), lastDistance: delegate.lastPinchDist, currentDistance: delegate.currentPinchDist, originalEvent: event, diff --git a/src/viewer.js b/src/viewer.js index 38be0472..0620866f 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -1862,11 +1862,10 @@ function onCanvasPinch(event) { // userData: //} if (!event.preventDefaultAction && this.viewport) { - //window.alert(event.lastCenter.x + ',' + event.lastCenter.y + '\n' + event.center.x + ',' + event.center.y); - //TODO This is temporary for testing. Zoom should track pinch gesture one-to-one! - this.viewport.zoomBy( event.currentDistance / event.lastDistance, - this.viewport.pointFromPixel( event.center, true ) ); - this.viewport.panBy( this.viewport.pointFromPixel( event.lastCenter, true ).minus( this.viewport.pointFromPixel( event.center, true ) ), false ); + var centerPt = this.viewport.pointFromPixel( event.center, true ), + lastCenterPt = this.viewport.pointFromPixel( event.lastCenter, true ); + this.viewport.zoomBy( event.currentDistance / event.lastDistance, centerPt, true ); + this.viewport.panBy( lastCenterPt.minus( centerPt ), false ); this.viewport.applyConstraints(); } /**