Make webgl layer renderers dependencies of webgl layers
This commit is contained in:
@@ -32,10 +32,11 @@ class ImageLayer extends BaseImageLayer {
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
createRenderer(mapRenderer) {
|
||||
return new CanvasImageLayerRenderer(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -224,21 +224,23 @@ class Layer extends BaseLayer {
|
||||
|
||||
/**
|
||||
* Get the renderer for this layer.
|
||||
* @param {import("../renderer/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} The layer renderer.
|
||||
*/
|
||||
getRenderer() {
|
||||
getRenderer(mapRenderer) {
|
||||
if (!this.renderer_) {
|
||||
this.renderer_ = this.createRenderer();
|
||||
this.renderer_ = this.createRenderer(mapRenderer);
|
||||
}
|
||||
return this.renderer_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
createRenderer(mapRenderer) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,10 +31,11 @@ class TileLayer extends BaseTileLayer {
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
createRenderer(mapRenderer) {
|
||||
return new CanvasTileLayerRenderer(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,10 +29,11 @@ class VectorLayer extends BaseVectorLayer {
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
createRenderer(mapRenderer) {
|
||||
return new CanvasVectorLayerRenderer(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,10 +28,11 @@ class VectorImageLayer extends BaseVectorLayer {
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
createRenderer(mapRenderer) {
|
||||
return new CanvasVectorImageLayerRenderer(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,10 +123,11 @@ class VectorTileLayer extends BaseVectorLayer {
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
createRenderer(mapRenderer) {
|
||||
return new CanvasVectorTileLayerRenderer(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
* @module ol/layer/WebGLImage
|
||||
*/
|
||||
import BaseImageLayer from './BaseImage.js';
|
||||
import WebGLImageLayerRenderer from '../renderer/webgl/ImageLayer.js';
|
||||
|
||||
|
||||
/**
|
||||
@@ -31,12 +32,12 @@ class WebGLImageLayer extends BaseImageLayer {
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/webgl/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
// TODO: rework WebGL renderers to share context
|
||||
return null;
|
||||
createRenderer(mapRenderer) {
|
||||
return new WebGLImageLayerRenderer(mapRenderer, this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @module ol/layer/WebGLTile
|
||||
*/
|
||||
import BaseTileLayer from './BaseTile.js';
|
||||
|
||||
import WebGLTileLayerRenderer from '../renderer/webgl/TileLayer.js';
|
||||
|
||||
/**
|
||||
* @typedef {import("./BaseTile.js").Options} Options
|
||||
@@ -30,12 +30,12 @@ class WebGLTileLayer extends BaseTileLayer {
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/webgl/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
// TODO: rework WebGL renderers to share context
|
||||
return null;
|
||||
createRenderer(mapRenderer) {
|
||||
return new WebGLTileLayerRenderer(mapRenderer, this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
* @module ol/layer/WebGLVector
|
||||
*/
|
||||
import BaseVectorLayer from './BaseVector.js';
|
||||
import WebGLVectorLayerRenderer from '../renderer/webgl/VectorLayer.js';
|
||||
|
||||
|
||||
/**
|
||||
@@ -28,12 +29,12 @@ class WebGLVectorLayer extends BaseVectorLayer {
|
||||
|
||||
/**
|
||||
* Create a renderer for this layer.
|
||||
* @param {import("../renderer/webgl/Map.js").default} mapRenderer The map renderer.
|
||||
* @return {import("../renderer/Layer.js").default} A layer renderer.
|
||||
* @protected
|
||||
*/
|
||||
createRenderer() {
|
||||
// TODO: rework WebGL renderers to share context
|
||||
return null;
|
||||
createRenderer(mapRenderer) {
|
||||
return new WebGLVectorLayerRenderer(mapRenderer, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user