Canvas opacity instead of css

This commit is contained in:
ahocevar
2019-05-22 11:53:38 +02:00
parent 7895b16043
commit c56ad4363d
5 changed files with 22 additions and 18 deletions
+2 -7
View File
@@ -274,7 +274,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
});
let clips, clipZs, currentClip;
if (tileSource.getOpaque(frameState.viewState.projection)) {
if (!this.containerReused || tileSource.getOpaque(frameState.viewState.projection)) {
zs = zs.reverse();
} else {
clips = [];
@@ -360,11 +360,6 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
context.restore();
}
const opacity = layerState.opacity;
if (opacity !== parseFloat(canvas.style.opacity)) {
canvas.style.opacity = opacity;
}
const canvasTransform = transformToString(this.pixelTransform_);
if (canvasTransform !== canvas.style.transform) {
canvas.style.transform = canvasTransform;
@@ -389,7 +384,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
return;
}
const uid = getUid(this);
const alpha = transition ? tile.getAlpha(uid, frameState.time) : 1;
const alpha = this.getLayer().getOpacity() * (transition ? tile.getAlpha(uid, frameState.time) : 1);
const alphaChanged = alpha !== this.context.globalAlpha;
if (alphaChanged) {
this.context.save();