Rename ol.layer.VectorTileRenderType to ol.layer.VectorTile.RenderType

This commit is contained in:
Frederic Junod
2016-08-29 12:48:07 +02:00
committed by Tim Schaub
parent f09460b717
commit 8b3536fc85
4 changed files with 33 additions and 31 deletions

View File

@@ -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

View File

@@ -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.style.Style>|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;

View File

@@ -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'
};

View File

@@ -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);
}