diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-16 15:53:47 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-19 18:15:33 +0300 |
commit | 9fe5256ce7121e28572239757df63a7c20144be5 (patch) | |
tree | 5cc4329450c9bf4c140f4bfa3a0f845c95406afe /src/mbgl/renderer/buckets | |
parent | 18ddced9b6de8194fe0cb3464ec8b3a56139a063 (diff) | |
download | qtlocation-mapboxgl-9fe5256ce7121e28572239757df63a7c20144be5.tar.gz |
[core] Avoid bucket downcasting in Placement
Diffstat (limited to 'src/mbgl/renderer/buckets')
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.cpp | 10 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.hpp | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/mbgl/renderer/buckets/symbol_bucket.cpp b/src/mbgl/renderer/buckets/symbol_bucket.cpp index 8af40f6e3e..381ef5b24b 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.cpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.cpp @@ -4,6 +4,7 @@ #include <mbgl/style/layers/symbol_layer_impl.hpp> #include <mbgl/text/cross_tile_symbol_index.hpp> #include <mbgl/text/glyph_atlas.hpp> +#include <mbgl/text/placement.hpp> namespace mbgl { @@ -245,4 +246,13 @@ std::pair<uint32_t, bool> SymbolBucket::registerAtCrossTileIndex(CrossTileSymbol return std::make_pair(bucketInstanceId, added); } +uint32_t SymbolBucket::place(Placement& placement, const BucketPlacementParameters& params, std::set<uint32_t>& seenIds) { + placement.placeLayerBucket(*this, params, seenIds); + return bucketInstanceId; +} + +void SymbolBucket::updateOpacities(Placement& placement, std::set<uint32_t>& seenIds) { + placement.updateBucketOpacities(*this, seenIds); +} + } // namespace mbgl diff --git a/src/mbgl/renderer/buckets/symbol_bucket.hpp b/src/mbgl/renderer/buckets/symbol_bucket.hpp index dc3aa64567..3b61002890 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.hpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.hpp @@ -59,6 +59,8 @@ 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 updateOpacities(Placement&, std::set<uint32_t>&) override; bool hasTextData() const; bool hasIconData() const; bool hasCollisionBoxData() const; |