diff options
Diffstat (limited to 'src/mbgl/text')
-rw-r--r-- | src/mbgl/text/placement.cpp | 12 | ||||
-rw-r--r-- | src/mbgl/text/placement.hpp | 10 |
2 files changed, 6 insertions, 16 deletions
diff --git a/src/mbgl/text/placement.cpp b/src/mbgl/text/placement.cpp index de8a5894bc..a0e55c6f86 100644 --- a/src/mbgl/text/placement.cpp +++ b/src/mbgl/text/placement.cpp @@ -111,10 +111,9 @@ Placement::Placement() : collisionIndex({}, MapMode::Static), collisionGroups(tr void Placement::placeLayer(const RenderLayer& layer) { std::set<uint32_t> seenCrossTileIDs; - for (const auto& item : layer.getPlacementData()) { - Bucket& bucket = item.bucket; - BucketPlacementParameters params{item.tile, layer.baseImpl->source, item.featureIndex, item.sortKeyRange}; - bucket.place(*this, params, seenCrossTileIDs); + for (const BucketPlacementData& data : layer.getPlacementData()) { + Bucket& bucket = data.bucket; + bucket.place(*this, data, seenCrossTileIDs); } } @@ -139,10 +138,9 @@ Point<float> calculateVariableLayoutOffset(style::SymbolAnchorType anchor, } } // namespace -void Placement::placeBucket(const SymbolBucket& bucket, - const BucketPlacementParameters& params, - std::set<uint32_t>& seenCrossTileIDs) { +void Placement::placeSymbolBucket(const BucketPlacementData& params, std::set<uint32_t>& seenCrossTileIDs) { assert(updateParameters); + const auto& bucket = static_cast<const SymbolBucket&>(params.bucket.get()); const auto& layout = *bucket.layout; const RenderTile& renderTile = params.tile; const auto& state = collisionIndex.getTransformState(); diff --git a/src/mbgl/text/placement.hpp b/src/mbgl/text/placement.hpp index cbb22dc404..df7345d4cc 100644 --- a/src/mbgl/text/placement.hpp +++ b/src/mbgl/text/placement.hpp @@ -86,14 +86,6 @@ private: bool crossSourceCollisions; }; -class BucketPlacementParameters { -public: - std::reference_wrapper<const RenderTile> tile; - std::string sourceId; - std::shared_ptr<FeatureIndex> featureIndex; - optional<SortKeyRange> sortKeyRange; -}; - class Placement; class PlacementController { @@ -132,7 +124,7 @@ public: private: friend SymbolBucket; - void placeBucket(const SymbolBucket&, const BucketPlacementParameters&, std::set<uint32_t>& seenCrossTileIDs); + void placeSymbolBucket(const BucketPlacementData&, std::set<uint32_t>& seenCrossTileIDs); // Returns `true` if bucket vertices were updated; returns `false` otherwise. bool updateBucketDynamicVertices(SymbolBucket&, const TransformState&, const RenderTile& tile) const; void updateBucketOpacities(SymbolBucket&, const TransformState&, std::set<uint32_t>&) const; |