diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-25 16:17:45 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-28 16:16:42 +0300 |
commit | 054645042a52de4d0b6d22d1ec033bc9197c9297 (patch) | |
tree | 0d3b950df885b7734483e0aa26c5139a60ba88c5 /src/mbgl/renderer | |
parent | a03f7b166b2fe68f63ca75337bd0ac0000cee135 (diff) | |
download | qtlocation-mapboxgl-054645042a52de4d0b6d22d1ec033bc9197c9297.tar.gz |
[core] Encapsulate symbol bucket placement code in Placement::placeLayerBucket()
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 | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/renderer/render_layer.hpp | 3 |
5 files changed, 5 insertions, 13 deletions
diff --git a/src/mbgl/renderer/bucket.hpp b/src/mbgl/renderer/bucket.hpp index 665fc1bfa5..6840d8c47a 100644 --- a/src/mbgl/renderer/bucket.hpp +++ b/src/mbgl/renderer/bucket.hpp @@ -58,8 +58,8 @@ public: virtual std::pair<uint32_t, bool> registerAtCrossTileIndex(CrossTileSymbolLayerIndex&, const OverscaledTileID&, uint32_t&) { return std::make_pair(0u, false); } - // Places this bucket to the given placement. Returns bucket cross-tile id on success call; `0` otherwise. - virtual uint32_t place(Placement&, const BucketPlacementParameters&, std::set<uint32_t>&) { return 0u; } + // Places this bucket to the given placement. + virtual void place(Placement&, const BucketPlacementParameters&, std::set<uint32_t>&) {} virtual void updateVertices(Placement&, bool /*updateOpacities*/, const RenderTile&, std::set<uint32_t>&) {} protected: diff --git a/src/mbgl/renderer/buckets/symbol_bucket.cpp b/src/mbgl/renderer/buckets/symbol_bucket.cpp index 06fccb8ffd..33ddd4d53c 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.cpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.cpp @@ -249,9 +249,8 @@ std::pair<uint32_t, bool> SymbolBucket::registerAtCrossTileIndex(CrossTileSymbol return std::make_pair(bucketInstanceId, firstTimeAdded); } -uint32_t SymbolBucket::place(Placement& placement, const BucketPlacementParameters& params, std::set<uint32_t>& seenIds) { +void SymbolBucket::place(Placement& placement, const BucketPlacementParameters& params, std::set<uint32_t>& seenIds) { placement.placeLayerBucket(*this, params, seenIds); - return bucketInstanceId; } void SymbolBucket::updateVertices(Placement& placement, bool updateOpacities, const RenderTile& tile, std::set<uint32_t>& seenIds) { diff --git a/src/mbgl/renderer/buckets/symbol_bucket.hpp b/src/mbgl/renderer/buckets/symbol_bucket.hpp index e47672f1cd..ed2ccd98c8 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.hpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.hpp @@ -59,7 +59,7 @@ public: void upload(gfx::UploadPass&) override; bool hasData() const override; std::pair<uint32_t, bool> registerAtCrossTileIndex(CrossTileSymbolLayerIndex&, const OverscaledTileID&, uint32_t& maxCrossTileID) override; - uint32_t place(Placement&, const BucketPlacementParameters&, std::set<uint32_t>&) override; + void place(Placement&, const BucketPlacementParameters&, std::set<uint32_t>&) override; void updateVertices(Placement&, bool updateOpacities, const RenderTile&, std::set<uint32_t>&) override; bool hasTextData() const; bool hasIconData() const; diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index 235f0dfdfb..11469f27cc 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -521,12 +521,8 @@ void RenderSymbolLayer::prepare(const LayerPrepareParameters& params) { for (RenderTile& renderTile : renderTiles) { auto* bucket = static_cast<SymbolBucket*>(renderTile.getBucket(*baseImpl)); if (bucket && bucket->bucketLeaderID == getID()) { - auto& layout = bucket->layout; - bool pitchWithMap = layout.get<style::TextPitchAlignment>() == style::AlignmentType::Map; - bool rotateWithMap = layout.get<style::TextRotationAlignment>() == style::AlignmentType::Map; - // Only place this layer if it's the "group leader" for the bucket - placementData.push_back({*bucket, renderTile, pitchWithMap, rotateWithMap}); + placementData.push_back({*bucket, renderTile}); } } } diff --git a/src/mbgl/renderer/render_layer.hpp b/src/mbgl/renderer/render_layer.hpp index 3208bf1320..3d5bc2c545 100644 --- a/src/mbgl/renderer/render_layer.hpp +++ b/src/mbgl/renderer/render_layer.hpp @@ -18,7 +18,6 @@ class PaintParameters; class RenderSource; class RenderTile; class TransformState; -class GeometryTile; class LayerRenderData { public: @@ -30,8 +29,6 @@ class LayerPlacementData { public: std::reference_wrapper<Bucket> bucket; std::reference_wrapper<RenderTile> tile; - bool pitchWithMap; - bool rotateWithMap; }; class LayerPrepareParameters { |