diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-03-03 15:25:14 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-03-03 16:13:48 +0200 |
commit | 44ac1f008aeda27d13e6390405a3666ff522611b (patch) | |
tree | 6a09febcf5a071a78e3419654fd1d336035ee2b5 /src/mbgl/renderer | |
parent | 24fa5999038da096ce714e998061cf76610bb651 (diff) | |
download | qtlocation-mapboxgl-44ac1f008aeda27d13e6390405a3666ff522611b.tar.gz |
[core] Drop BucketPlacementParameters
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/bucket.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/renderer/render_layer.hpp | 1 |
5 files changed, 9 insertions, 7 deletions
diff --git a/src/mbgl/renderer/bucket.hpp b/src/mbgl/renderer/bucket.hpp index 4e28107f07..68d6c46b7f 100644 --- a/src/mbgl/renderer/bucket.hpp +++ b/src/mbgl/renderer/bucket.hpp @@ -19,7 +19,7 @@ class PatternDependency; using PatternLayerMap = std::map<std::string, PatternDependency>; class Placement; class TransformState; -class BucketPlacementParameters; +class BucketPlacementData; class RenderTile; class Bucket { @@ -64,7 +64,7 @@ public: return std::make_pair(0u, false); } // Places this bucket to the given placement. - virtual void place(Placement&, const BucketPlacementParameters&, std::set<uint32_t>&) {} + virtual void place(Placement&, const BucketPlacementData&, std::set<uint32_t>&) {} virtual void updateVertices( const Placement&, bool /*updateOpacities*/, const TransformState&, const RenderTile&, std::set<uint32_t>&) {} diff --git a/src/mbgl/renderer/buckets/symbol_bucket.cpp b/src/mbgl/renderer/buckets/symbol_bucket.cpp index af2a479c26..1858f29801 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.cpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.cpp @@ -314,8 +314,8 @@ std::pair<uint32_t, bool> SymbolBucket::registerAtCrossTileIndex(CrossTileSymbol return std::make_pair(bucketInstanceId, firstTimeAdded); } -void SymbolBucket::place(Placement& placement, const BucketPlacementParameters& params, std::set<uint32_t>& seenIds) { - placement.placeBucket(*this, params, seenIds); +void SymbolBucket::place(Placement& placement, const BucketPlacementData& data, std::set<uint32_t>& seenIds) { + placement.placeSymbolBucket(data, seenIds); } void SymbolBucket::updateVertices(const Placement& placement, diff --git a/src/mbgl/renderer/buckets/symbol_bucket.hpp b/src/mbgl/renderer/buckets/symbol_bucket.hpp index 3cdea1310c..752f92e889 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.hpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.hpp @@ -84,7 +84,7 @@ public: void upload(gfx::UploadPass&) override; bool hasData() const override; std::pair<uint32_t, bool> registerAtCrossTileIndex(CrossTileSymbolLayerIndex&, const RenderTile&) override; - void place(Placement&, const BucketPlacementParameters&, std::set<uint32_t>&) override; + void place(Placement&, const BucketPlacementData&, std::set<uint32_t>&) override; void updateVertices( const Placement&, bool updateOpacities, const TransformState&, const RenderTile&, std::set<uint32_t>&) override; bool hasTextData() const; diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index 8de6267045..1d8c0a70a8 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -575,6 +575,7 @@ void RenderSymbolLayer::prepare(const LayerPrepareParameters& params) { addRenderPassesFromTiles(); placementData.clear(); + for (const RenderTile& renderTile : *renderTiles) { auto* bucket = static_cast<SymbolBucket*>(renderTile.getBucket(*baseImpl)); if (bucket && bucket->bucketLeaderID == getID()) { @@ -586,10 +587,10 @@ void RenderSymbolLayer::prepare(const LayerPrepareParameters& params) { auto featureIndex = static_cast<const GeometryTile*>(tile)->getFeatureIndex(); if (bucket->sortKeyRanges.empty()) { - placementData.push_back({*bucket, renderTile, featureIndex, nullopt}); + placementData.push_back({*bucket, renderTile, featureIndex, baseImpl->source, nullopt}); } else { for (const auto& sortKeyRange : bucket->sortKeyRanges) { - BucketPlacementData layerData{*bucket, renderTile, featureIndex, sortKeyRange}; + BucketPlacementData layerData{*bucket, renderTile, featureIndex, baseImpl->source, sortKeyRange}; auto sortPosition = std::upper_bound( placementData.cbegin(), placementData.cend(), layerData, [](const auto& lhs, const auto& rhs) { assert(lhs.sortKeyRange && rhs.sortKeyRange); diff --git a/src/mbgl/renderer/render_layer.hpp b/src/mbgl/renderer/render_layer.hpp index 40d073d562..53dafb3b7b 100644 --- a/src/mbgl/renderer/render_layer.hpp +++ b/src/mbgl/renderer/render_layer.hpp @@ -41,6 +41,7 @@ public: std::reference_wrapper<Bucket> bucket; std::reference_wrapper<const RenderTile> tile; std::shared_ptr<FeatureIndex> featureIndex; + std::string sourceId; optional<SortKeyRange> sortKeyRange; }; |