summaryrefslogtreecommitdiff
path: root/src/mbgl/text
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/text')
-rw-r--r--src/mbgl/text/placement.cpp12
-rw-r--r--src/mbgl/text/placement.hpp10
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;