Remove unused clip code

This commit is contained in:
Andreas Hocevar
2022-02-17 15:18:33 +01:00
parent c9ff07a695
commit 3b4a2d5966

View File

@@ -665,49 +665,18 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
const rotation = viewState.rotation; const rotation = viewState.rotation;
const tiles = this.renderedTiles; const tiles = this.renderedTiles;
const clips = [];
const clipZs = [];
for (let i = tiles.length - 1; i >= 0; --i) { for (let i = tiles.length - 1; i >= 0; --i) {
const tile = /** @type {import("../../VectorRenderTile.js").default} */ ( const tile = /** @type {import("../../VectorRenderTile.js").default} */ (
tiles[i] tiles[i]
); );
const transform = this.getTileRenderTransform(tile, frameState); const transform = this.getTileRenderTransform(tile, frameState);
const executorGroups = tile.executorGroups[getUid(layer)]; const executorGroups = tile.executorGroups[getUid(layer)];
let clipped = false;
for (let t = 0, tt = executorGroups.length; t < tt; ++t) { for (let t = 0, tt = executorGroups.length; t < tt; ++t) {
const executorGroup = executorGroups[t]; const executorGroup = executorGroups[t];
if (!executorGroup.hasExecutors(replayTypes)) { if (!executorGroup.hasExecutors(replayTypes)) {
// sourceTile has no instructions of the types we want to render // sourceTile has no instructions of the types we want to render
continue; continue;
} }
const currentZ = tile.tileCoord[0];
let currentClip;
if (!clipped) {
currentClip = executorGroup.getClipCoords(transform);
if (currentClip) {
context.save();
// Create a clip mask for regions in this low resolution tile that are
// already filled by a higher resolution tile
for (let j = 0, jj = clips.length; j < jj; ++j) {
const clip = clips[j];
if (currentZ < clipZs[j]) {
context.beginPath();
// counter-clockwise (outer ring) for current tile
context.moveTo(currentClip[0], currentClip[1]);
context.lineTo(currentClip[2], currentClip[3]);
context.lineTo(currentClip[4], currentClip[5]);
context.lineTo(currentClip[6], currentClip[7]);
// clockwise (inner ring) for higher resolution tile
context.moveTo(clip[6], clip[7]);
context.lineTo(clip[4], clip[5]);
context.lineTo(clip[2], clip[3]);
context.lineTo(clip[0], clip[1]);
context.clip();
}
}
}
}
executorGroup.execute( executorGroup.execute(
context, context,
1, 1,
@@ -716,12 +685,6 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
hifi, hifi,
replayTypes replayTypes
); );
if (!clipped && currentClip) {
context.restore();
clips.push(currentClip);
clipZs.push(currentZ);
clipped = true;
}
} }
} }
context.globalAlpha = alpha; context.globalAlpha = alpha;