diff --git a/src/ol/Collection.js b/src/ol/Collection.js index 8b4f31b85f..925378b5d9 100644 --- a/src/ol/Collection.js +++ b/src/ol/Collection.js @@ -25,7 +25,7 @@ const Property = { * @constructor * @extends {module:ol/events/Event~Event} * @implements {oli.CollectionEvent} - * @param {module:ol/CollectionEventType~CollectionEventType} type Type. + * @param {module:ol/CollectionEventType} type Type. * @param {*=} opt_element Element. */ export const CollectionEvent = function(type, opt_element) { diff --git a/src/ol/Graticule.js b/src/ol/Graticule.js index 04a81353b3..45ee3d5049 100644 --- a/src/ol/Graticule.js +++ b/src/ol/Graticule.js @@ -605,7 +605,7 @@ Graticule.prototype.getParallels = function() { /** - * @param {module:ol/render/Event~Event} e Event. + * @param {module:ol/render/Event~RenderEvent} e Event. * @private */ Graticule.prototype.handlePostCompose_ = function(e) { diff --git a/src/ol/Map.js b/src/ol/Map.js index fd1d3ec049..4635894e78 100644 --- a/src/ol/Map.js +++ b/src/ol/Map.js @@ -62,8 +62,8 @@ import CanvasVectorTileLayerRenderer from './renderer/canvas/VectorTileLayer.js' * @param {module:ol/PluggableMap~MapOptions} options Map options. * @fires module:ol/MapBrowserEvent~MapBrowserEvent * @fires module:ol/MapEvent~MapEvent - * @fires module:ol/render/Event~Event#postcompose - * @fires module:ol/render/Event~Event#precompose + * @fires module:ol/render/Event~RenderEvent#postcompose + * @fires module:ol/render/Event~RenderEvent#precompose * @api */ const Map = function(options) { diff --git a/src/ol/PluggableMap.js b/src/ol/PluggableMap.js index 8c4b285034..9f98df2b52 100644 --- a/src/ol/PluggableMap.js +++ b/src/ol/PluggableMap.js @@ -136,8 +136,8 @@ import {create as createTransform, apply as applyTransform} from './transform.js * @param {module:ol/PluggableMap~MapOptions} options Map options. * @fires module:ol/MapBrowserEvent~MapBrowserEvent * @fires module:ol/MapEvent~MapEvent - * @fires module:ol/render/Event~Event#postcompose - * @fires module:ol/render/Event~Event#precompose + * @fires module:ol/render/Event~RenderEvent#postcompose + * @fires module:ol/render/Event~RenderEvent#precompose * @api */ const PluggableMap = function(options) { diff --git a/src/ol/WebGLMap.js b/src/ol/WebGLMap.js index 1da33acb01..ec5550c3df 100644 --- a/src/ol/WebGLMap.js +++ b/src/ol/WebGLMap.js @@ -62,8 +62,8 @@ import WebGLVectorLayerRenderer from './renderer/webgl/VectorLayer.js'; * @param {module:ol/PluggableMap~MapOptions} options Map options. * @fires module:ol/MapBrowserEvent~MapBrowserEvent * @fires module:ol/MapEvent~MapEvent - * @fires module:ol/render/Event~Event#postcompose - * @fires module:ol/render/Event~Event#precompose + * @fires module:ol/render/Event~RenderEvent#postcompose + * @fires module:ol/render/Event~RenderEvent#precompose * @api */ const WebGLMap = function(options) { diff --git a/src/ol/format/EsriJSON.js b/src/ol/format/EsriJSON.js index 41b276c6b6..b0cbed33cf 100644 --- a/src/ol/format/EsriJSON.js +++ b/src/ol/format/EsriJSON.js @@ -24,7 +24,7 @@ import {get as getProjection} from '../proj.js'; /** * @const - * @type {Object.} + * @type {Object.} */ const GEOMETRY_READERS = {}; GEOMETRY_READERS[GeometryType.POINT] = readPointGeometry; @@ -90,7 +90,7 @@ function readGeometry(object, opt_options) { if (!object) { return null; } - /** @type {module:ol/geom/GeometryType~GeometryType} */ + /** @type {module:ol/geom/GeometryType} */ let type; if (typeof object.x === 'number' && typeof object.y === 'number') { type = GeometryType.POINT; diff --git a/src/ol/format/Feature.js b/src/ol/format/Feature.js index 13012fb597..4fdb7216ed 100644 --- a/src/ol/format/Feature.js +++ b/src/ol/format/Feature.js @@ -125,7 +125,7 @@ FeatureFormat.prototype.getLastExtent = function() { /** * @abstract - * @return {module:ol/format/FormatType~FormatType} Format. + * @return {module:ol/format/FormatType} Format. */ FeatureFormat.prototype.getType = function() {}; diff --git a/src/ol/format/MVT.js b/src/ol/format/MVT.js index 1bbaf18ffd..d032bc3a0a 100644 --- a/src/ol/format/MVT.js +++ b/src/ol/format/MVT.js @@ -24,7 +24,7 @@ import RenderFeature from '../render/Feature.js'; /** * @typedef {Object} Options - * @property {function((module:ol/geom/Geometry~Geometry|Object.)=)|function(module:ol/geom/GeometryType~GeometryType,Array.,(Array.|Array.>),Object.,number)} [featureClass] + * @property {function((module:ol/geom/Geometry~Geometry|Object.)=)|function(module:ol/geom/GeometryType,Array.,(Array.|Array.>),Object.,number)} [featureClass] * Class for features returned by {@link ol.format.MVT#readFeatures}. Set to * {@link module:ol/Feature~Feature} to get full editing and geometry support at the cost of * decreased rendering performance. The default is {@link module:ol/render/Feature~RenderFeature}, @@ -64,7 +64,7 @@ const MVT = function(opt_options) { /** * @private * @type {function((module:ol/geom/Geometry~Geometry|Object.)=)| - * function(module:ol/geom/GeometryType~GeometryType,Array., + * function(module:ol/geom/GeometryType,Array., * (Array.|Array.>),Object.,number)} */ this.featureClass_ = options.featureClass ? @@ -272,10 +272,10 @@ MVT.prototype.readRawGeometry_ = function(pbf, feature, flatCoordinates, ends) { * @param {number} type The raw feature's geometry type * @param {number} numEnds Number of ends of the flat coordinates of the * geometry. - * @return {module:ol/geom/GeometryType~GeometryType} The geometry type. + * @return {module:ol/geom/GeometryType} The geometry type. */ function getGeometryType(type, numEnds) { - /** @type {module:ol/geom/GeometryType~GeometryType} */ + /** @type {module:ol/geom/GeometryType} */ let geometryType; if (type === 1) { geometryType = numEnds === 1 ? diff --git a/src/ol/geom/Geometry.js b/src/ol/geom/Geometry.js index e0d539141a..d63a366e0f 100644 --- a/src/ol/geom/Geometry.js +++ b/src/ol/geom/Geometry.js @@ -10,6 +10,7 @@ import {get as getProjection, getTransform} from '../proj.js'; import Units from '../proj/Units.js'; import {create as createTransform, compose as composeTransform} from '../transform.js'; + /** * @classdesc * Abstract base class; normally only used for creating subclasses and not @@ -203,7 +204,7 @@ Geometry.prototype.getSimplifiedGeometry = function(squaredTolerance) {}; /** * Get the type of this geometry. * @abstract - * @return {module:ol/geom/GeometryType~GeometryType} Geometry type. + * @return {module:ol/geom/GeometryType} Geometry type. */ Geometry.prototype.getType = function() {}; diff --git a/src/ol/interaction/Draw.js b/src/ol/interaction/Draw.js index 977a0580f2..216ceb69f9 100644 --- a/src/ol/interaction/Draw.js +++ b/src/ol/interaction/Draw.js @@ -31,7 +31,7 @@ import {createEditingStyle} from '../style/Style.js'; /** * @typedef {Object} Options - * @property {module:ol/geom/GeometryType~GeometryType} type Geometry type of + * @property {module:ol/geom/GeometryType} type Geometry type of * the geometries being drawn with this instance. * @property {number} [clickTolerance=6] The maximum distance in pixels between * "down" and "up" for a "up" event to be considered a "click" event and @@ -222,10 +222,10 @@ const Draw = function(options) { /** * Geometry type. - * @type {module:ol/geom/GeometryType~GeometryType} + * @type {module:ol/geom/GeometryType} * @private */ - this.type_ = /** @type {module:ol/geom/GeometryType~GeometryType} */ (options.type); + this.type_ = /** @type {module:ol/geom/GeometryType} */ (options.type); /** * Drawing mode (derived from geometry type. @@ -1008,7 +1008,7 @@ export function createBox() { /** * Get the drawing mode. The mode for mult-part geometries is the same as for * their single-part cousins. - * @param {module:ol/geom/GeometryType~GeometryType} type Geometry type. + * @param {module:ol/geom/GeometryType} type Geometry type. * @return {module:ol/interaction/Draw~Mode} Drawing mode. */ function getMode(type) { diff --git a/src/ol/interaction/Extent.js b/src/ol/interaction/Extent.js index 210b460400..8698dcbae2 100644 --- a/src/ol/interaction/Extent.js +++ b/src/ol/interaction/Extent.js @@ -23,12 +23,12 @@ import {createEditingStyle} from '../style/Style.js'; * initial extent. * @property {module:ol/style/Style~Style|Array.|module:ol/style~StyleFunction} [boxStyle] * Style for the drawn extent box. Defaults to - * {@link module:ol/style/Style~createEditing()[module:ol/geom/GeometryType~GeometryType.POLYGON]} + * {@link module:ol/style/Style~createEditing()[module:ol/geom/GeometryType.POLYGON]} * @property {number} [pixelTolerance=10] Pixel tolerance for considering the * pointer close enough to a segment or vertex for editing. * @property {module:ol/style/Style~Style|Array.|module:ol/style~StyleFunction} [pointerStyle] * Style for the cursor used to draw the extent. Defaults to - * {@link module:ol/style/Style~createEditing()[module:ol/geom/GeometryType~GeometryType.POINT]} + * {@link module:ol/style/Style~createEditing()[module:ol/geom/GeometryType.POINT]} * @property {boolean} [wrapX=false] Wrap the drawn extent across multiple maps * in the X direction? Only affects visuals, not functionality. */ diff --git a/src/ol/layer/Base.js b/src/ol/layer/Base.js index 8df8e18751..22d71798f4 100644 --- a/src/ol/layer/Base.js +++ b/src/ol/layer/Base.js @@ -69,7 +69,7 @@ const BaseLayer = function(options) { /** * The layer type. - * @type {module:ol/LayerType~LayerType} + * @type {module:ol/LayerType} * @protected; */ this.type; @@ -81,7 +81,7 @@ inherits(BaseLayer, BaseObject); /** * Get the layer type (used when creating a layer renderer). - * @return {module:ol/LayerType~LayerType} The layer type. + * @return {module:ol/LayerType} The layer type. */ BaseLayer.prototype.getType = function() { return this.type; diff --git a/src/ol/layer/Image.js b/src/ol/layer/Image.js index e8b3bfce86..a640c33d53 100644 --- a/src/ol/layer/Image.js +++ b/src/ol/layer/Image.js @@ -47,7 +47,7 @@ const ImageLayer = function(opt_options) { /** * The layer type. * @protected - * @type {module:ol/LayerType~LayerType} + * @type {module:ol/LayerType} */ this.type = LayerType.IMAGE; diff --git a/src/ol/layer/Tile.js b/src/ol/layer/Tile.js index 0453957d21..ca7b0db6f8 100644 --- a/src/ol/layer/Tile.js +++ b/src/ol/layer/Tile.js @@ -61,7 +61,7 @@ const TileLayer = function(opt_options) { /** * The layer type. * @protected - * @type {module:ol/LayerType~LayerType} + * @type {module:ol/LayerType} */ this.type = LayerType.TILE; diff --git a/src/ol/layer/Vector.js b/src/ol/layer/Vector.js index 5dbc24e1e2..8917b6bfba 100644 --- a/src/ol/layer/Vector.js +++ b/src/ol/layer/Vector.js @@ -27,7 +27,7 @@ import {createDefaultStyle, toFunction as toStyleFunction} from '../style/Style. * @property {number} [renderBuffer=100] The buffer in pixels around the viewport extent used by the * renderer when getting features from the vector source for the rendering or hit-detection. * Recommended value: the size of the largest symbol, line width or label. - * @property {module:ol/layer/VectorRenderType~VectorRenderType|string} [renderMode='vector'] Render mode for vector layers: + * @property {module:ol/layer/VectorRenderType|string} [renderMode='vector'] Render mode for vector layers: * * `'image'`: Vector layers are rendered as images. Great performance, but point symbols and * texts are always rotated with the view and pixels are scaled during zoom animations. * * `'vector'`: Vector layers are rendered as vectors. Most accurate rendering even during @@ -52,6 +52,22 @@ import {createDefaultStyle, toFunction as toStyleFunction} from '../style/Style. */ +/** + * @enum {string} + * Render mode for vector layers: + * * `'image'`: Vector layers are rendered as images. Great performance, but + * point symbols and texts are always rotated with the view and pixels are + * scaled during zoom animations. + * * `'vector'`: Vector layers are rendered as vectors. Most accurate rendering + * even during animations, but slower performance. + * @api + */ +export const RenderType = { + IMAGE: 'image', + VECTOR: 'vector' +}; + + /** * @enum {string} * @private @@ -138,7 +154,7 @@ const VectorLayer = function(opt_options) { /** * The layer type. * @protected - * @type {module:ol/LayerType~LayerType} + * @type {module:ol/LayerType} */ this.type = LayerType.VECTOR; @@ -258,7 +274,7 @@ VectorLayer.prototype.setStyle = function(style) { /** - * @return {module:ol/layer/VectorRenderType~VectorRenderType|string} The render mode. + * @return {module:ol/layer/VectorRenderType|string} The render mode. */ VectorLayer.prototype.getRenderMode = function() { return this.renderMode_; diff --git a/src/ol/layer/VectorTile.js b/src/ol/layer/VectorTile.js index e7c663cb4c..1ff3e74bc1 100644 --- a/src/ol/layer/VectorTile.js +++ b/src/ol/layer/VectorTile.js @@ -10,6 +10,26 @@ import VectorTileRenderType from '../layer/VectorTileRenderType.js'; import {assign} from '../obj.js'; +/** + * @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 + */ +export const RenderType = { + IMAGE: 'image', + HYBRID: 'hybrid', + VECTOR: 'vector' +}; + + /** * @typedef {Object} Options * @property {number} [opacity=1] Opacity (0, 1). @@ -30,7 +50,7 @@ import {assign} from '../obj.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 {module:ol/layer/VectorRenderType~VectorRenderType|string} [renderMode='hybrid'] Render mode for vector tiles: + * @property {module:ol/layer/VectorTileRenderType|string} [renderMode='hybrid'] 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 @@ -71,7 +91,7 @@ import {assign} from '../obj.js'; /** * @classdesc * Layer for vector tile data that is rendered client-side. - * Note that any property set in the options is set as a {@link } + * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject * property on the layer object; for example, setting `title: 'My Title'` in the * options means that `title` is observable, and has get/set accessors. * @@ -107,7 +127,7 @@ const VectorTileLayer = function(opt_options) { /** * The layer type. * @protected - * @type {module:ol/LayerType~LayerType} + * @type {module:ol/LayerType} */ this.type = LayerType.VECTOR_TILE; diff --git a/src/ol/render/Feature.js b/src/ol/render/Feature.js index ba5e41f16f..0f5a9fbb68 100644 --- a/src/ol/render/Feature.js +++ b/src/ol/render/Feature.js @@ -17,7 +17,7 @@ import {create as createTransform, compose as composeTransform} from '../transfo * through the API is limited to getting the type and extent of the geometry. * * @constructor - * @param {module:ol/geom/GeometryType~GeometryType} type Geometry type. + * @param {module:ol/geom/GeometryType} type Geometry type. * @param {Array.} flatCoordinates Flat coordinates. These always need * to be right-handed for polygons. * @param {Array.|Array.>} ends Ends or Endss. @@ -39,7 +39,7 @@ const RenderFeature = function(type, flatCoordinates, ends, properties, id) { /** * @private - * @type {module:ol/geom/GeometryType~GeometryType} + * @type {module:ol/geom/GeometryType} */ this.type_ = type; @@ -249,7 +249,7 @@ RenderFeature.prototype.getStyleFunction = UNDEFINED; /** * Get the type of this feature's geometry. - * @return {module:ol/geom/GeometryType~GeometryType} Geometry type. + * @return {module:ol/geom/GeometryType} Geometry type. * @api */ RenderFeature.prototype.getType = function() { diff --git a/src/ol/renderer/vector.js b/src/ol/renderer/vector.js index a0940c07a5..dfa83936d6 100644 --- a/src/ol/renderer/vector.js +++ b/src/ol/renderer/vector.js @@ -16,7 +16,7 @@ const SIMPLIFY_TOLERANCE = 0.5; /** * @const - * @type {Object.} */ diff --git a/src/ol/style/Style.js b/src/ol/style/Style.js index 90dec90da1..8c90cf9f20 100644 --- a/src/ol/style/Style.js +++ b/src/ol/style/Style.js @@ -380,10 +380,10 @@ export function createDefaultStyle(feature, resolution) { /** * Default styles for editing features. - * @return {Object.>} Styles + * @return {Object.>} Styles */ export function createEditingStyle() { - /** @type {Object.>} */ + /** @type {Object.>} */ const styles = {}; const white = [255, 255, 255, 1]; const blue = [0, 153, 255, 1]; diff --git a/src/ol/style/index.jsdoc b/src/ol/style/index.jsdoc index ab82a9c7ec..160365d9fc 100644 --- a/src/ol/style/index.jsdoc +++ b/src/ol/style/index.jsdoc @@ -28,16 +28,16 @@ * var white = [255, 255, 255, 1]; * var blue = [0, 153, 255, 1]; * var width = 3; - * styles[module:ol/geom/GeometryType~GeometryType.POLYGON] = [ + * styles[module:ol/geom/GeometryType.POLYGON] = [ * new ol.style.Style({ * fill: new ol.style.Fill({ * color: [255, 255, 255, 0.5] * }) * }) * ]; - * styles[module:ol/geom/GeometryType~GeometryType.MULTI_POLYGON] = - * styles[module:ol/geom/GeometryType~GeometryType.POLYGON]; - * styles[module:ol/geom/GeometryType~GeometryType.LINE_STRING] = [ + * styles[module:ol/geom/GeometryType.MULTI_POLYGON] = + * styles[module:ol/geom/GeometryType.POLYGON]; + * styles[module:ol/geom/GeometryType.LINE_STRING] = [ * new ol.style.Style({ * stroke: new ol.style.Stroke({ * color: white, @@ -51,9 +51,9 @@ * }) * }) * ]; - * styles[module:ol/geom/GeometryType~GeometryType.MULTI_LINE_STRING] = - * styles[module:ol/geom/GeometryType~GeometryType.LINE_STRING]; - * styles[module:ol/geom/GeometryType~GeometryType.POINT] = [ + * styles[module:ol/geom/GeometryType.MULTI_LINE_STRING] = + * styles[module:ol/geom/GeometryType.LINE_STRING]; + * styles[module:ol/geom/GeometryType.POINT] = [ * new ol.style.Style({ * image: new ol.style.Circle({ * radius: width * 2, @@ -68,11 +68,11 @@ * zIndex: Infinity * }) * ]; - * styles[module:ol/geom/GeometryType~GeometryType.MULTI_POINT] = - * styles[module:ol/geom/GeometryType~GeometryType.POINT]; - * styles[module:ol/geom/GeometryType~GeometryType.GEOMETRY_COLLECTION] = - * styles[module:ol/geom/GeometryType~GeometryType.POLYGON].concat( - * styles[module:ol/geom/GeometryType~GeometryType.POINT] + * styles[module:ol/geom/GeometryType.MULTI_POINT] = + * styles[module:ol/geom/GeometryType.POINT]; + * styles[module:ol/geom/GeometryType.GEOMETRY_COLLECTION] = + * styles[module:ol/geom/GeometryType.POLYGON].concat( + * styles[module:ol/geom/GeometryType.POINT] * ); *``` *