summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/geometry_tile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/tile/geometry_tile.cpp')
-rw-r--r--src/mbgl/tile/geometry_tile.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp
index 9c83864a87..0faf7ae592 100644
--- a/src/mbgl/tile/geometry_tile.cpp
+++ b/src/mbgl/tile/geometry_tile.cpp
@@ -68,6 +68,10 @@ GeometryTile::~GeometryTile() {
markObsolete();
}
+bool GeometryTile::isFullyRenderable() const {
+ return renderable && !symbolBuckets.empty();
+}
+
void GeometryTile::cancel() {
markObsolete();
}
@@ -125,11 +129,11 @@ void GeometryTile::setShowCollisionBoxes(const bool showCollisionBoxes_) {
}
void GeometryTile::onLayout(LayoutResult result, const uint64_t resultCorrelationID) {
- // Don't mark ourselves loaded or renderable until the first successful placement
- // TODO: Ideally we'd render this tile without symbols as long as this tile wasn't
- // replacing a tile at a different zoom that _did_ have symbols.
+ loaded = true;
+ renderable = true;
(void)resultCorrelationID;
nonSymbolBuckets = std::move(result.nonSymbolBuckets);
+ symbolBuckets.clear();
featureIndex = std::move(result.featureIndex);
data = std::move(result.tileData);
observer->onTileChanged(*this);