Make webgl layer renderers dependencies of webgl layers

This commit is contained in:
Tim Schaub
2018-11-04 19:42:06 -07:00
parent 7374e32007
commit f6b838c635
14 changed files with 40 additions and 139 deletions
+2 -1
View File
@@ -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);
}
+5 -3
View File
@@ -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;
}
+2 -1
View File
@@ -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);
}
+2 -1
View File
@@ -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);
}
}
+2 -1
View File
@@ -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);
}
}
+2 -1
View File
@@ -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);
}
+4 -3
View File
@@ -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);
}
}
+4 -4
View File
@@ -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);
}
}
+4 -3
View File
@@ -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);
}
}