Backport changes for #7703

This commit is contained in:
Andreas Hocevar
2018-01-18 11:47:32 +01:00
parent f7a1aba38e
commit 9b0cd2a7c8
4 changed files with 15 additions and 14 deletions
+6 -5
View File
@@ -4,6 +4,7 @@ goog.require('ol');
goog.require('ol.events.EventType'); goog.require('ol.events.EventType');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.MapBrowserEventType'); goog.require('ol.MapBrowserEventType');
goog.require('ol.MapBrowserPointerEvent');
goog.require('ol.Object'); goog.require('ol.Object');
goog.require('ol.coordinate'); goog.require('ol.coordinate');
goog.require('ol.events'); goog.require('ol.events');
@@ -59,13 +60,13 @@ ol.interaction.Draw = function(options) {
this.downPx_ = null; this.downPx_ = null;
/** /**
* @type {number} * @type {number|undefined}
* @private * @private
*/ */
this.downTimeout_; this.downTimeout_;
/** /**
* @type {number} * @type {number|undefined}
* @private * @private
*/ */
this.lastDragTime_; this.lastDragTime_;
@@ -276,7 +277,7 @@ ol.interaction.Draw = function(options) {
}), }),
style: options.style ? options.style : style: options.style ? options.style :
ol.interaction.Draw.getDefaultStyleFunction(), ol.interaction.Draw.getDefaultStyleFunction(),
updateWhileAnimating: true updateWhileInteracting: true
}); });
/** /**
@@ -405,8 +406,8 @@ ol.interaction.Draw.handleDownEvent_ = function(event) {
} else if (this.condition_(event)) { } else if (this.condition_(event)) {
this.lastDragTime_ = Date.now(); this.lastDragTime_ = Date.now();
this.downTimeout_ = setTimeout(function() { this.downTimeout_ = setTimeout(function() {
this.handlePointerMove_(new MapBrowserPointerEvent( this.handlePointerMove_(new ol.MapBrowserPointerEvent(
MapBrowserEventType.POINTERMOVE, event.map, event.pointerEvent, event.frameState)); ol.MapBrowserEventType.POINTERMOVE, event.map, event.pointerEvent, true, event.frameState));
}.bind(this), this.dragVertexDelay_); }.bind(this), this.dragVertexDelay_);
this.downPx_ = event.pixel; this.downPx_ = event.pixel;
return true; return true;
+6 -6
View File
@@ -205,11 +205,11 @@ ol.PluggableMap = function(options) {
*/ */
this.keyHandlerKeys_ = null; this.keyHandlerKeys_ = null;
ol.events.listen(this.viewport_, EventType.CONTEXTMENU, ol.events.listen(this.viewport_, ol.events.EventType.CONTEXTMENU,
this.handleBrowserEvent, this); this.handleBrowserEvent, this);
ol.events.listen(this.viewport_, EventType.WHEEL, ol.events.listen(this.viewport_, ol.events.EventType.WHEEL,
this.handleBrowserEvent, this); this.handleBrowserEvent, this);
ol.events.listen(this.viewport_, EventType.MOUSEWHEEL, ol.events.listen(this.viewport_, ol.events.EventType.MOUSEWHEEL,
this.handleBrowserEvent, this); this.handleBrowserEvent, this);
/** /**
@@ -430,11 +430,11 @@ ol.PluggableMap.prototype.addOverlayInternal_ = function(overlay) {
*/ */
ol.PluggableMap.prototype.disposeInternal = function() { ol.PluggableMap.prototype.disposeInternal = function() {
this.mapBrowserEventHandler_.dispose(); this.mapBrowserEventHandler_.dispose();
ol.events.unlisten(this.viewport_, EventType.CONTEXTMENU, ol.events.unlisten(this.viewport_, ol.events.EventType.CONTEXTMENU,
this.handleBrowserEvent, this); this.handleBrowserEvent, this);
ol.events.unlisten(this.viewport_, EventType.WHEEL, ol.events.unlisten(this.viewport_, ol.events.EventType.WHEEL,
this.handleBrowserEvent, this); this.handleBrowserEvent, this);
ol.events.unlisten(this.viewport_, EventType.MOUSEWHEEL, ol.events.unlisten(this.viewport_, ol.events.EventType.MOUSEWHEEL,
this.handleBrowserEvent, this); this.handleBrowserEvent, this);
if (this.handleResize_ !== undefined) { if (this.handleResize_ !== undefined) {
window.removeEventListener(ol.events.EventType.RESIZE, window.removeEventListener(ol.events.EventType.RESIZE,
+1 -1
View File
@@ -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); ol.extent.createOrUpdate(boxX, boxY, boxX + boxW, boxY + boxH, box);
} }
var canvas = context.canvas; var canvas = context.canvas;
var strokePadding = strokeInstruction ? (strokeInstruction[2] * scale / 2) : 0; var strokePadding = strokeInstruction ? (/** @type {number} */ (strokeInstruction[2]) * scale / 2) : 0;
var intersects = var intersects =
box[0] - strokePadding <= canvas.width && box[2] + strokePadding >= 0 && box[0] - strokePadding <= canvas.width && box[2] + strokePadding >= 0 &&
box[1] - strokePadding <= canvas.height && box[3] + strokePadding >= 0; box[1] - strokePadding <= canvas.height && box[3] + strokePadding >= 0;
+2 -2
View File
@@ -106,7 +106,7 @@ describe('ol.interaction.Draw', function() {
}); });
it('accepts a dragVertexDelay option', function() { it('accepts a dragVertexDelay option', function() {
const draw = new Draw({ const draw = new ol.interaction.Draw({
source: source, source: source,
type: 'LineString', type: 'LineString',
dragVertexDelay: 42 dragVertexDelay: 42
@@ -431,7 +431,7 @@ describe('ol.interaction.Draw', function() {
const features = source.getFeatures(); const features = source.getFeatures();
expect(features).to.have.length(1); expect(features).to.have.length(1);
const geometry = features[0].getGeometry(); 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]]); expect(geometry.getCoordinates()).to.eql([[10, -20], [20, -10], [30, -20]]);
done(); done();