Don't store private constants into CanvasVectorTileLayerRenderer

This commit is contained in:
Frederic Junod
2018-02-14 09:31:32 +01:00
parent 25a7b19902
commit 57d35e188c

View File

@@ -21,6 +21,27 @@ import CanvasTileLayerRenderer from '../canvas/TileLayer.js';
import {getSquaredTolerance as getSquaredRenderTolerance, renderFeature} from '../vector.js';
import _ol_transform_ from '../../transform.js';
/**
* @type {!Object.<string, Array.<ol.render.ReplayType>>}
*/
const IMAGE_REPLAYS = {
'image': [ReplayType.POLYGON, ReplayType.CIRCLE,
ReplayType.LINE_STRING, ReplayType.IMAGE, ReplayType.TEXT],
'hybrid': [ReplayType.POLYGON, ReplayType.LINE_STRING]
};
/**
* @type {!Object.<string, Array.<ol.render.ReplayType>>}
*/
const VECTOR_REPLAYS = {
'image': [ReplayType.DEFAULT],
'hybrid': [ReplayType.IMAGE, ReplayType.TEXT, ReplayType.DEFAULT],
'vector': _ol_render_replay_.ORDER
};
/**
* @constructor
* @extends {ol.renderer.canvas.TileLayer}
@@ -93,28 +114,6 @@ CanvasVectorTileLayerRenderer['create'] = function(mapRenderer, layer) {
};
/**
* @const
* @type {!Object.<string, Array.<ol.render.ReplayType>>}
*/
CanvasVectorTileLayerRenderer.IMAGE_REPLAYS = {
'image': [ReplayType.POLYGON, ReplayType.CIRCLE,
ReplayType.LINE_STRING, ReplayType.IMAGE, ReplayType.TEXT],
'hybrid': [ReplayType.POLYGON, ReplayType.LINE_STRING]
};
/**
* @const
* @type {!Object.<string, Array.<ol.render.ReplayType>>}
*/
CanvasVectorTileLayerRenderer.VECTOR_REPLAYS = {
'image': [ReplayType.DEFAULT],
'hybrid': [ReplayType.IMAGE, ReplayType.TEXT, ReplayType.DEFAULT],
'vector': _ol_render_replay_.ORDER
};
/**
* @inheritDoc
*/
@@ -367,7 +366,7 @@ CanvasVectorTileLayerRenderer.prototype.postCompose = function(context, frameSta
const declutterReplays = layer.getDeclutter() ? {} : null;
const source = /** @type {ol.source.VectorTile} */ (layer.getSource());
const renderMode = layer.getRenderMode();
const replayTypes = CanvasVectorTileLayerRenderer.VECTOR_REPLAYS[renderMode];
const replayTypes = VECTOR_REPLAYS[renderMode];
const pixelRatio = frameState.pixelRatio;
const rotation = frameState.viewState.rotation;
const size = frameState.size;
@@ -484,7 +483,7 @@ CanvasVectorTileLayerRenderer.prototype.renderTileImage_ = function(
const layer = this.getLayer();
const replayState = tile.getReplayState(layer);
const revision = layer.getRevision();
const replays = CanvasVectorTileLayerRenderer.IMAGE_REPLAYS[layer.getRenderMode()];
const replays = IMAGE_REPLAYS[layer.getRenderMode()];
if (replays && replayState.renderedTileRevision !== revision) {
replayState.renderedTileRevision = revision;
const tileCoord = tile.wrappedTileCoord;