Remove layerState param from prepareFrame and renderFrame function

This commit is contained in:
Frederic Junod
2019-05-22 14:09:25 +02:00
parent 7044e30529
commit 40c49a9ce5
17 changed files with 87 additions and 40 deletions

View File

@@ -214,6 +214,7 @@ class RasterSource extends ImageSource {
extent: null,
focus: null,
index: 0,
layerIndex: 0,
layerStatesArray: getLayerStatesArray(this.layers_),
pixelRatio: 1,
pixelToCoordinateTransform: createTransform(),
@@ -358,7 +359,8 @@ class RasterSource extends ImageSource {
const len = this.layers_.length;
const imageDatas = new Array(len);
for (let i = 0; i < len; ++i) {
const imageData = getImageData(this.layers_[i], frameState, frameState.layerStatesArray[i]);
frameState.layerIndex = i;
const imageData = getImageData(this.layers_[i], frameState);
if (imageData) {
imageDatas[i] = imageData;
} else {
@@ -430,21 +432,20 @@ let sharedContext = null;
* Get image data from a layer.
* @param {import("../layer/Layer.js").default} layer Layer to render.
* @param {import("../PluggableMap.js").FrameState} frameState The frame state.
* @param {import("../layer/Layer.js").State} layerState The layer state.
* @return {ImageData} The image data.
*/
function getImageData(layer, frameState, layerState) {
function getImageData(layer, frameState) {
const renderer = layer.getRenderer();
if (!renderer) {
throw new Error('Unsupported layer type: ' + layer);
}
if (!renderer.prepareFrame(frameState, layerState)) {
if (!renderer.prepareFrame(frameState)) {
return null;
}
const width = frameState.size[0];
const height = frameState.size[1];
const container = renderer.renderFrame(frameState, layerState, null);
const container = renderer.renderFrame(frameState, null);
let element;
if (container) {
element = container.firstElementChild;