diff --git a/externs/oli.js b/externs/oli.js
index d5c1846b31..659148c77c 100644
--- a/externs/oli.js
+++ b/externs/oli.js
@@ -61,6 +61,12 @@ oli.ModifyEvent = function() {};
oli.ModifyEvent.prototype.features;
+/**
+ * @type {ol.MapBrowserPointerEvent}
+ */
+oli.ModifyEvent.prototype.mapBrowserPointerEvent;
+
+
/**
* @interface
diff --git a/src/ol/interaction/modifyinteraction.js b/src/ol/interaction/modifyinteraction.js
index c8e0a28f8a..b58206fb2d 100644
--- a/src/ol/interaction/modifyinteraction.js
+++ b/src/ol/interaction/modifyinteraction.js
@@ -34,13 +34,13 @@ ol.ModifyEventType = {
/**
* Triggered upon feature modification start
* @event ol.ModifyEvent#modifystart
- * @api stable
+ * @api
*/
MODIFYSTART: 'modifystart',
/**
* Triggered upon feature modification end
* @event ol.ModifyEvent#modifyend
- * @api stable
+ * @api
*/
MODIFYEND: 'modifyend'
};
@@ -57,18 +57,26 @@ ol.ModifyEventType = {
* @implements {oli.ModifyEvent}
* @param {ol.ModifyEventType} type Type.
* @param {ol.Collection.
} features The features modified.
+ * @param {ol.MapBrowserPointerEvent} mapBrowserPointerEvent Associated
+ * {@link ol.MapBrowserPointerEvent}.
*/
-ol.ModifyEvent = function(type, features) {
+ol.ModifyEvent = function(type, features, mapBrowserPointerEvent) {
goog.base(this, type);
/**
- * The feature being modified.
+ * The features being modified.
* @type {ol.Collection.}
- * @api stable
+ * @api
*/
this.features = features;
+ /**
+ * Associated {@link ol.MapBrowserPointerEvent}.
+ * @type {ol.MapBrowserPointerEvent}
+ * @api
+ */
+ this.mapBrowserPointerEvent = mapBrowserPointerEvent;
};
goog.inherits(ol.ModifyEvent, goog.events.Event);
@@ -92,7 +100,7 @@ ol.interaction.SegmentDataType;
* @extends {ol.interaction.Pointer}
* @param {olx.interaction.ModifyOptions} options Options.
* @fires ol.ModifyEvent
- * @api stable
+ * @api
*/
ol.interaction.Modify = function(options) {
@@ -515,7 +523,7 @@ ol.interaction.Modify.handleDownEvent_ = function(evt) {
this.insertVertex_.apply(this, insertVertices[i]);
}
this.dispatchEvent(new ol.ModifyEvent(ol.ModifyEventType.MODIFYSTART,
- this.features_));
+ this.features_, evt));
}
return !goog.isNull(this.vertexFeature_);
};
@@ -588,7 +596,7 @@ ol.interaction.Modify.handleUpEvent_ = function(evt) {
segmentData);
}
this.dispatchEvent(new ol.ModifyEvent(ol.ModifyEventType.MODIFYEND,
- this.features_));
+ this.features_, evt));
return false;
};