From 8b3536fc858021c20fefbff3c1a444fdee7be5cf Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 29 Aug 2016 12:48:07 +0200 Subject: [PATCH] Rename ol.layer.VectorTileRenderType to ol.layer.VectorTile.RenderType --- changelog/upgrade-notes.md | 1 + externs/olx.js | 4 +- src/ol/layer/vectortile.js | 52 +++++++++++------------ src/ol/renderer/canvas/vectortilelayer.js | 7 +-- 4 files changed, 33 insertions(+), 31 deletions(-) diff --git a/changelog/upgrade-notes.md b/changelog/upgrade-notes.md index b555997b91..1efc662d75 100644 --- a/changelog/upgrade-notes.md +++ b/changelog/upgrade-notes.md @@ -18,6 +18,7 @@ A number of internal types have been renamed. This will not affect those who us * rename `ol.OverlayProperty` to `ol.Overlay.Property` * rename `ol.OverlayPositioning` to `ol.Overlay.Positioning` * rename `ol.control.MousePositionProperty` to `ol.control.MousePosition.Property` + * rename `ol.layer.VectorTileRenderType` to `ol.layer.VectorTile.RenderType` ### v3.18.0 diff --git a/externs/olx.js b/externs/olx.js index 2efc516b79..c4acd7f48e 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -3823,7 +3823,7 @@ olx.layer.VectorOptions.prototype.visible; * maxResolution: (number|undefined), * opacity: (number|undefined), * renderBuffer: (number|undefined), - * renderMode: (ol.layer.VectorTileRenderType|string|undefined), + * renderMode: (ol.layer.VectorTile.RenderType|string|undefined), * renderOrder: (function(ol.Feature, ol.Feature):number|undefined), * source: (ol.source.VectorTile|undefined), * style: (ol.style.Style|Array.|ol.StyleFunction|undefined), @@ -3858,7 +3858,7 @@ olx.layer.VectorTileOptions.prototype.renderBuffer; * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering * even during animations, but slower performance than the other options. * The default is `'hybrid'`. - * @type {ol.layer.VectorTileRenderType|string|undefined} + * @type {ol.layer.VectorTile.RenderType|string|undefined} * @api */ olx.layer.VectorTileOptions.prototype.renderMode; diff --git a/src/ol/layer/vectortile.js b/src/ol/layer/vectortile.js index 1cdda6d8b4..dc6cb383ab 100644 --- a/src/ol/layer/vectortile.js +++ b/src/ol/layer/vectortile.js @@ -15,26 +15,6 @@ ol.layer.VectorTileProperty = { }; -/** - * @enum {string} - * Render mode for vector tiles: - * * `'image'`: Vector tiles are rendered as images. Great performance, but - * point symbols and texts are always rotated with the view and pixels are - * scaled during zoom animations. - * * `'hybrid'`: Polygon and line elements are rendered as images, so pixels - * are scaled during zoom animations. Point symbols and texts are accurately - * rendered as vectors and can stay upright on rotated views. - * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering - * even during animations, but slower performance than the other options. - * @api - */ -ol.layer.VectorTileRenderType = { - IMAGE: 'image', - HYBRID: 'hybrid', - VECTOR: 'vector' -}; - - /** * @classdesc * Layer for vector tile data that is rendered client-side. @@ -61,16 +41,16 @@ ol.layer.VectorTile = function(opt_options) { options.useInterimTilesOnError : true); ol.asserts.assert(options.renderMode == undefined || - options.renderMode == ol.layer.VectorTileRenderType.IMAGE || - options.renderMode == ol.layer.VectorTileRenderType.HYBRID || - options.renderMode == ol.layer.VectorTileRenderType.VECTOR, + options.renderMode == ol.layer.VectorTile.RenderType.IMAGE || + options.renderMode == ol.layer.VectorTile.RenderType.HYBRID || + options.renderMode == ol.layer.VectorTile.RenderType.VECTOR, 28); // `renderMode` must be `'image'`, `'hybrid'` or `'vector'` /** * @private - * @type {ol.layer.VectorTileRenderType|string} + * @type {ol.layer.VectorTile.RenderType|string} */ - this.renderMode_ = options.renderMode || ol.layer.VectorTileRenderType.HYBRID; + this.renderMode_ = options.renderMode || ol.layer.VectorTile.RenderType.HYBRID; }; ol.inherits(ol.layer.VectorTile, ol.layer.Vector); @@ -88,7 +68,7 @@ ol.layer.VectorTile.prototype.getPreload = function() { /** - * @return {ol.layer.VectorTileRenderType|string} The render mode. + * @return {ol.layer.VectorTile.RenderType|string} The render mode. */ ol.layer.VectorTile.prototype.getRenderMode = function() { return this.renderMode_; @@ -128,3 +108,23 @@ ol.layer.VectorTile.prototype.setUseInterimTilesOnError = function(useInterimTil this.set( ol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR, useInterimTilesOnError); }; + + +/** + * @enum {string} + * Render mode for vector tiles: + * * `'image'`: Vector tiles are rendered as images. Great performance, but + * point symbols and texts are always rotated with the view and pixels are + * scaled during zoom animations. + * * `'hybrid'`: Polygon and line elements are rendered as images, so pixels + * are scaled during zoom animations. Point symbols and texts are accurately + * rendered as vectors and can stay upright on rotated views. + * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering + * even during animations, but slower performance than the other options. + * @api + */ +ol.layer.VectorTile.RenderType = { + IMAGE: 'image', + HYBRID: 'hybrid', + VECTOR: 'vector' +}; diff --git a/src/ol/renderer/canvas/vectortilelayer.js b/src/ol/renderer/canvas/vectortilelayer.js index 780a0603b0..f22f19a72d 100644 --- a/src/ol/renderer/canvas/vectortilelayer.js +++ b/src/ol/renderer/canvas/vectortilelayer.js @@ -5,6 +5,7 @@ goog.require('ol.array'); goog.require('ol.extent'); goog.require('ol.proj'); goog.require('ol.proj.Units'); +goog.require('ol.layer.VectorTile'); goog.require('ol.render.EventType'); goog.require('ol.render.ReplayType'); goog.require('ol.render.canvas'); @@ -59,7 +60,7 @@ ol.renderer.canvas.VectorTileLayer = function(layer) { // Use lower resolution for pure vector rendering. Closest resolution otherwise. this.zDirection = - layer.getRenderMode() == ol.layer.VectorTileRenderType.VECTOR ? 1 : 0; + layer.getRenderMode() == ol.layer.VectorTile.RenderType.VECTOR ? 1 : 0; }; ol.inherits(ol.renderer.canvas.VectorTileLayer, ol.renderer.canvas.TileLayer); @@ -81,10 +82,10 @@ ol.renderer.canvas.VectorTileLayer.prototype.composeFrame = function( } var renderMode = this.getLayer().getRenderMode(); - if (renderMode !== ol.layer.VectorTileRenderType.VECTOR) { + if (renderMode !== ol.layer.VectorTile.RenderType.VECTOR) { this.renderTileImages(context, frameState, layerState); } - if (renderMode !== ol.layer.VectorTileRenderType.IMAGE) { + if (renderMode !== ol.layer.VectorTile.RenderType.IMAGE) { this.renderTileReplays_(context, frameState, layerState); }