diff --git a/src/ol/interaction/modifyinteraction.js b/src/ol/interaction/modifyinteraction.js
index 5471601651..7914ff6509 100644
--- a/src/ol/interaction/modifyinteraction.js
+++ b/src/ol/interaction/modifyinteraction.js
@@ -1,4 +1,5 @@
goog.provide('ol.interaction.Modify');
+goog.provide('ol.interaction.ModifyEvent');
goog.require('goog.array');
goog.require('goog.asserts');
@@ -33,13 +34,13 @@ goog.require('ol.structs.RBush');
ol.ModifyEventType = {
/**
* Triggered upon feature modification start
- * @event ol.ModifyEvent#modifystart
+ * @event ol.interaction.ModifyEvent#modifystart
* @api
*/
MODIFYSTART: 'modifystart',
/**
* Triggered upon feature modification end
- * @event ol.ModifyEvent#modifyend
+ * @event ol.interaction.ModifyEvent#modifyend
* @api
*/
MODIFYEND: 'modifyend'
@@ -60,7 +61,7 @@ ol.ModifyEventType = {
* @param {ol.MapBrowserPointerEvent} mapBrowserPointerEvent Associated
* {@link ol.MapBrowserPointerEvent}.
*/
-ol.ModifyEvent = function(type, features, mapBrowserPointerEvent) {
+ol.interaction.ModifyEvent = function(type, features, mapBrowserPointerEvent) {
goog.base(this, type);
@@ -78,7 +79,7 @@ ol.ModifyEvent = function(type, features, mapBrowserPointerEvent) {
*/
this.mapBrowserPointerEvent = mapBrowserPointerEvent;
};
-goog.inherits(ol.ModifyEvent, goog.events.Event);
+goog.inherits(ol.interaction.ModifyEvent, goog.events.Event);
/**
@@ -99,7 +100,7 @@ ol.interaction.SegmentDataType;
* @constructor
* @extends {ol.interaction.Pointer}
* @param {olx.interaction.ModifyOptions} options Options.
- * @fires ol.ModifyEvent
+ * @fires ol.interaction.ModifyEvent
* @api
*/
ol.interaction.Modify = function(options) {
@@ -151,7 +152,7 @@ ol.interaction.Modify = function(options) {
/**
* Segment RTree for each layer
- * @type {Object.<*, ol.structs.RBush>}
+ * @type {ol.structs.RBush.
}
* @private
*/
this.rBush_ = new ol.structs.RBush();
@@ -578,7 +579,8 @@ ol.interaction.Modify.handleDownEvent_ = function(evt) {
for (i = insertVertices.length - 1; i >= 0; --i) {
this.insertVertex_.apply(this, insertVertices[i]);
}
- this.dispatchEvent(new ol.ModifyEvent(ol.ModifyEventType.MODIFYSTART,
+ this.dispatchEvent(
+ new ol.interaction.ModifyEvent(ol.ModifyEventType.MODIFYSTART,
this.features_, evt));
}
return !goog.isNull(this.vertexFeature_);
@@ -653,7 +655,8 @@ ol.interaction.Modify.handleUpEvent_ = function(evt) {
this.rBush_.update(ol.extent.boundingExtent(segmentData.segment),
segmentData);
}
- this.dispatchEvent(new ol.ModifyEvent(ol.ModifyEventType.MODIFYEND,
+ this.dispatchEvent(
+ new ol.interaction.ModifyEvent(ol.ModifyEventType.MODIFYEND,
this.features_, evt));
return false;
};
@@ -970,6 +973,7 @@ ol.interaction.Modify.prototype.setGeometryCoordinates_ =
ol.interaction.Modify.prototype.updateSegmentIndices_ = function(
geometry, index, depth, delta) {
this.rBush_.forEachInExtent(geometry.getExtent(), function(segmentDataMatch) {
+ goog.asserts.assert(goog.isDef(segmentDataMatch.depth));
if (segmentDataMatch.geometry === geometry &&
(!goog.isDef(depth) ||
goog.array.equals(segmentDataMatch.depth, depth)) &&
diff --git a/src/ol/interaction/selectinteraction.js b/src/ol/interaction/selectinteraction.js
index 638f3ad4dc..82f9d7152d 100644
--- a/src/ol/interaction/selectinteraction.js
+++ b/src/ol/interaction/selectinteraction.js
@@ -1,4 +1,5 @@
goog.provide('ol.interaction.Select');
+goog.provide('ol.interaction.SelectEvent');
goog.provide('ol.interaction.SelectFilterFunction');
goog.require('goog.array');
@@ -21,7 +22,7 @@ goog.require('ol.source.Vector');
ol.SelectEventType = {
/**
* Triggered when feature(s) has been (de)selected.
- * @event ol.SelectEvent#select
+ * @event ol.interaction.SelectEvent#select
* @api
*/
SELECT: 'select'
@@ -52,7 +53,8 @@ ol.interaction.SelectFilterFunction;
* @extends {goog.events.Event}
* @constructor
*/
-ol.SelectEvent = function(type, selected, deselected, mapBrowserEvent) {
+ol.interaction.SelectEvent =
+ function(type, selected, deselected, mapBrowserEvent) {
goog.base(this, type);
/**
@@ -76,7 +78,7 @@ ol.SelectEvent = function(type, selected, deselected, mapBrowserEvent) {
*/
this.mapBrowserEvent = mapBrowserEvent;
};
-goog.inherits(ol.SelectEvent, goog.events.Event);
+goog.inherits(ol.interaction.SelectEvent, goog.events.Event);
@@ -93,7 +95,7 @@ goog.inherits(ol.SelectEvent, goog.events.Event);
* @constructor
* @extends {ol.interaction.Interaction}
* @param {olx.interaction.SelectOptions=} opt_options Options.
- * @fires ol.SelectEvent
+ * @fires ol.interaction.SelectEvent
* @api stable
*/
ol.interaction.Select = function(opt_options) {
@@ -284,8 +286,8 @@ ol.interaction.Select.handleEvent = function(mapBrowserEvent) {
}
if (change) {
this.dispatchEvent(
- new ol.SelectEvent(ol.SelectEventType.SELECT, selected, deselected,
- mapBrowserEvent));
+ new ol.interaction.SelectEvent(ol.SelectEventType.SELECT,
+ selected, deselected, mapBrowserEvent));
}
return ol.events.condition.pointerMove(mapBrowserEvent);
};
diff --git a/src/ol/render/canvas/canvasreplay.js b/src/ol/render/canvas/canvasreplay.js
index e0aea43869..05c089a75d 100644
--- a/src/ol/render/canvas/canvasreplay.js
+++ b/src/ol/render/canvas/canvasreplay.js
@@ -1,8 +1,12 @@
// FIXME add option to apply snapToPixel to all coordinates?
// FIXME can eliminate empty set styles and strokes (when all geoms skipped)
+goog.provide('ol.render.canvas.ImageReplay');
+goog.provide('ol.render.canvas.LineStringReplay');
+goog.provide('ol.render.canvas.PolygonReplay');
goog.provide('ol.render.canvas.Replay');
goog.provide('ol.render.canvas.ReplayGroup');
+goog.provide('ol.render.canvas.TextReplay');
goog.require('goog.array');
goog.require('goog.asserts');
diff --git a/src/ol/render/webgl/webglimagecolorshader.js b/src/ol/render/webgl/webglimagecolorshader.js
index 94f1b8a74b..1e21a4b95e 100644
--- a/src/ol/render/webgl/webglimagecolorshader.js
+++ b/src/ol/render/webgl/webglimagecolorshader.js
@@ -1,5 +1,8 @@
// This file is automatically generated, do not edit
goog.provide('ol.render.webgl.imagereplay.shader.Color');
+goog.provide('ol.render.webgl.imagereplay.shader.Color.Locations');
+goog.provide('ol.render.webgl.imagereplay.shader.ColorFragment');
+goog.provide('ol.render.webgl.imagereplay.shader.ColorVertex');
goog.require('ol.webgl.shader');
diff --git a/src/ol/render/webgl/webglimagedefaultshader.js b/src/ol/render/webgl/webglimagedefaultshader.js
index 7df0fe26c5..5142595984 100644
--- a/src/ol/render/webgl/webglimagedefaultshader.js
+++ b/src/ol/render/webgl/webglimagedefaultshader.js
@@ -1,5 +1,8 @@
// This file is automatically generated, do not edit
goog.provide('ol.render.webgl.imagereplay.shader.Default');
+goog.provide('ol.render.webgl.imagereplay.shader.Default.Locations');
+goog.provide('ol.render.webgl.imagereplay.shader.DefaultFragment');
+goog.provide('ol.render.webgl.imagereplay.shader.DefaultVertex');
goog.require('ol.webgl.shader');
diff --git a/src/ol/render/webgl/webglreplay.js b/src/ol/render/webgl/webglreplay.js
index 9b92039183..482252ffd1 100644
--- a/src/ol/render/webgl/webglreplay.js
+++ b/src/ol/render/webgl/webglreplay.js
@@ -10,7 +10,13 @@ goog.require('ol.extent');
goog.require('ol.render.IReplayGroup');
goog.require('ol.render.VectorContext');
goog.require('ol.render.webgl.imagereplay.shader.Color');
+goog.require('ol.render.webgl.imagereplay.shader.Color.Locations');
+goog.require('ol.render.webgl.imagereplay.shader.ColorFragment');
+goog.require('ol.render.webgl.imagereplay.shader.ColorVertex');
goog.require('ol.render.webgl.imagereplay.shader.Default');
+goog.require('ol.render.webgl.imagereplay.shader.Default.Locations');
+goog.require('ol.render.webgl.imagereplay.shader.DefaultFragment');
+goog.require('ol.render.webgl.imagereplay.shader.DefaultVertex');
goog.require('ol.vec.Mat4');
goog.require('ol.webgl.Buffer');
goog.require('ol.webgl.Context');
diff --git a/src/ol/renderer/webgl/webgllayerrenderer.js b/src/ol/renderer/webgl/webgllayerrenderer.js
index 30b37343e9..1a152affec 100644
--- a/src/ol/renderer/webgl/webgllayerrenderer.js
+++ b/src/ol/renderer/webgl/webgllayerrenderer.js
@@ -9,7 +9,13 @@ goog.require('ol.render.EventType');
goog.require('ol.render.webgl.Immediate');
goog.require('ol.renderer.Layer');
goog.require('ol.renderer.webgl.map.shader.Color');
+goog.require('ol.renderer.webgl.map.shader.Color.Locations');
+goog.require('ol.renderer.webgl.map.shader.ColorFragment');
+goog.require('ol.renderer.webgl.map.shader.ColorVertex');
goog.require('ol.renderer.webgl.map.shader.Default');
+goog.require('ol.renderer.webgl.map.shader.Default.Locations');
+goog.require('ol.renderer.webgl.map.shader.DefaultFragment');
+goog.require('ol.renderer.webgl.map.shader.DefaultVertex');
goog.require('ol.webgl.Buffer');
goog.require('ol.webgl.Context');
diff --git a/src/ol/renderer/webgl/webglmapcolorshader.js b/src/ol/renderer/webgl/webglmapcolorshader.js
index eeff8162d2..66ff4e8949 100644
--- a/src/ol/renderer/webgl/webglmapcolorshader.js
+++ b/src/ol/renderer/webgl/webglmapcolorshader.js
@@ -1,5 +1,8 @@
// This file is automatically generated, do not edit
goog.provide('ol.renderer.webgl.map.shader.Color');
+goog.provide('ol.renderer.webgl.map.shader.Color.Locations');
+goog.provide('ol.renderer.webgl.map.shader.ColorFragment');
+goog.provide('ol.renderer.webgl.map.shader.ColorVertex');
goog.require('ol.webgl.shader');
diff --git a/src/ol/renderer/webgl/webglmapdefaultshader.js b/src/ol/renderer/webgl/webglmapdefaultshader.js
index 47aff44a22..926e305c12 100644
--- a/src/ol/renderer/webgl/webglmapdefaultshader.js
+++ b/src/ol/renderer/webgl/webglmapdefaultshader.js
@@ -1,5 +1,8 @@
// This file is automatically generated, do not edit
goog.provide('ol.renderer.webgl.map.shader.Default');
+goog.provide('ol.renderer.webgl.map.shader.Default.Locations');
+goog.provide('ol.renderer.webgl.map.shader.DefaultFragment');
+goog.provide('ol.renderer.webgl.map.shader.DefaultVertex');
goog.require('ol.webgl.shader');
diff --git a/src/ol/renderer/webgl/webgltilelayerrenderer.js b/src/ol/renderer/webgl/webgltilelayerrenderer.js
index 6627a31584..91ca9f04d7 100644
--- a/src/ol/renderer/webgl/webgltilelayerrenderer.js
+++ b/src/ol/renderer/webgl/webgltilelayerrenderer.js
@@ -15,7 +15,9 @@ goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.math');
goog.require('ol.renderer.webgl.Layer');
-goog.require('ol.renderer.webgl.tilelayer.shader');
+goog.require('ol.renderer.webgl.tilelayer.shader.Fragment');
+goog.require('ol.renderer.webgl.tilelayer.shader.Locations');
+goog.require('ol.renderer.webgl.tilelayer.shader.Vertex');
goog.require('ol.size');
goog.require('ol.tilecoord');
goog.require('ol.vec.Mat4');
diff --git a/src/ol/renderer/webgl/webgltilelayershader.js b/src/ol/renderer/webgl/webgltilelayershader.js
index 6cbb58103b..88396eaf71 100644
--- a/src/ol/renderer/webgl/webgltilelayershader.js
+++ b/src/ol/renderer/webgl/webgltilelayershader.js
@@ -1,5 +1,8 @@
// This file is automatically generated, do not edit
goog.provide('ol.renderer.webgl.tilelayer.shader');
+goog.provide('ol.renderer.webgl.tilelayer.shader.Locations');
+goog.provide('ol.renderer.webgl.tilelayer.shader.Fragment');
+goog.provide('ol.renderer.webgl.tilelayer.shader.Vertex');
goog.require('ol.webgl.shader');
diff --git a/src/ol/source/imagesource.js b/src/ol/source/imagesource.js
index 63b4a2532d..38f726b0eb 100644
--- a/src/ol/source/imagesource.js
+++ b/src/ol/source/imagesource.js
@@ -1,4 +1,5 @@
goog.provide('ol.source.Image');
+goog.provide('ol.source.ImageEvent');
goog.require('goog.array');
goog.require('goog.asserts');
diff --git a/src/ol/webgl/shader.js b/src/ol/webgl/shader.js
index f9a2271724..b60d437e3e 100644
--- a/src/ol/webgl/shader.js
+++ b/src/ol/webgl/shader.js
@@ -1,3 +1,6 @@
+goog.provide('ol.webgl.Fragment');
+goog.provide('ol.webgl.Shader');
+goog.provide('ol.webgl.Vertex');
goog.provide('ol.webgl.shader');
goog.require('goog.functions');
diff --git a/src/ol/webgl/shader.mustache b/src/ol/webgl/shader.mustache
index ed62dc9718..6d22c1be9e 100644
--- a/src/ol/webgl/shader.mustache
+++ b/src/ol/webgl/shader.mustache
@@ -1,5 +1,8 @@
// This file is automatically generated, do not edit
goog.provide('{{namespace}}');
+goog.provide('{{namespace}}.Locations');
+goog.provide('{{className}}Fragment');
+goog.provide('{{className}}Vertex');
goog.require('ol.webgl.shader');
diff --git a/test/spec/ol/renderer/canvas/canvasreplay.test.js b/test/spec/ol/renderer/canvas/canvasreplay.test.js
index b10bac9511..b36074bb42 100644
--- a/test/spec/ol/renderer/canvas/canvasreplay.test.js
+++ b/test/spec/ol/renderer/canvas/canvasreplay.test.js
@@ -122,5 +122,7 @@ describe('ol.render.canvas.PolygonReplay', function() {
});
+goog.require('ol.render.canvas.LineStringReplay');
+goog.require('ol.render.canvas.PolygonReplay');
goog.require('ol.render.canvas.Replay');
goog.require('ol.style.Stroke');