diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-22 16:41:40 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-24 10:54:06 +0300 |
commit | aa3a7cf02f2b5d0b99bec9d335c9681dcfa38426 (patch) | |
tree | 08d9826c1b419960a1e7a03b6fefb6d21aeab923 /src/mbgl/renderer/bucket.hpp | |
parent | d8e9acd0f510a811f5c1fa87738be646ff83b715 (diff) | |
download | qtlocation-mapboxgl-aa3a7cf02f2b5d0b99bec9d335c9681dcfa38426.tar.gz |
[core] SymbolBucket updates complete at placement stage
`RenderSymbolLayer` does not have to update dynamic vertices of its buckets, this logic is moved to placement (which is already updates opacity vertices).
* fixes clustering of labels when text variable placement enabled - as assignes `usesVariablePlacement` per bucket
* simplifies the code in `RenderSymbolLayer` (the `RenderSymbolLayer::upload()` is now omitted).
* symbol buckets are not modified after orchestration finishes
Diffstat (limited to 'src/mbgl/renderer/bucket.hpp')
-rw-r--r-- | src/mbgl/renderer/bucket.hpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mbgl/renderer/bucket.hpp b/src/mbgl/renderer/bucket.hpp index c02e2ec341..665fc1bfa5 100644 --- a/src/mbgl/renderer/bucket.hpp +++ b/src/mbgl/renderer/bucket.hpp @@ -19,6 +19,7 @@ class PatternDependency; using PatternLayerMap = std::map<std::string, PatternDependency>; class Placement; class BucketPlacementParameters; +class RenderTile; class Bucket { public: @@ -59,7 +60,7 @@ public: } // 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; } - virtual void updateOpacities(Placement&, std::set<uint32_t>&) {} + virtual void updateVertices(Placement&, bool /*updateOpacities*/, const RenderTile&, std::set<uint32_t>&) {} protected: Bucket() = default; |