Properly maintain dirty state during animation

The previous logic assumed that if there were any tiles to render, the dirty state should be false.  The correct logic is to say that if we don't render during animation, dirty is true.
This commit is contained in:
Tim Schaub
2013-03-19 07:27:59 -06:00
parent 251d6fc488
commit 825a6d65e8

View File

@@ -335,6 +335,8 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame =
[geomFilter, extentFilter], ol.filter.LogicalOperator.AND))); [geomFilter, extentFilter], ol.filter.LogicalOperator.AND)));
} }
tilesOnSketchCanvas[key] = tileCoord; tilesOnSketchCanvas[key] = tileCoord;
} else {
this.dirty_ = true;
} }
} }
} }
@@ -356,7 +358,6 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame =
} }
} }
this.dirty_ = true;
for (key in tilesToRender) { for (key in tilesToRender) {
tileCoord = tilesToRender[key]; tileCoord = tilesToRender[key];
if (this.tileCache_.containsKey(key)) { if (this.tileCache_.containsKey(key)) {
@@ -372,7 +373,6 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame =
finalContext.drawImage(tile, finalContext.drawImage(tile,
tileSize.width * (tileCoord.x - tileRange.minX), tileSize.width * (tileCoord.x - tileRange.minX),
tileSize.height * (tileRange.maxY - tileCoord.y)); tileSize.height * (tileRange.maxY - tileCoord.y));
this.dirty_ = false;
} }
this.renderedResolution_ = tileResolution; this.renderedResolution_ = tileResolution;