Don't fire rendercomplete event while icons are loading

This commit is contained in:
Maximilian Krög
2022-05-01 14:36:03 +02:00
parent dc128820c1
commit de392a9846
2 changed files with 6 additions and 19 deletions

View File

@@ -62,12 +62,6 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
*/ */
this.animatingOrInteracting_; this.animatingOrInteracting_;
/**
* @private
* @type {boolean}
*/
this.dirty_ = false;
/** /**
* @type {ImageData} * @type {ImageData}
*/ */
@@ -523,7 +517,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
const updateWhileInteracting = vectorLayer.getUpdateWhileInteracting(); const updateWhileInteracting = vectorLayer.getUpdateWhileInteracting();
if ( if (
(!this.dirty_ && !updateWhileAnimating && animating) || (this.ready && !updateWhileAnimating && animating) ||
(!updateWhileInteracting && interacting) (!updateWhileInteracting && interacting)
) { ) {
this.animatingOrInteracting_ = true; this.animatingOrInteracting_ = true;
@@ -594,7 +588,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
} }
if ( if (
!this.dirty_ && this.ready &&
this.renderedResolution_ == resolution && this.renderedResolution_ == resolution &&
this.renderedRevision_ == vectorLayerRevision && this.renderedRevision_ == vectorLayerRevision &&
this.renderedRenderOrder_ == vectorLayerRenderOrder && this.renderedRenderOrder_ == vectorLayerRenderOrder &&
@@ -611,8 +605,6 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
this.replayGroup_ = null; this.replayGroup_ = null;
this.dirty_ = false;
const replayGroup = new CanvasBuilderGroup( const replayGroup = new CanvasBuilderGroup(
getRenderTolerance(resolution, pixelRatio), getRenderTolerance(resolution, pixelRatio),
extent, extent,
@@ -650,7 +642,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
} }
const squaredTolerance = getSquaredRenderTolerance(resolution, pixelRatio); const squaredTolerance = getSquaredRenderTolerance(resolution, pixelRatio);
let ready = true;
const render = const render =
/** /**
* @param {import("../../Feature.js").default} feature Feature. * @param {import("../../Feature.js").default} feature Feature.
@@ -672,7 +664,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
userTransform, userTransform,
declutterBuilderGroup declutterBuilderGroup
); );
this.dirty_ = this.dirty_ || dirty; ready = ready && !dirty;
} }
}.bind(this); }.bind(this);
@@ -686,6 +678,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
render(features[i]); render(features[i]);
} }
this.renderedFeatures_ = features; this.renderedFeatures_ = features;
this.ready = ready;
const replayGroupInstructions = replayGroup.finish(); const replayGroupInstructions = replayGroup.finish();
const executorGroup = new ExecutorGroup( const executorGroup = new ExecutorGroup(

View File

@@ -85,12 +85,6 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
/** @private */ /** @private */
this.boundHandleStyleImageChange_ = this.handleStyleImageChange_.bind(this); this.boundHandleStyleImageChange_ = this.handleStyleImageChange_.bind(this);
/**
* @private
* @type {boolean}
*/
this.dirty_ = false;
/** /**
* @private * @private
* @type {number} * @type {number}
@@ -289,7 +283,6 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
builderGroup, builderGroup,
declutterBuilderGroup declutterBuilderGroup
); );
this.dirty_ = this.dirty_ || dirty;
builderState.dirty = builderState.dirty || dirty; builderState.dirty = builderState.dirty || dirty;
} }
}; };
@@ -339,6 +332,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
builderState.renderedRevision = revision; builderState.renderedRevision = revision;
builderState.renderedRenderOrder = renderOrder; builderState.renderedRenderOrder = renderOrder;
builderState.renderedResolution = resolution; builderState.renderedResolution = resolution;
this.ready = !builderState.dirty;
} }
/** /**