diff --git a/src/ol/renderer/webgl/ImageLayer.js b/src/ol/renderer/webgl/ImageLayer.js index 644d9c0c76..6cf9a4e28b 100644 --- a/src/ol/renderer/webgl/ImageLayer.js +++ b/src/ol/renderer/webgl/ImageLayer.js @@ -2,7 +2,6 @@ * @module ol/renderer/webgl/ImageLayer */ import {ENABLE_RASTER_REPROJECTION} from '../../reproj/common.js'; -import {inherits} from '../../util.js'; import {TRUE, UNDEFINED} from '../../functions.js'; import LayerType from '../../LayerType.js'; import ViewHint from '../../ViewHint.js'; @@ -22,17 +21,16 @@ import { import {CLAMP_TO_EDGE} from '../../webgl.js'; import {createTexture} from '../../webgl/Context.js'; -/** - * @constructor - * @extends {module:ol/renderer/webgl/Layer} - * @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer. - * @param {module:ol/layer/Image} imageLayer Tile layer. - * @api - */ -class WebGLImageLayerRenderer { +class WebGLImageLayerRenderer extends WebGLLayerRenderer { + + /** + * @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer. + * @param {module:ol/layer/Image} imageLayer Tile layer. + * @api + */ constructor(mapRenderer, imageLayer) { - WebGLLayerRenderer.call(this, mapRenderer, imageLayer); + super(mapRenderer, imageLayer); /** * The last rendered image. @@ -310,8 +308,6 @@ class WebGLImageLayerRenderer { } } -inherits(WebGLImageLayerRenderer, WebGLLayerRenderer); - /** * Determine if this renderer handles the provided layer. diff --git a/src/ol/renderer/webgl/Layer.js b/src/ol/renderer/webgl/Layer.js index 0fffb2fe21..06fb3eedf3 100644 --- a/src/ol/renderer/webgl/Layer.js +++ b/src/ol/renderer/webgl/Layer.js @@ -1,7 +1,6 @@ /** * @module ol/renderer/webgl/Layer */ -import {inherits} from '../../util.js'; import RenderEvent from '../../render/Event.js'; import RenderEventType from '../../render/EventType.js'; import WebGLImmediateRenderer from '../../render/webgl/Immediate.js'; @@ -15,17 +14,15 @@ import {ARRAY_BUFFER, FRAMEBUFFER, FLOAT, TEXTURE_2D, import WebGLBuffer from '../../webgl/Buffer.js'; import {createEmptyTexture} from '../../webgl/Context.js'; -/** - * @constructor - * @abstract - * @extends {module:ol/renderer/Layer} - * @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer. - * @param {module:ol/layer/Layer} layer Layer. - */ -class WebGLLayerRenderer { +class WebGLLayerRenderer extends LayerRenderer { + + /** + * @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer. + * @param {module:ol/layer/Layer} layer Layer. + */ constructor(mapRenderer, layer) { - LayerRenderer.call(this, layer); + super(layer); /** * @protected @@ -254,7 +251,5 @@ class WebGLLayerRenderer { forEachLayerAtPixel(pixel, frameState, callback, thisArg) {} } -inherits(WebGLLayerRenderer, LayerRenderer); - export default WebGLLayerRenderer; diff --git a/src/ol/renderer/webgl/Map.js b/src/ol/renderer/webgl/Map.js index 8d4c254aa8..d951d3fa5e 100644 --- a/src/ol/renderer/webgl/Map.js +++ b/src/ol/renderer/webgl/Map.js @@ -2,7 +2,6 @@ * @module ol/renderer/webgl/Map */ -import {inherits} from '../../util.js'; import {stableSort} from '../../array.js'; import {CLASS_UNSELECTABLE} from '../../css.js'; import {createCanvasContext2D} from '../../dom.js'; @@ -38,15 +37,14 @@ import ContextEventType from '../../webgl/ContextEventType.js'; const WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK = 1024; -/** - * @constructor - * @extends {module:ol/renderer/Map} - * @param {module:ol/PluggableMap} map Map. - * @api - */ -class WebGLMapRenderer { +class WebGLMapRenderer extends MapRenderer { + + /** + * @param {module:ol/PluggableMap} map Map. + * @api + */ constructor(map) { - MapRenderer.call(this, map); + super(map); const container = map.getViewport(); @@ -576,7 +574,5 @@ class WebGLMapRenderer { } } -inherits(WebGLMapRenderer, MapRenderer); - export default WebGLMapRenderer; diff --git a/src/ol/renderer/webgl/TileLayer.js b/src/ol/renderer/webgl/TileLayer.js index dfc9161f8d..5fb00b1aae 100644 --- a/src/ol/renderer/webgl/TileLayer.js +++ b/src/ol/renderer/webgl/TileLayer.js @@ -4,7 +4,6 @@ // FIXME large resolutions lead to too large framebuffers :-( // FIXME animated shaders! check in redraw -import {inherits} from '../../util.js'; import LayerType from '../../LayerType.js'; import TileRange from '../../TileRange.js'; import TileState from '../../TileState.js'; @@ -25,17 +24,16 @@ import { import {COLOR_BUFFER_BIT, BLEND, ARRAY_BUFFER, FLOAT, LINEAR, TRIANGLE_STRIP} from '../../webgl.js'; import WebGLBuffer from '../../webgl/Buffer.js'; -/** - * @constructor - * @extends {module:ol/renderer/webgl/Layer} - * @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer. - * @param {module:ol/layer/Tile} tileLayer Tile layer. - * @api - */ -class WebGLTileLayerRenderer { +class WebGLTileLayerRenderer extends WebGLLayerRenderer { + + /** + * @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer. + * @param {module:ol/layer/Tile} tileLayer Tile layer. + * @api + */ constructor(mapRenderer, tileLayer) { - WebGLLayerRenderer.call(this, mapRenderer, tileLayer); + super(mapRenderer, tileLayer); /** * @private @@ -382,8 +380,6 @@ class WebGLTileLayerRenderer { } } -inherits(WebGLTileLayerRenderer, WebGLLayerRenderer); - /** * Determine if this renderer handles the provided layer. diff --git a/src/ol/renderer/webgl/VectorLayer.js b/src/ol/renderer/webgl/VectorLayer.js index 02016204b3..7efee54e5c 100644 --- a/src/ol/renderer/webgl/VectorLayer.js +++ b/src/ol/renderer/webgl/VectorLayer.js @@ -1,7 +1,7 @@ /** * @module ol/renderer/webgl/VectorLayer */ -import {getUid, inherits} from '../../util.js'; +import {getUid} from '../../util.js'; import LayerType from '../../LayerType.js'; import ViewHint from '../../ViewHint.js'; import {buffer, containsExtent, createEmpty} from '../../extent.js'; @@ -10,17 +10,16 @@ import {defaultOrder as defaultRenderOrder, getTolerance as getRenderTolerance, import WebGLLayerRenderer from '../webgl/Layer.js'; import {apply as applyTransform} from '../../transform.js'; -/** - * @constructor - * @extends {module:ol/renderer/webgl/Layer} - * @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer. - * @param {module:ol/layer/Vector} vectorLayer Vector layer. - * @api - */ -class WebGLVectorLayerRenderer { +class WebGLVectorLayerRenderer extends WebGLLayerRenderer { + + /** + * @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer. + * @param {module:ol/layer/Vector} vectorLayer Vector layer. + * @api + */ constructor(mapRenderer, vectorLayer) { - WebGLLayerRenderer.call(this, mapRenderer, vectorLayer); + super(mapRenderer, vectorLayer); /** * @private @@ -299,8 +298,6 @@ class WebGLVectorLayerRenderer { } } -inherits(WebGLVectorLayerRenderer, WebGLLayerRenderer); - /** * Determine if this renderer handles the provided layer.