Move canvas creation to intermediate canvas renderer constructor

This commit is contained in:
Tim Schaub
2018-11-12 20:47:19 +01:00
parent 0c97fd63e2
commit 55a963e0a9
3 changed files with 11 additions and 17 deletions

View File

@@ -15,11 +15,18 @@ class IntermediateCanvasRenderer extends CanvasLayerRenderer {
/**
* @param {import("../../layer/Layer.js").default} layer Layer.
* @param {boolean=} opt_noContext Skip the context creation.
*/
constructor(layer) {
constructor(layer, opt_noContext) {
super(layer);
/**
* @protected
* @type {CanvasRenderingContext2D}
*/
this.context = opt_noContext ? null : createCanvasContext2D();
/**
* @protected
* @type {import("../../transform.js").Transform}

View File

@@ -5,7 +5,6 @@ import {getUid} from '../../util.js';
import TileRange from '../../TileRange.js';
import TileState from '../../TileState.js';
import ViewHint from '../../ViewHint.js';
import {createCanvasContext2D} from '../../dom.js';
import {containsExtent, createEmpty, equals, getIntersection, isEmpty} from '../../extent.js';
import IntermediateCanvasRenderer from './IntermediateCanvas.js';
import {create as createTransform, compose as composeTransform} from '../../transform.js';
@@ -23,13 +22,7 @@ class CanvasTileLayerRenderer extends IntermediateCanvasRenderer {
*/
constructor(tileLayer, opt_noContext) {
super(tileLayer);
/**
* @protected
* @type {CanvasRenderingContext2D}
*/
this.context = opt_noContext ? null : createCanvasContext2D();
super(tileLayer, opt_noContext);
/**
* @private

View File

@@ -4,7 +4,6 @@
import {getUid} from '../../util.js';
import TileState from '../../TileState.js';
import ViewHint from '../../ViewHint.js';
import {createCanvasContext2D} from '../../dom.js';
import {listen, unlisten} from '../../events.js';
import EventType from '../../events/EventType.js';
import rbush from 'rbush';
@@ -59,7 +58,8 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
*/
constructor(layer) {
super(layer, true);
const renderMode = layer.getRenderMode();
super(layer, renderMode === VectorTileRenderType.VECTOR);
/**
* Declutter tree.
@@ -85,15 +85,9 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
*/
this.tmpTransform_ = createTransform();
const renderMode = layer.getRenderMode();
// Use lower resolution for pure vector rendering. Closest resolution otherwise.
this.zDirection = renderMode === VectorTileRenderType.VECTOR ? 1 : 0;
if (renderMode !== VectorTileRenderType.VECTOR) {
this.context = createCanvasContext2D();
}
listen(labelCache, EventType.CLEAR, this.handleFontsChanged_, this);