From df1dfd5295cebe842574a3e1ba4ff8725488f3d5 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Sat, 23 Jun 2012 15:19:53 +0200 Subject: [PATCH] Adding exports to get advanced compilation. --- src/ol.export.js | 14 +++++++++++--- src/ol.js | 1 + src/ol/renderer/Composite.js | 9 ++++++--- src/ol/renderer/TileLayerRenderer.js | 3 +++ 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/ol.export.js b/src/ol.export.js index 7299dd456a..1900aee7b9 100644 --- a/src/ol.export.js +++ b/src/ol.export.js @@ -97,6 +97,14 @@ goog.exportProperty(ol.geom.MultiPoint.prototype, 'addAll', ol.geom.MultiPoint.p goog.exportProperty(ol.geom.MultiPoint.prototype, 'remove', ol.geom.MultiPoint.prototype.remove); goog.exportProperty(ol.geom.MultiPoint.prototype, 'centroid', ol.geom.MultiPoint.prototype.centroid); -// LOOKUP FOR DYNMICALLY REGISTERED CONTROLS DOES NOT RUN WELL NOW IN THE ADVANCED MODE -// HACK TO PUSH COMPILER TO NOT STRIP THE NAVIGATION CONTROL. TO BE FIXED. -ol.control.addControl('navigation', ol.control.Navigation); \ No newline at end of file +/** + * Lookup for dynamically registered controls and renderers does not work in + * advanced compiled mode. For now, we duplicate the registration calls here. + * + * TODO: determine a good way for plugins to register + */ +goog.exportProperty(ol.renderer.Composite, 'isSupported', ol.renderer.Composite.isSupported); +goog.exportProperty(ol.renderer.TileLayerRenderer, 'isSupported', ol.renderer.TileLayerRenderer.isSupported); +goog.exportProperty(ol.renderer.TileLayerRenderer, 'canRender', ol.renderer.TileLayerRenderer.canRender); +goog.exportProperty(ol.renderer.TileLayerRenderer, 'getType', ol.renderer.TileLayerRenderer.getType); +ol.control.addControl('navigation', ol.control.Navigation); diff --git a/src/ol.js b/src/ol.js index 3d36e9fd39..1ea61696e2 100644 --- a/src/ol.js +++ b/src/ol.js @@ -25,5 +25,6 @@ goog.require("ol.geom.collection"); goog.require('ol.layer.XYZ'); goog.require('ol.layer.OSM'); goog.require('ol.layer.WMS'); +goog.require('ol.renderer.Composite'); goog.require('ol.renderer.TileLayerRenderer'); goog.require('ol.renderer.WebGL'); diff --git a/src/ol/renderer/Composite.js b/src/ol/renderer/Composite.js index 7f2ffa86e5..1857e3dc42 100644 --- a/src/ol/renderer/Composite.js +++ b/src/ol/renderer/Composite.js @@ -103,9 +103,9 @@ ol.renderer.Composite.prototype.pickRendererType = function(layer) { var types = {}; function picker(Candidate) { - var supports = Candidate.isSupported() && Candidate.canRender(layer); + var supports = Candidate['isSupported']() && Candidate['canRender'](layer); if (supports) { - types[Candidate.getType()] = Candidate; + types[Candidate['getType']()] = Candidate; } return supports; } @@ -148,7 +148,10 @@ ol.renderer.Composite.getType = function() { }; /** - * return {boolean} + * TODO: determine if there is a better way to register these renderers + * + * @export + * @return {boolean} */ ol.renderer.Composite.isSupported = function() { return true; diff --git a/src/ol/renderer/TileLayerRenderer.js b/src/ol/renderer/TileLayerRenderer.js index 87340db308..e588c989d6 100644 --- a/src/ol/renderer/TileLayerRenderer.js +++ b/src/ol/renderer/TileLayerRenderer.js @@ -301,6 +301,7 @@ ol.renderer.TileLayerRenderer.prototype.changeResolution_ = function(center, res /** * Get an identifying string for this renderer. * + * @export * @returns {string} */ ol.renderer.TileLayerRenderer.getType = function() { @@ -311,6 +312,7 @@ ol.renderer.TileLayerRenderer.getType = function() { /** * Determine if this renderer type is supported in this environment. * + * @export * @return {boolean} This renderer is supported. */ ol.renderer.TileLayerRenderer.isSupported = function() { @@ -320,6 +322,7 @@ ol.renderer.TileLayerRenderer.isSupported = function() { /** * Determine if this renderer can render the given layer. * + * @export * @param {ol.layer.Layer} layer The candidate layer. * @return {boolean} This renderer is capable of rendering the layer. */