Fix prepare/compose sequence to support icon loading
This commit is contained in:
@@ -143,6 +143,7 @@ CanvasImageLayerRenderer.prototype.prepareFrame = function(frameState, layerStat
|
|||||||
projection = sourceProjection;
|
projection = sourceProjection;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
let skippedFeatures = this.skippedFeatures_;
|
||||||
const vectorRenderer = this.vectorRenderer_;
|
const vectorRenderer = this.vectorRenderer_;
|
||||||
if (vectorRenderer) {
|
if (vectorRenderer) {
|
||||||
const context = vectorRenderer.context;
|
const context = vectorRenderer.context;
|
||||||
@@ -155,25 +156,25 @@ CanvasImageLayerRenderer.prototype.prepareFrame = function(frameState, layerStat
|
|||||||
rotation: 0
|
rotation: 0
|
||||||
}))
|
}))
|
||||||
}));
|
}));
|
||||||
const skippedFeatures = Object.keys(imageFrameState.skippedFeatureUids).sort();
|
const newSkippedFeatures = Object.keys(imageFrameState.skippedFeatureUids).sort();
|
||||||
if (vectorRenderer.prepareFrame(imageFrameState, layerState) &&
|
image = new ImageCanvas(renderedExtent, viewResolution, pixelRatio, context.canvas, function(callback) {
|
||||||
(vectorRenderer.replayGroupChanged ||
|
if (vectorRenderer.prepareFrame(imageFrameState, layerState) &&
|
||||||
!equals(skippedFeatures, this.skippedFeatures_))) {
|
(vectorRenderer.replayGroupChanged ||
|
||||||
context.canvas.width = imageFrameState.size[0] * pixelRatio;
|
!equals(skippedFeatures, newSkippedFeatures))) {
|
||||||
context.canvas.height = imageFrameState.size[1] * pixelRatio;
|
context.canvas.width = imageFrameState.size[0] * pixelRatio;
|
||||||
vectorRenderer.compose(imageFrameState, layerState, context);
|
context.canvas.height = imageFrameState.size[1] * pixelRatio;
|
||||||
this.image_ = new ImageCanvas(renderedExtent, viewResolution, pixelRatio, context.canvas);
|
vectorRenderer.compose(context, imageFrameState, layerState);
|
||||||
this.skippedFeatures_ = skippedFeatures;
|
skippedFeatures = newSkippedFeatures;
|
||||||
}
|
callback();
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
image = imageSource.getImage(
|
image = imageSource.getImage(
|
||||||
renderedExtent, viewResolution, pixelRatio, projection);
|
renderedExtent, viewResolution, pixelRatio, projection);
|
||||||
if (image) {
|
}
|
||||||
const loaded = this.loadImage(image);
|
if (image && this.loadImage(image)) {
|
||||||
if (loaded) {
|
this.image_ = image;
|
||||||
this.image_ = image;
|
this.skippedFeatures_ = skippedFeatures;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user