Backport changes for #7703
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user