From 38914bc95b08d5590593b6f66e7d121c6969df11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Wed, 10 Apr 2013 15:15:27 +0200 Subject: [PATCH 1/5] addPreRenderFunction calls requestRenderFrame So there's no need to call requestRenderFrame prior to calling addPreRenderFunction. --- src/ol/interaction/interaction.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/ol/interaction/interaction.js b/src/ol/interaction/interaction.js index 22d307ad99..11fa586d6b 100644 --- a/src/ol/interaction/interaction.js +++ b/src/ol/interaction/interaction.js @@ -33,7 +33,6 @@ ol.interaction.Interaction.pan = function( var currentCenter = view.getCenter(); if (goog.isDef(currentCenter)) { if (goog.isDef(opt_duration)) { - map.requestRenderFrame(); map.addPreRenderFunction(ol.animation.pan({ source: currentCenter, duration: opt_duration, @@ -74,7 +73,6 @@ ol.interaction.Interaction.rotateWithoutConstraints = var currentCenter = view.getCenter(); if (goog.isDef(currentRotation) && goog.isDef(currentCenter) && goog.isDef(opt_duration)) { - map.requestRenderFrame(); map.addPreRenderFunction(ol.animation.rotate({ rotation: currentRotation, duration: opt_duration, @@ -154,7 +152,6 @@ ol.interaction.Interaction.zoomWithoutConstraints = var currentCenter = view.getCenter(); if (goog.isDef(currentResolution) && goog.isDef(currentCenter) && goog.isDef(opt_duration)) { - map.requestRenderFrame(); map.addPreRenderFunction(ol.animation.zoom({ resolution: currentResolution, duration: opt_duration, From ce985ba2722783a09704dfa940d4ac21dc6113bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Wed, 10 Apr 2013 15:16:30 +0200 Subject: [PATCH 2/5] Remove extra /** --- src/ol/interaction/touchrotateinteraction.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ol/interaction/touchrotateinteraction.js b/src/ol/interaction/touchrotateinteraction.js index c0d2e696cc..c69638dd0c 100644 --- a/src/ol/interaction/touchrotateinteraction.js +++ b/src/ol/interaction/touchrotateinteraction.js @@ -17,8 +17,6 @@ ol.interaction.TOUCHROTATE_ANIMATION_DURATION = 250; -/** - /** * @constructor * @extends {ol.interaction.Touch} From 1e3e7fb0c16cbfea7dc64a69ca75a64aaf37fa1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Wed, 10 Apr 2013 15:19:08 +0200 Subject: [PATCH 3/5] Touch pan interaction request render frames --- src/ol/interaction/touchpaninteraction.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ol/interaction/touchpaninteraction.js b/src/ol/interaction/touchpaninteraction.js index 027ddc8bf8..3d48a04a40 100644 --- a/src/ol/interaction/touchpaninteraction.js +++ b/src/ol/interaction/touchpaninteraction.js @@ -60,11 +60,13 @@ ol.interaction.TouchPan.prototype.handleTouchMove = function(mapBrowserEvent) { } var deltaX = this.lastCentroid.x - centroid.x; var deltaY = centroid.y - this.lastCentroid.y; - var view = mapBrowserEvent.map.getView(); + var map = mapBrowserEvent.map; + var view = map.getView(); var center = [deltaX, deltaY]; ol.coordinate.scale(center, view.getResolution()); ol.coordinate.rotate(center, view.getRotation()); ol.coordinate.add(center, view.getCenter()); + map.requestRenderFrame(); view.setCenter(center); } this.lastCentroid = centroid; @@ -110,9 +112,9 @@ ol.interaction.TouchPan.prototype.handleTouchStart = var map = mapBrowserEvent.map; var view = map.getView(); this.lastCentroid = null; + map.requestRenderFrame(); if (!goog.isNull(this.kineticPreRenderFn_) && map.removePreRenderFunction(this.kineticPreRenderFn_)) { - map.requestRenderFrame(); view.setCenter(mapBrowserEvent.frameState.view2DState.center); this.kineticPreRenderFn_ = null; } From 703842a02127cd00980700400446477a74dc9b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Wed, 10 Apr 2013 15:19:41 +0200 Subject: [PATCH 4/5] Touch rotate interaction requests render frames --- src/ol/interaction/touchrotateinteraction.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ol/interaction/touchrotateinteraction.js b/src/ol/interaction/touchrotateinteraction.js index c69638dd0c..853dff1079 100644 --- a/src/ol/interaction/touchrotateinteraction.js +++ b/src/ol/interaction/touchrotateinteraction.js @@ -98,6 +98,7 @@ ol.interaction.TouchRotate.prototype.handleTouchMove = // rotate if (this.rotating_) { var view = map.getView().getView2D(); + map.requestRenderFrame(); ol.interaction.Interaction.rotateWithoutConstraints(map, view, view.getRotation() + rotationDelta, anchor); } @@ -131,10 +132,12 @@ ol.interaction.TouchRotate.prototype.handleTouchEnd = ol.interaction.TouchRotate.prototype.handleTouchStart = function(mapBrowserEvent) { if (this.targetTouches.length >= 2) { - var view = mapBrowserEvent.map.getView(); + var map = mapBrowserEvent.map; + var view = map.getView(); this.lastAngle_ = undefined; this.rotating_ = false; this.rotationDelta_ = 0.0; + map.requestRenderFrame(); view.setHint(ol.ViewHint.INTERACTING, 1); return true; } else { From b6a6ba95ccfc64cd000ca23db0e421ced6d0c38c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Wed, 10 Apr 2013 15:20:00 +0200 Subject: [PATCH 5/5] Touch zoom interaction requests render frames --- src/ol/interaction/touchzoominteraction.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ol/interaction/touchzoominteraction.js b/src/ol/interaction/touchzoominteraction.js index 63558750a1..4d378a7c80 100644 --- a/src/ol/interaction/touchzoominteraction.js +++ b/src/ol/interaction/touchzoominteraction.js @@ -76,6 +76,7 @@ ol.interaction.TouchZoom.prototype.handleTouchMove = var anchor = map.getCoordinateFromPixel(centroid); // scale, bypass the resolution constraint + map.requestRenderFrame(); ol.interaction.Interaction.zoomWithoutConstraints( map, view, view.getResolution() * scaleDelta, anchor); @@ -110,9 +111,11 @@ ol.interaction.TouchZoom.prototype.handleTouchEnd = ol.interaction.TouchZoom.prototype.handleTouchStart = function(mapBrowserEvent) { if (this.targetTouches.length >= 2) { - var view = mapBrowserEvent.map.getView(); + var map = mapBrowserEvent.map; + var view = map.getView(); this.lastDistance_ = undefined; this.lastScaleDelta_ = 1; + map.requestRenderFrame(); view.setHint(ol.ViewHint.INTERACTING, 1); return true; } else {