From 9b0cd2a7c83ef1151605db064e49bcbd70efe938 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Thu, 18 Jan 2018 11:47:32 +0100 Subject: [PATCH] Backport changes for #7703 --- src/ol/interaction/draw.js | 11 ++++++----- src/ol/pluggablemap.js | 12 ++++++------ src/ol/render/canvas/replay.js | 2 +- test/spec/ol/interaction/draw.test.js | 4 ++-- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/ol/interaction/draw.js b/src/ol/interaction/draw.js index b6ac35528a..e4eaaa3dfb 100644 --- a/src/ol/interaction/draw.js +++ b/src/ol/interaction/draw.js @@ -4,6 +4,7 @@ goog.require('ol'); goog.require('ol.events.EventType'); goog.require('ol.Feature'); goog.require('ol.MapBrowserEventType'); +goog.require('ol.MapBrowserPointerEvent'); goog.require('ol.Object'); goog.require('ol.coordinate'); goog.require('ol.events'); @@ -59,13 +60,13 @@ ol.interaction.Draw = function(options) { this.downPx_ = null; /** - * @type {number} + * @type {number|undefined} * @private */ this.downTimeout_; /** - * @type {number} + * @type {number|undefined} * @private */ this.lastDragTime_; @@ -276,7 +277,7 @@ ol.interaction.Draw = function(options) { }), style: options.style ? options.style : ol.interaction.Draw.getDefaultStyleFunction(), - updateWhileAnimating: true + updateWhileInteracting: true }); /** @@ -405,8 +406,8 @@ ol.interaction.Draw.handleDownEvent_ = function(event) { } else if (this.condition_(event)) { this.lastDragTime_ = Date.now(); this.downTimeout_ = setTimeout(function() { - this.handlePointerMove_(new MapBrowserPointerEvent( - MapBrowserEventType.POINTERMOVE, event.map, event.pointerEvent, event.frameState)); + this.handlePointerMove_(new ol.MapBrowserPointerEvent( + ol.MapBrowserEventType.POINTERMOVE, event.map, event.pointerEvent, true, event.frameState)); }.bind(this), this.dragVertexDelay_); this.downPx_ = event.pixel; return true; diff --git a/src/ol/pluggablemap.js b/src/ol/pluggablemap.js index 67af6755be..da9b9e1925 100644 --- a/src/ol/pluggablemap.js +++ b/src/ol/pluggablemap.js @@ -205,11 +205,11 @@ ol.PluggableMap = function(options) { */ this.keyHandlerKeys_ = null; - ol.events.listen(this.viewport_, EventType.CONTEXTMENU, + ol.events.listen(this.viewport_, ol.events.EventType.CONTEXTMENU, this.handleBrowserEvent, this); - ol.events.listen(this.viewport_, EventType.WHEEL, + ol.events.listen(this.viewport_, ol.events.EventType.WHEEL, this.handleBrowserEvent, this); - ol.events.listen(this.viewport_, EventType.MOUSEWHEEL, + ol.events.listen(this.viewport_, ol.events.EventType.MOUSEWHEEL, this.handleBrowserEvent, this); /** @@ -430,11 +430,11 @@ ol.PluggableMap.prototype.addOverlayInternal_ = function(overlay) { */ ol.PluggableMap.prototype.disposeInternal = function() { this.mapBrowserEventHandler_.dispose(); - ol.events.unlisten(this.viewport_, EventType.CONTEXTMENU, + ol.events.unlisten(this.viewport_, ol.events.EventType.CONTEXTMENU, this.handleBrowserEvent, this); - ol.events.unlisten(this.viewport_, EventType.WHEEL, + ol.events.unlisten(this.viewport_, ol.events.EventType.WHEEL, this.handleBrowserEvent, this); - ol.events.unlisten(this.viewport_, EventType.MOUSEWHEEL, + ol.events.unlisten(this.viewport_, ol.events.EventType.MOUSEWHEEL, this.handleBrowserEvent, this); if (this.handleResize_ !== undefined) { window.removeEventListener(ol.events.EventType.RESIZE, diff --git a/src/ol/render/canvas/replay.js b/src/ol/render/canvas/replay.js index 6c2b25ce26..1f2cc4020c 100644 --- a/src/ol/render/canvas/replay.js +++ b/src/ol/render/canvas/replay.js @@ -270,7 +270,7 @@ ol.render.canvas.Replay.prototype.replayImage_ = function(context, x, y, image, ol.extent.createOrUpdate(boxX, boxY, boxX + boxW, boxY + boxH, box); } var canvas = context.canvas; - var strokePadding = strokeInstruction ? (strokeInstruction[2] * scale / 2) : 0; + var strokePadding = strokeInstruction ? (/** @type {number} */ (strokeInstruction[2]) * scale / 2) : 0; var intersects = box[0] - strokePadding <= canvas.width && box[2] + strokePadding >= 0 && box[1] - strokePadding <= canvas.height && box[3] + strokePadding >= 0; diff --git a/test/spec/ol/interaction/draw.test.js b/test/spec/ol/interaction/draw.test.js index 92a966d5d2..15339bbc30 100644 --- a/test/spec/ol/interaction/draw.test.js +++ b/test/spec/ol/interaction/draw.test.js @@ -106,7 +106,7 @@ describe('ol.interaction.Draw', function() { }); it('accepts a dragVertexDelay option', function() { - const draw = new Draw({ + const draw = new ol.interaction.Draw({ source: source, type: 'LineString', dragVertexDelay: 42 @@ -431,7 +431,7 @@ describe('ol.interaction.Draw', function() { const features = source.getFeatures(); expect(features).to.have.length(1); const geometry = features[0].getGeometry(); - expect(geometry).to.be.a(LineString); + expect(geometry).to.be.a(ol.geom.LineString); expect(geometry.getCoordinates()).to.eql([[10, -20], [20, -10], [30, -20]]); done();