Fix incorrect Executor/Builder types
This commit is contained in:
@@ -65,7 +65,7 @@ class VectorTile extends Tile {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @type {Object<string, import("./render/BuilderGroup.js").default>}
|
* @type {Object<string, import("./render/ExecutorGroup.js").default>}
|
||||||
*/
|
*/
|
||||||
this.replayGroups_ = {};
|
this.replayGroups_ = {};
|
||||||
|
|
||||||
@@ -142,9 +142,9 @@ class VectorTile extends Tile {
|
|||||||
/**
|
/**
|
||||||
* @param {import("./layer/Layer.js").default} layer Layer.
|
* @param {import("./layer/Layer.js").default} layer Layer.
|
||||||
* @param {string} key Key.
|
* @param {string} key Key.
|
||||||
* @return {import("./render/BuilderGroup.js").default} Replay group.
|
* @return {import("./render/ExecutorGroup.js").default} Replay group.
|
||||||
*/
|
*/
|
||||||
getReplayGroup(layer, key) {
|
getExecutorGroup(layer, key) {
|
||||||
return this.replayGroups_[getUid(layer) + ',' + key];
|
return this.replayGroups_[getUid(layer) + ',' + key];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,9 +153,9 @@ class VectorTile extends Tile {
|
|||||||
* @param {import("./layer/Layer").default} layer Layer.
|
* @param {import("./layer/Layer").default} layer Layer.
|
||||||
* @param {number} zoom Zoom.
|
* @param {number} zoom Zoom.
|
||||||
* @param {import("./extent").Extent} extent Extent.
|
* @param {import("./extent").Extent} extent Extent.
|
||||||
* @return {import("./render/BuilderGroup.js").default} Replay groups.
|
* @return {import("./render/ExecutorGroup.js").default} Replay groups.
|
||||||
*/
|
*/
|
||||||
getLowResReplayGroup(layer, zoom, extent) {
|
getLowResExecutorGroup(layer, zoom, extent) {
|
||||||
const layerId = getUid(layer);
|
const layerId = getUid(layer);
|
||||||
let bestZoom = 0;
|
let bestZoom = 0;
|
||||||
let replayGroup = null;
|
let replayGroup = null;
|
||||||
@@ -244,10 +244,10 @@ class VectorTile extends Tile {
|
|||||||
/**
|
/**
|
||||||
* @param {import("./layer/Layer.js").default} layer Layer.
|
* @param {import("./layer/Layer.js").default} layer Layer.
|
||||||
* @param {string} key Key.
|
* @param {string} key Key.
|
||||||
* @param {import("./render/BuilderGroup.js").default} replayGroup Replay group.
|
* @param {import("./render/ExecutorGroup.js").default} executorGroup Executor group.
|
||||||
*/
|
*/
|
||||||
setReplayGroup(layer, key, replayGroup) {
|
setExecutorGroup(layer, key, executorGroup) {
|
||||||
this.replayGroups_[getUid(layer) + ',' + key] = replayGroup;
|
this.replayGroups_[getUid(layer) + ',' + key] = executorGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -332,7 +332,7 @@ class ExecutorGroup extends BaseExecutorGroup {
|
|||||||
* Default is {@link module:ol/render/replay~ORDER}
|
* Default is {@link module:ol/render/replay~ORDER}
|
||||||
* @param {Object<string, import("../canvas.js").DeclutterGroup>=} opt_declutterReplays Declutter replays.
|
* @param {Object<string, import("../canvas.js").DeclutterGroup>=} opt_declutterReplays Declutter replays.
|
||||||
*/
|
*/
|
||||||
replay(
|
execute(
|
||||||
context,
|
context,
|
||||||
transform,
|
transform,
|
||||||
viewRotation,
|
viewRotation,
|
||||||
@@ -468,11 +468,11 @@ export function replayDeclutter(declutterReplays, context, rotation, snapToPixel
|
|||||||
const zs = Object.keys(declutterReplays).map(Number).sort(numberSafeCompareFunction);
|
const zs = Object.keys(declutterReplays).map(Number).sort(numberSafeCompareFunction);
|
||||||
const skippedFeatureUids = {};
|
const skippedFeatureUids = {};
|
||||||
for (let z = 0, zz = zs.length; z < zz; ++z) {
|
for (let z = 0, zz = zs.length; z < zz; ++z) {
|
||||||
const replayData = declutterReplays[zs[z].toString()];
|
const executorData = declutterReplays[zs[z].toString()];
|
||||||
for (let i = 0, ii = replayData.length; i < ii;) {
|
for (let i = 0, ii = executorData.length; i < ii;) {
|
||||||
const replay = replayData[i++];
|
const executor = executorData[i++];
|
||||||
const transform = replayData[i++];
|
const transform = executorData[i++];
|
||||||
replay.execute(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
executor.execute(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -406,25 +406,4 @@ export function getCircleArray(radius) {
|
|||||||
return arr;
|
return arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {!Object<string, Array<*>>} declutterReplays Declutter replays.
|
|
||||||
* @param {CanvasRenderingContext2D} context Context.
|
|
||||||
* @param {number} rotation Rotation.
|
|
||||||
* @param {boolean} snapToPixel Snap point symbols and text to integer pixels.
|
|
||||||
*/
|
|
||||||
export function replayDeclutter(declutterReplays, context, rotation, snapToPixel) {
|
|
||||||
const zs = Object.keys(declutterReplays).map(Number).sort(numberSafeCompareFunction);
|
|
||||||
const skippedFeatureUids = {};
|
|
||||||
for (let z = 0, zz = zs.length; z < zz; ++z) {
|
|
||||||
const replayData = declutterReplays[zs[z].toString()];
|
|
||||||
for (let i = 0, ii = replayData.length; i < ii;) {
|
|
||||||
const replay = replayData[i++];
|
|
||||||
const transform = replayData[i++];
|
|
||||||
replay.execute(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export default CanvasBuilderGroup;
|
export default CanvasBuilderGroup;
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|||||||
const halfWidth = (frameState.size[0] * pixelRatio) / 2;
|
const halfWidth = (frameState.size[0] * pixelRatio) / 2;
|
||||||
const halfHeight = (frameState.size[1] * pixelRatio) / 2;
|
const halfHeight = (frameState.size[1] * pixelRatio) / 2;
|
||||||
rotateAtOffset(replayContext, -rotation, halfWidth, halfHeight);
|
rotateAtOffset(replayContext, -rotation, halfWidth, halfHeight);
|
||||||
replayGroup.replay(replayContext, transform, rotation, skippedFeatureUids, snapToPixel);
|
replayGroup.execute(replayContext, transform, rotation, skippedFeatureUids, snapToPixel);
|
||||||
if (vectorSource.getWrapX() && projection.canWrapX() &&
|
if (vectorSource.getWrapX() && projection.canWrapX() &&
|
||||||
!containsExtent(projectionExtent, extent)) {
|
!containsExtent(projectionExtent, extent)) {
|
||||||
let startX = extent[0];
|
let startX = extent[0];
|
||||||
@@ -177,7 +177,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|||||||
--world;
|
--world;
|
||||||
offsetX = worldWidth * world;
|
offsetX = worldWidth * world;
|
||||||
transform = this.getTransform(frameState, offsetX);
|
transform = this.getTransform(frameState, offsetX);
|
||||||
replayGroup.replay(replayContext, transform, rotation, skippedFeatureUids, snapToPixel);
|
replayGroup.execute(replayContext, transform, rotation, skippedFeatureUids, snapToPixel);
|
||||||
startX += worldWidth;
|
startX += worldWidth;
|
||||||
}
|
}
|
||||||
world = 0;
|
world = 0;
|
||||||
@@ -186,7 +186,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|||||||
++world;
|
++world;
|
||||||
offsetX = worldWidth * world;
|
offsetX = worldWidth * world;
|
||||||
transform = this.getTransform(frameState, offsetX);
|
transform = this.getTransform(frameState, offsetX);
|
||||||
replayGroup.replay(replayContext, transform, rotation, skippedFeatureUids, snapToPixel);
|
replayGroup.execute(replayContext, transform, rotation, skippedFeatureUids, snapToPixel);
|
||||||
startX -= worldWidth;
|
startX -= worldWidth;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -280,7 +280,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|||||||
|
|
||||||
let transform = this.getRenderTransform(frameState, width, height, 0);
|
let transform = this.getRenderTransform(frameState, width, height, 0);
|
||||||
const skippedFeatureUids = layerState.managed ? frameState.skippedFeatureUids : {};
|
const skippedFeatureUids = layerState.managed ? frameState.skippedFeatureUids : {};
|
||||||
replayGroup.replay(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
replayGroup.execute(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
||||||
|
|
||||||
if (vectorSource.getWrapX() && projection.canWrapX() && !containsExtent(projectionExtent, extent)) {
|
if (vectorSource.getWrapX() && projection.canWrapX() && !containsExtent(projectionExtent, extent)) {
|
||||||
let startX = extent[0];
|
let startX = extent[0];
|
||||||
@@ -291,7 +291,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|||||||
--world;
|
--world;
|
||||||
offsetX = worldWidth * world;
|
offsetX = worldWidth * world;
|
||||||
transform = this.getRenderTransform(frameState, width, height, offsetX);
|
transform = this.getRenderTransform(frameState, width, height, offsetX);
|
||||||
replayGroup.replay(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
replayGroup.execute(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
||||||
startX += worldWidth;
|
startX += worldWidth;
|
||||||
}
|
}
|
||||||
world = 0;
|
world = 0;
|
||||||
@@ -300,7 +300,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|||||||
++world;
|
++world;
|
||||||
offsetX = worldWidth * world;
|
offsetX = worldWidth * world;
|
||||||
transform = this.getRenderTransform(frameState, width, height, offsetX);
|
transform = this.getRenderTransform(frameState, width, height, offsetX);
|
||||||
replayGroup.replay(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
replayGroup.execute(context, transform, rotation, skippedFeatureUids, snapToPixel);
|
||||||
startX -= worldWidth;
|
startX -= worldWidth;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import {equivalent as equivalentProjection} from '../../proj.js';
|
|||||||
import Units from '../../proj/Units.js';
|
import Units from '../../proj/Units.js';
|
||||||
import ReplayType from '../../render/ReplayType.js';
|
import ReplayType from '../../render/ReplayType.js';
|
||||||
import {labelCache, rotateAtOffset} from '../../render/canvas.js';
|
import {labelCache, rotateAtOffset} from '../../render/canvas.js';
|
||||||
import CanvasBuilderGroup, {replayDeclutter} from '../../render/canvas/InstructionsGroupBuilder.js';
|
import CanvasBuilderGroup from '../../render/canvas/InstructionsGroupBuilder.js';
|
||||||
import {ORDER} from '../../render/replay.js';
|
import {ORDER} from '../../render/replay.js';
|
||||||
import CanvasTileLayerRenderer from './TileLayer.js';
|
import CanvasTileLayerRenderer from './TileLayer.js';
|
||||||
import {getSquaredTolerance as getSquaredRenderTolerance, renderFeature} from '../vector.js';
|
import {getSquaredTolerance as getSquaredRenderTolerance, renderFeature} from '../vector.js';
|
||||||
@@ -24,7 +24,7 @@ import {
|
|||||||
scale as scaleTransform,
|
scale as scaleTransform,
|
||||||
translate as translateTransform
|
translate as translateTransform
|
||||||
} from '../../transform.js';
|
} from '../../transform.js';
|
||||||
import CanvasGroupExecutor from '../../render/canvas/ExecutorGroup.js';
|
import CanvasExecutorGroup, {replayDeclutter} from '../../render/canvas/ExecutorGroup.js';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -108,7 +108,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
getTile(z, x, y, pixelRatio, projection) {
|
getTile(z, x, y, pixelRatio, projection) {
|
||||||
const tile = super.getTile(z, x, y, pixelRatio, projection);
|
const tile = super.getTile(z, x, y, pixelRatio, projection);
|
||||||
if (tile.getState() === TileState.LOADED) {
|
if (tile.getState() === TileState.LOADED) {
|
||||||
this.createReplayGroup_(/** @type {import("../../VectorImageTile.js").default} */ (tile), pixelRatio, projection);
|
this.createExecutorGroup_(/** @type {import("../../VectorImageTile.js").default} */ (tile), pixelRatio, projection);
|
||||||
if (this.context) {
|
if (this.context) {
|
||||||
this.renderTileImage_(/** @type {import("../../VectorImageTile.js").default} */ (tile), pixelRatio, projection);
|
this.renderTileImage_(/** @type {import("../../VectorImageTile.js").default} */ (tile), pixelRatio, projection);
|
||||||
}
|
}
|
||||||
@@ -143,14 +143,14 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
* @param {import("../../proj/Projection.js").default} projection Projection.
|
* @param {import("../../proj/Projection.js").default} projection Projection.
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
createReplayGroup_(tile, pixelRatio, projection) {
|
createExecutorGroup_(tile, pixelRatio, projection) {
|
||||||
const layer = /** @type {import("../../layer/Vector.js").default} */ (this.getLayer());
|
const layer = /** @type {import("../../layer/Vector.js").default} */ (this.getLayer());
|
||||||
const revision = layer.getRevision();
|
const revision = layer.getRevision();
|
||||||
const renderOrder = /** @type {import("../../render.js").OrderFunction} */ (layer.getRenderOrder()) || null;
|
const renderOrder = /** @type {import("../../render.js").OrderFunction} */ (layer.getRenderOrder()) || null;
|
||||||
|
|
||||||
const replayState = tile.getReplayState(layer);
|
const builderState = tile.getReplayState(layer);
|
||||||
if (!replayState.dirty && replayState.renderedRevision == revision &&
|
if (!builderState.dirty && builderState.renderedRevision == revision &&
|
||||||
replayState.renderedRenderOrder == renderOrder) {
|
builderState.renderedRenderOrder == renderOrder) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,10 +167,10 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (tile.useLoadedOnly) {
|
if (tile.useLoadedOnly) {
|
||||||
const lowResReplayGroup = sourceTile.getLowResReplayGroup(layer, zoom, tileExtent);
|
const lowResExecutorGroup = sourceTile.getLowResExecutorGroup(layer, zoom, tileExtent);
|
||||||
if (lowResReplayGroup) {
|
if (lowResExecutorGroup) {
|
||||||
// reuse existing replay if we're rendering an interim tile
|
// reuse existing replay if we're rendering an interim tile
|
||||||
sourceTile.setReplayGroup(layer, tile.tileCoord.toString(), lowResReplayGroup);
|
sourceTile.setExecutorGroup(layer, tile.tileCoord.toString(), lowResExecutorGroup);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -186,8 +186,8 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
reproject = true;
|
reproject = true;
|
||||||
sourceTile.setProjection(projection);
|
sourceTile.setProjection(projection);
|
||||||
}
|
}
|
||||||
replayState.dirty = false;
|
builderState.dirty = false;
|
||||||
const replayGroup = new CanvasBuilderGroup(0, sharedExtent, resolution,
|
const builderGroup = new CanvasBuilderGroup(0, sharedExtent, resolution,
|
||||||
pixelRatio, source.getOverlaps(), this.declutterTree_, layer.getRenderBuffer());
|
pixelRatio, source.getOverlaps(), this.declutterTree_, layer.getRenderBuffer());
|
||||||
const squaredTolerance = getSquaredRenderTolerance(resolution, pixelRatio);
|
const squaredTolerance = getSquaredRenderTolerance(resolution, pixelRatio);
|
||||||
|
|
||||||
@@ -202,14 +202,14 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
styles = styleFunction(feature, resolution);
|
styles = styleFunction(feature, resolution);
|
||||||
}
|
}
|
||||||
if (styles) {
|
if (styles) {
|
||||||
const dirty = this.renderFeature(feature, squaredTolerance, styles, replayGroup);
|
const dirty = this.renderFeature(feature, squaredTolerance, styles, builderGroup);
|
||||||
this.dirty_ = this.dirty_ || dirty;
|
this.dirty_ = this.dirty_ || dirty;
|
||||||
replayState.dirty = replayState.dirty || dirty;
|
builderState.dirty = builderState.dirty || dirty;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const features = sourceTile.getFeatures();
|
const features = sourceTile.getFeatures();
|
||||||
if (renderOrder && renderOrder !== replayState.renderedRenderOrder) {
|
if (renderOrder && renderOrder !== builderState.renderedRenderOrder) {
|
||||||
features.sort(renderOrder);
|
features.sort(renderOrder);
|
||||||
}
|
}
|
||||||
for (let i = 0, ii = features.length; i < ii; ++i) {
|
for (let i = 0, ii = features.length; i < ii; ++i) {
|
||||||
@@ -227,14 +227,14 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
render.call(this, feature);
|
render.call(this, feature);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const replayGroupInstructions = replayGroup.finish();
|
const replayGroupInstructions = builderGroup.finish();
|
||||||
const renderingReplayGroup = new CanvasGroupExecutor(0, sharedExtent, resolution,
|
const renderingReplayGroup = new CanvasExecutorGroup(0, sharedExtent, resolution,
|
||||||
pixelRatio, source.getOverlaps(), this.declutterTree_, layer.getRenderBuffer());
|
pixelRatio, source.getOverlaps(), this.declutterTree_, layer.getRenderBuffer());
|
||||||
renderingReplayGroup.replaceInstructions(replayGroupInstructions);
|
renderingReplayGroup.replaceInstructions(replayGroupInstructions);
|
||||||
sourceTile.setReplayGroup(layer, tile.tileCoord.toString(), renderingReplayGroup);
|
sourceTile.setExecutorGroup(layer, tile.tileCoord.toString(), renderingReplayGroup);
|
||||||
}
|
}
|
||||||
replayState.renderedRevision = revision;
|
builderState.renderedRevision = revision;
|
||||||
replayState.renderedRenderOrder = renderOrder;
|
builderState.renderedRenderOrder = renderOrder;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -263,9 +263,9 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
if (sourceTile.getState() != TileState.LOADED) {
|
if (sourceTile.getState() != TileState.LOADED) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const replayGroup = /** @type {CanvasBuilderGroup} */ (sourceTile.getReplayGroup(layer,
|
const executorGroup = /** @type {CanvasExecutorGroup} */ (sourceTile.getExecutorGroup(layer,
|
||||||
tile.tileCoord.toString()));
|
tile.tileCoord.toString()));
|
||||||
found = found || replayGroup.forEachFeatureAtCoordinate(coordinate, resolution, rotation, hitTolerance, {},
|
found = found || executorGroup.forEachFeatureAtCoordinate(coordinate, resolution, rotation, hitTolerance, {},
|
||||||
/**
|
/**
|
||||||
* @param {import("../../Feature.js").FeatureLike} feature Feature.
|
* @param {import("../../Feature.js").FeatureLike} feature Feature.
|
||||||
* @return {?} Callback result.
|
* @return {?} Callback result.
|
||||||
@@ -371,7 +371,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
if (sourceTile.getState() != TileState.LOADED) {
|
if (sourceTile.getState() != TileState.LOADED) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const executorGroup = /** @type {CanvasGroupExecutor} */ (sourceTile.getReplayGroup(layer, tileCoord.toString()));
|
const executorGroup = /** @type {CanvasExecutorGroup} */ (sourceTile.getExecutorGroup(layer, tileCoord.toString()));
|
||||||
if (!executorGroup || !executorGroup.hasExecutors(replayTypes)) {
|
if (!executorGroup || !executorGroup.hasExecutors(replayTypes)) {
|
||||||
// sourceTile was not yet loaded when this.createReplayGroup_() was
|
// sourceTile was not yet loaded when this.createReplayGroup_() was
|
||||||
// called, or it has no replays of the types we want to render
|
// called, or it has no replays of the types we want to render
|
||||||
@@ -403,7 +403,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
context.clip();
|
context.clip();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
executorGroup.replay(context, transform, rotation, {}, snapToPixel, replayTypes, declutterReplays);
|
executorGroup.execute(context, transform, rotation, {}, snapToPixel, replayTypes, declutterReplays);
|
||||||
context.restore();
|
context.restore();
|
||||||
clips.push(currentClip);
|
clips.push(currentClip);
|
||||||
zs.push(currentZ);
|
zs.push(currentZ);
|
||||||
@@ -478,9 +478,9 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
const transform = resetTransform(this.tmpTransform_);
|
const transform = resetTransform(this.tmpTransform_);
|
||||||
scaleTransform(transform, pixelScale, -pixelScale);
|
scaleTransform(transform, pixelScale, -pixelScale);
|
||||||
translateTransform(transform, -tileExtent[0], -tileExtent[3]);
|
translateTransform(transform, -tileExtent[0], -tileExtent[3]);
|
||||||
const replayGroup = /** @type {CanvasBuilderGroup} */ (sourceTile.getReplayGroup(layer,
|
const executorGroup = /** @type {CanvasExecutorGroup} */ (sourceTile.getExecutorGroup(layer,
|
||||||
tile.tileCoord.toString()));
|
tile.tileCoord.toString()));
|
||||||
replayGroup.replay(context, transform, 0, {}, true, replays);
|
executorGroup.execute(context, transform, 0, {}, true, replays);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,12 +92,12 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
it('omits lineTo for repeated coordinates', function() {
|
it('omits lineTo for repeated coordinates', function() {
|
||||||
renderFeature(builder, feature0, fill0, 1);
|
renderFeature(builder, feature0, fill0, 1);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
expect(lineToCount).to.be(4);
|
expect(lineToCount).to.be(4);
|
||||||
lineToCount = 0;
|
lineToCount = 0;
|
||||||
scaleTransform(transform, 0.25, 0.25);
|
scaleTransform(transform, 0.25, 0.25);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
expect(lineToCount).to.be(3);
|
expect(lineToCount).to.be(3);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
renderFeature(builder, feature0, fill0, 1);
|
renderFeature(builder, feature0, fill0, 1);
|
||||||
renderFeature(builder, feature1, fill1, 1);
|
renderFeature(builder, feature1, fill1, 1);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
expect(moveToCount).to.be(2);
|
expect(moveToCount).to.be(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
renderFeature(builder, feature2, style1, 1);
|
renderFeature(builder, feature2, style1, 1);
|
||||||
renderFeature(builder, feature3, style1, 1);
|
renderFeature(builder, feature3, style1, 1);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
expect(fillCount).to.be(1);
|
expect(fillCount).to.be(1);
|
||||||
expect(strokeCount).to.be(1);
|
expect(strokeCount).to.be(1);
|
||||||
expect(beginPathCount).to.be(1);
|
expect(beginPathCount).to.be(1);
|
||||||
@@ -125,7 +125,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
renderFeature(builder, feature2, style1, 1);
|
renderFeature(builder, feature2, style1, 1);
|
||||||
renderFeature(builder, feature3, style2, 1);
|
renderFeature(builder, feature3, style2, 1);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
expect(fillCount).to.be(2);
|
expect(fillCount).to.be(2);
|
||||||
expect(strokeCount).to.be(2);
|
expect(strokeCount).to.be(2);
|
||||||
expect(beginPathCount).to.be(2);
|
expect(beginPathCount).to.be(2);
|
||||||
@@ -136,7 +136,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
renderFeature(builder, feature2, style2, 1);
|
renderFeature(builder, feature2, style2, 1);
|
||||||
renderFeature(builder, feature3, style1, 1);
|
renderFeature(builder, feature3, style1, 1);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
expect(fillCount).to.be(3);
|
expect(fillCount).to.be(3);
|
||||||
expect(strokeCount).to.be(3);
|
expect(strokeCount).to.be(3);
|
||||||
expect(beginPathCount).to.be(3);
|
expect(beginPathCount).to.be(3);
|
||||||
@@ -149,7 +149,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
const skippedUids = {};
|
const skippedUids = {};
|
||||||
skippedUids[getUid(feature1)] = true;
|
skippedUids[getUid(feature1)] = true;
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, skippedUids);
|
executor.execute(context, transform, 0, skippedUids);
|
||||||
expect(fillCount).to.be(1);
|
expect(fillCount).to.be(1);
|
||||||
expect(strokeCount).to.be(1);
|
expect(strokeCount).to.be(1);
|
||||||
expect(beginPathCount).to.be(1);
|
expect(beginPathCount).to.be(1);
|
||||||
@@ -162,7 +162,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
const skippedUids = {};
|
const skippedUids = {};
|
||||||
skippedUids[getUid(feature3)] = true;
|
skippedUids[getUid(feature3)] = true;
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, skippedUids);
|
executor.execute(context, transform, 0, skippedUids);
|
||||||
expect(fillCount).to.be(1);
|
expect(fillCount).to.be(1);
|
||||||
expect(strokeCount).to.be(1);
|
expect(strokeCount).to.be(1);
|
||||||
expect(beginPathCount).to.be(1);
|
expect(beginPathCount).to.be(1);
|
||||||
@@ -176,7 +176,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
skippedUids[getUid(feature1)] = true;
|
skippedUids[getUid(feature1)] = true;
|
||||||
skippedUids[getUid(feature2)] = true;
|
skippedUids[getUid(feature2)] = true;
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, skippedUids);
|
executor.execute(context, transform, 0, skippedUids);
|
||||||
expect(fillCount).to.be(1);
|
expect(fillCount).to.be(1);
|
||||||
expect(strokeCount).to.be(1);
|
expect(strokeCount).to.be(1);
|
||||||
expect(beginPathCount).to.be(1);
|
expect(beginPathCount).to.be(1);
|
||||||
@@ -189,7 +189,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
renderFeature(builder, feature2, style1, 1);
|
renderFeature(builder, feature2, style1, 1);
|
||||||
renderFeature(builder, feature3, style1, 1);
|
renderFeature(builder, feature3, style1, 1);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
expect(fillCount).to.be(3);
|
expect(fillCount).to.be(3);
|
||||||
expect(strokeCount).to.be(3);
|
expect(strokeCount).to.be(3);
|
||||||
expect(beginPathCount).to.be(3);
|
expect(beginPathCount).to.be(3);
|
||||||
@@ -218,7 +218,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
renderFeature(builder, feature1, style2, 1);
|
renderFeature(builder, feature1, style2, 1);
|
||||||
renderFeature(builder, feature2, style2, 1);
|
renderFeature(builder, feature2, style2, 1);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
|
|
||||||
expect(lineDashCount).to.be(1);
|
expect(lineDashCount).to.be(1);
|
||||||
expect(style2.getStroke().getLineDash()).to.eql([3, 6]);
|
expect(style2.getStroke().getLineDash()).to.eql([3, 6]);
|
||||||
@@ -267,7 +267,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
|
|||||||
renderFeature(builder, geometrycollection, style, 1);
|
renderFeature(builder, geometrycollection, style, 1);
|
||||||
scaleTransform(transform, 0.1, 0.1);
|
scaleTransform(transform, 0.1, 0.1);
|
||||||
executor.replaceInstructions(builder.finish());
|
executor.replaceInstructions(builder.finish());
|
||||||
executor.replay(context, transform, 0, {});
|
executor.execute(context, transform, 0, {});
|
||||||
expect(calls.length).to.be(9);
|
expect(calls.length).to.be(9);
|
||||||
expect(calls[0].geometry).to.be(point.getGeometry());
|
expect(calls[0].geometry).to.be(point.getGeometry());
|
||||||
expect(calls[0].feature).to.be(point);
|
expect(calls[0].feature).to.be(point);
|
||||||
|
|||||||
@@ -241,10 +241,8 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
|||||||
});
|
});
|
||||||
map.addLayer(layer2);
|
map.addLayer(layer2);
|
||||||
|
|
||||||
const spy1 = sinon.spy(VectorTile.prototype,
|
const spy1 = sinon.spy(VectorTile.prototype, 'getExecutorGroup');
|
||||||
'getReplayGroup');
|
const spy2 = sinon.spy(VectorTile.prototype, 'setExecutorGroup');
|
||||||
const spy2 = sinon.spy(VectorTile.prototype,
|
|
||||||
'setReplayGroup');
|
|
||||||
map.renderSync();
|
map.renderSync();
|
||||||
expect(spy1.callCount).to.be(4);
|
expect(spy1.callCount).to.be(4);
|
||||||
expect(spy2.callCount).to.be(2);
|
expect(spy2.callCount).to.be(2);
|
||||||
@@ -308,7 +306,7 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('#forEachFeatureAtCoordinate', function() {
|
describe('#forEachFeatureAtCoordinate', function() {
|
||||||
let layer, renderer, replayGroup;
|
let layer, renderer, executorGroup;
|
||||||
class TileClass extends VectorImageTile {
|
class TileClass extends VectorImageTile {
|
||||||
constructor() {
|
constructor() {
|
||||||
super(...arguments);
|
super(...arguments);
|
||||||
@@ -317,8 +315,8 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
|||||||
const sourceTile = new VectorTile([0, 0, 0]);
|
const sourceTile = new VectorTile([0, 0, 0]);
|
||||||
sourceTile.setState(TileState.LOADED);
|
sourceTile.setState(TileState.LOADED);
|
||||||
sourceTile.setProjection(getProjection('EPSG:3857'));
|
sourceTile.setProjection(getProjection('EPSG:3857'));
|
||||||
sourceTile.getReplayGroup = function() {
|
sourceTile.getExecutorGroup = function() {
|
||||||
return replayGroup;
|
return executorGroup;
|
||||||
};
|
};
|
||||||
const key = sourceTile.tileCoord.toString();
|
const key = sourceTile.tileCoord.toString();
|
||||||
this.tileKeys = [key];
|
this.tileKeys = [key];
|
||||||
@@ -329,7 +327,7 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
replayGroup = {};
|
executorGroup = {};
|
||||||
layer = new VectorTileLayer({
|
layer = new VectorTileLayer({
|
||||||
source: new VectorTileSource({
|
source: new VectorTileSource({
|
||||||
tileClass: TileClass,
|
tileClass: TileClass,
|
||||||
@@ -337,7 +335,7 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
renderer = new CanvasVectorTileLayerRenderer(layer);
|
renderer = new CanvasVectorTileLayerRenderer(layer);
|
||||||
replayGroup.forEachFeatureAtCoordinate = function(coordinate,
|
executorGroup.forEachFeatureAtCoordinate = function(coordinate,
|
||||||
resolution, rotation, hitTolerance, skippedFeaturesUids, callback) {
|
resolution, rotation, hitTolerance, skippedFeaturesUids, callback) {
|
||||||
const feature = new Feature();
|
const feature = new Feature();
|
||||||
callback(feature);
|
callback(feature);
|
||||||
|
|||||||
Reference in New Issue
Block a user