Merge pull request #13905 from MoonE/replace-enums

Replace enums with typedefs
This commit is contained in:
MoonE
2022-07-30 18:12:34 +02:00
committed by GitHub
24 changed files with 83 additions and 177 deletions
+1 -1
View File
@@ -81,7 +81,7 @@ class ErrorEvent extends BaseEvent {
* Recommended value: Vector tiles are usually generated with a buffer, so this value should match
* the largest possible buffer of the used tiles. It should be at least the size of the largest
* point symbol or line width.
* @property {import("./VectorTileRenderType.js").default|string} [renderMode='hybrid'] Render mode for vector tiles:
* @property {import("./VectorTile.js").VectorTileRenderType} [renderMode='hybrid'] Render mode for vector tiles:
* * `'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.
+10 -16
View File
@@ -4,7 +4,6 @@
import BaseVectorLayer from './BaseVector.js';
import CanvasVectorTileLayerRenderer from '../renderer/canvas/VectorTileLayer.js';
import TileProperty from './TileProperty.js';
import VectorTileRenderType from './VectorTileRenderType.js';
import {assert} from '../asserts.js';
/***
@@ -17,6 +16,10 @@ import {assert} from '../asserts.js';
* 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes, Return>} VectorTileLayerOnSignature
*/
/**
* @typedef {'hybrid' | 'vector'} VectorTileRenderType
*/
/**
* @typedef {Object} Options
* @property {string} [className='ol-layer'] A CSS class name to set to the layer element.
@@ -44,7 +47,7 @@ import {assert} from '../asserts.js';
* Recommended value: Vector tiles are usually generated with a buffer, so this value should match
* the largest possible buffer of the used tiles. It should be at least the size of the largest
* point symbol or line width.
* @property {import("./VectorTileRenderType.js").default|string} [renderMode='hybrid'] Render mode for vector tiles:
* @property {VectorTileRenderType} [renderMode='hybrid'] Render mode for vector tiles:
* * `'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.
@@ -126,22 +129,13 @@ class VectorTileLayer extends BaseVectorLayer {
*/
this.un;
if (options.renderMode === VectorTileRenderType.IMAGE) {
//FIXME deprecated - remove this check in v7.
//eslint-disable-next-line
console.warn('renderMode: "image" is deprecated. Option ignored.')
options.renderMode = undefined;
}
const renderMode = options.renderMode || VectorTileRenderType.HYBRID;
assert(
renderMode == VectorTileRenderType.HYBRID ||
renderMode == VectorTileRenderType.VECTOR,
28
); // `renderMode` must be `'hybrid'` or `'vector'`.
const renderMode = options.renderMode || 'hybrid';
// `renderMode` must be `'hybrid'` or `'vector'`.
assert(renderMode == 'hybrid' || renderMode == 'vector', 28);
/**
* @private
* @type {import("./VectorTileRenderType.js").default}
* @type {VectorTileRenderType}
*/
this.renderMode_ = renderMode;
@@ -190,7 +184,7 @@ class VectorTileLayer extends BaseVectorLayer {
}
/**
* @return {import("./VectorTileRenderType.js").default} The render mode.
* @return {VectorTileRenderType} The render mode.
*/
getRenderMode() {
return this.renderMode_;
-34
View File
@@ -1,34 +0,0 @@
/**
* @module ol/layer/VectorTileRenderType
*/
/**
* @enum {string}
* Render mode for vector tiles:
* @api
*/
export default {
/**
* 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
* @api
* @deprecated
*/
IMAGE: 'image',
/**
* 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.
* @api
*/
HYBRID: 'hybrid',
/**
* Everything is rendered as vectors. Use this mode for improved
* performance on vector tile layers with only a few rendered features (e.g.
* for highlighting a subset of features of another layer with the same
* source).
* @api
*/
VECTOR: 'vector',
};