From eb4dab90e53be31dec53e0ba43ce7f0a2b45e712 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Thu, 20 Aug 2015 16:13:02 +0200 Subject: [PATCH 1/4] Better type for ol.interaction.Modify#rBush_ --- src/ol/interaction/modifyinteraction.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ol/interaction/modifyinteraction.js b/src/ol/interaction/modifyinteraction.js index 5471601651..8d4eac1266 100644 --- a/src/ol/interaction/modifyinteraction.js +++ b/src/ol/interaction/modifyinteraction.js @@ -151,7 +151,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(); @@ -970,6 +970,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)) && From 49b8f90e6662d1527e311b02fcc81a53fff2cf7c Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 24 Aug 2015 11:13:01 +0200 Subject: [PATCH 2/4] Add missing goog.provide The new version of the closure-compiler (version 20150729) wants that all the classes tagged with `@constructor` to be provided (with `goog.provide`). --- src/ol/interaction/modifyinteraction.js | 1 + src/ol/interaction/selectinteraction.js | 1 + src/ol/render/canvas/canvasreplay.js | 4 ++++ src/ol/render/webgl/webglimagecolorshader.js | 3 +++ src/ol/render/webgl/webglimagedefaultshader.js | 3 +++ src/ol/render/webgl/webglreplay.js | 6 ++++++ src/ol/renderer/webgl/webgllayerrenderer.js | 6 ++++++ src/ol/renderer/webgl/webglmapcolorshader.js | 3 +++ src/ol/renderer/webgl/webglmapdefaultshader.js | 3 +++ src/ol/renderer/webgl/webgltilelayerrenderer.js | 4 +++- src/ol/renderer/webgl/webgltilelayershader.js | 3 +++ src/ol/source/imagesource.js | 1 + src/ol/webgl/shader.js | 3 +++ src/ol/webgl/shader.mustache | 3 +++ test/spec/ol/renderer/canvas/canvasreplay.test.js | 2 ++ 15 files changed, 45 insertions(+), 1 deletion(-) diff --git a/src/ol/interaction/modifyinteraction.js b/src/ol/interaction/modifyinteraction.js index 8d4eac1266..15b186f471 100644 --- a/src/ol/interaction/modifyinteraction.js +++ b/src/ol/interaction/modifyinteraction.js @@ -1,3 +1,4 @@ +goog.provide('ol.ModifyEvent'); goog.provide('ol.interaction.Modify'); goog.require('goog.array'); diff --git a/src/ol/interaction/selectinteraction.js b/src/ol/interaction/selectinteraction.js index 638f3ad4dc..7b6b03b978 100644 --- a/src/ol/interaction/selectinteraction.js +++ b/src/ol/interaction/selectinteraction.js @@ -1,3 +1,4 @@ +goog.provide('ol.SelectEvent'); goog.provide('ol.interaction.Select'); goog.provide('ol.interaction.SelectFilterFunction'); 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'); From ffc24e892eeb7d74ff0640bf245660aac232ae2c Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 24 Aug 2015 11:33:20 +0200 Subject: [PATCH 3/4] Rename ol.ModifyEvent to ol.interaction.ModifyEvent --- src/ol/interaction/modifyinteraction.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/ol/interaction/modifyinteraction.js b/src/ol/interaction/modifyinteraction.js index 15b186f471..7914ff6509 100644 --- a/src/ol/interaction/modifyinteraction.js +++ b/src/ol/interaction/modifyinteraction.js @@ -1,5 +1,5 @@ -goog.provide('ol.ModifyEvent'); goog.provide('ol.interaction.Modify'); +goog.provide('ol.interaction.ModifyEvent'); goog.require('goog.array'); goog.require('goog.asserts'); @@ -34,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' @@ -61,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); @@ -79,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); /** @@ -100,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) { @@ -579,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_); @@ -654,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; }; From 9d07300e71b8f47667aa832b37b4c80deec46c8a Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 24 Aug 2015 11:35:37 +0200 Subject: [PATCH 4/4] Rename ol.SelectEvent to ol.interaction.SelectEvent --- src/ol/interaction/selectinteraction.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/ol/interaction/selectinteraction.js b/src/ol/interaction/selectinteraction.js index 7b6b03b978..82f9d7152d 100644 --- a/src/ol/interaction/selectinteraction.js +++ b/src/ol/interaction/selectinteraction.js @@ -1,5 +1,5 @@ -goog.provide('ol.SelectEvent'); goog.provide('ol.interaction.Select'); +goog.provide('ol.interaction.SelectEvent'); goog.provide('ol.interaction.SelectFilterFunction'); goog.require('goog.array'); @@ -22,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' @@ -53,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); /** @@ -77,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); @@ -94,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) { @@ -285,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); };