Fix layer render extent when it is not at all in view

This commit is contained in:
Maximilian Krög
2021-06-28 00:22:53 +02:00
parent f57413fc04
commit 83226cc79a
3 changed files with 13 additions and 44 deletions

View File

@@ -280,17 +280,19 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
// clipped rendering if layer extent is set
let clipped = false;
let render = true;
if (layerState.extent && this.clipping) {
const layerExtent = fromUserExtent(layerState.extent, projection);
clipped =
!containsExtent(layerExtent, frameState.extent) &&
intersectsExtent(layerExtent, frameState.extent);
render = intersectsExtent(layerExtent, frameState.extent);
clipped = render && !containsExtent(layerExtent, frameState.extent);
if (clipped) {
this.clipUnrotated(context, frameState, layerExtent);
}
}
this.renderWorlds(replayGroup, frameState);
if (render) {
this.renderWorlds(replayGroup, frameState);
}
if (clipped) {
context.restore();