No context sharing when layer opacity is set
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user