summaryrefslogtreecommitdiff
path: root/src/mbgl/text/cross_tile_symbol_index.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/text/cross_tile_symbol_index.hpp')
-rw-r--r--src/mbgl/text/cross_tile_symbol_index.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mbgl/text/cross_tile_symbol_index.hpp b/src/mbgl/text/cross_tile_symbol_index.hpp
index 995e0061b9..5abcde241c 100644
--- a/src/mbgl/text/cross_tile_symbol_index.hpp
+++ b/src/mbgl/text/cross_tile_symbol_index.hpp
@@ -6,6 +6,7 @@
#include <mbgl/util/optional.hpp>
#include <map>
+#include <set>
#include <vector>
#include <string>
#include <memory>
@@ -32,7 +33,7 @@ public:
TileLayerIndex(OverscaledTileID coord, std::vector<SymbolInstance>&, uint32_t bucketInstanceId);
Point<int64_t> getScaledCoordinates(SymbolInstance&, const OverscaledTileID&);
- void findMatches(std::vector<SymbolInstance>&, const OverscaledTileID&);
+ void findMatches(std::vector<SymbolInstance>&, const OverscaledTileID&, std::set<uint32_t>&);
OverscaledTileID coord;
uint32_t bucketInstanceId;
@@ -45,7 +46,10 @@ public:
bool addBucket(const OverscaledTileID&, SymbolBucket&, uint32_t& maxCrossTileID);
bool removeStaleBuckets(const std::unordered_set<uint32_t>& currentIDs);
private:
- std::map<uint8_t,std::map<OverscaledTileID,TileLayerIndex>> indexes;
+ void removeBucketCrossTileIDs(uint8_t zoom, const TileLayerIndex& removedBucket);
+
+ std::map<uint8_t, std::map<OverscaledTileID,TileLayerIndex>> indexes;
+ std::map<uint8_t, std::set<uint32_t>> usedCrossTileIDs;
};
class CrossTileSymbolIndex {