Apply all transforms in the layer renderer

This commit is contained in:
Tim Schaub
2018-11-12 20:56:19 +01:00
parent 0c97fd63e2
commit 432b74d64d
2 changed files with 16 additions and 17 deletions

View File

@@ -85,8 +85,6 @@ class CompositeMapRenderer extends MapRenderer {
const layerStatesArray = frameState.layerStatesArray;
stableSort(layerStatesArray, sortByZIndex);
const rotation = frameState.viewState.rotation;
const viewResolution = frameState.viewState.resolution;
this.children_.length = 0;
@@ -100,17 +98,6 @@ class CompositeMapRenderer extends MapRenderer {
const layerRenderer = this.getLayerRenderer(layer);
if (layerRenderer.prepareFrame(frameState, layerState)) {
const element = layerRenderer.renderFrame(frameState, layerState);
const opacity = layerState.opacity;
if (opacity !== element.style.opacity) {
element.style.opacity = opacity;
}
const transform = 'rotate(' + rotation + 'rad)';
if (transform !== element.style.transform) {
element.style.transform = transform;
}
this.children_.push(element);
}
}

View File

@@ -318,11 +318,23 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
* @inheritDoc
*/
renderFrame(frameState, layerState) {
const transform = this.getTransform(frameState, 0);
this.preRender(frameState, transform);
this.preRender(frameState);
this.render(frameState, layerState);
this.postRender(frameState, layerState, transform);
return this.context.canvas;
this.postRender(frameState, layerState);
const canvas = this.context.canvas;
const opacity = layerState.opacity;
if (opacity !== canvas.style.opacity) {
canvas.style.opacity = opacity;
}
const rotation = frameState.viewState.rotation;
const transform = 'rotate(' + rotation + 'rad)';
if (transform !== canvas.style.transform) {
canvas.style.transform = transform;
}
return canvas;
}
/**