No context sharing when layer opacity is set

This commit is contained in:
Andreas Hocevar
2021-11-05 11:34:32 +01:00
parent 6e5e94a447
commit 58806aaec1
2 changed files with 3 additions and 16 deletions

View File

@@ -17,7 +17,6 @@ import {
getTopRight, getTopRight,
} from '../../extent.js'; } from '../../extent.js';
import {createCanvasContext2D} from '../../dom.js'; import {createCanvasContext2D} from '../../dom.js';
import {cssOpacity} from '../../css.js';
/** /**
* @abstract * @abstract
@@ -95,8 +94,9 @@ class CanvasLayerRenderer extends LayerRenderer {
let container, context; let container, context;
if ( if (
target && target &&
target.style.opacity === cssOpacity(opacity) && target.className === layerClassName &&
target.className === layerClassName target.style.opacity === '' &&
opacity === 1
) { ) {
const canvas = target.firstElementChild; const canvas = target.firstElementChild;
if (canvas instanceof HTMLCanvasElement) { if (canvas instanceof HTMLCanvasElement) {

View File

@@ -150,19 +150,6 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
this.clipping = true; this.clipping = true;
} }
/**
* Get a rendering container from an existing target, if compatible.
* @param {HTMLElement} target Potential render target.
* @param {string} transform CSS Transform.
* @param {number} opacity Opacity.
*/
useContainer(target, transform, opacity) {
if (opacity < 1) {
target = null;
}
super.useContainer(target, transform, opacity);
}
/** /**
* @param {ExecutorGroup} executorGroup Executor group. * @param {ExecutorGroup} executorGroup Executor group.
* @param {import("../../PluggableMap.js").FrameState} frameState Frame state. * @param {import("../../PluggableMap.js").FrameState} frameState Frame state.