diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-09-13 18:30:48 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-09-19 14:51:32 +0300 |
commit | 870f306f680a26d2a4994d46cadb1fd664696396 (patch) | |
tree | 89473e1b774365a10103283f13ede7b27a665205 /src/mbgl/text | |
parent | f997ae00ae960f38d6920a625fcb7237e5909f9c (diff) | |
download | qtlocation-mapboxgl-870f306f680a26d2a4994d46cadb1fd664696396.tar.gz |
[core] Update buckets in Renderer
Diffstat (limited to 'src/mbgl/text')
-rw-r--r-- | src/mbgl/text/placement.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/text/placement.hpp | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/mbgl/text/placement.cpp b/src/mbgl/text/placement.cpp index 9e3600aa97..17c3459f91 100644 --- a/src/mbgl/text/placement.cpp +++ b/src/mbgl/text/placement.cpp @@ -58,7 +58,7 @@ const CollisionGroups::CollisionGroup& CollisionGroups::get(const std::string& s } } -Placement::Placement(const TransformState& state_, MapMode mapMode_, style::TransitionOptions transitionOptions_, const bool crossSourceCollisions, std::unique_ptr<Placement> prevPlacement_) +Placement::Placement(const TransformState& state_, MapMode mapMode_, style::TransitionOptions transitionOptions_, const bool crossSourceCollisions, std::shared_ptr<const Placement> prevPlacement_) : collisionIndex(state_) , mapMode(mapMode_) , transitionOptions(std::move(transitionOptions_)) @@ -514,7 +514,7 @@ void Placement::commit(TimePoint now, const double zoom) { fadeStartTime = placementChanged ? commitTime : prevPlacement->fadeStartTime; } -void Placement::updateLayerBuckets(const RenderLayer& layer, const TransformState& state, bool updateOpacities) { +void Placement::updateLayerBuckets(const RenderLayer& layer, const TransformState& state, bool updateOpacities) const { std::set<uint32_t> seenCrossTileIDs; for (const auto& item : layer.getPlacementData()) { item.bucket.get().updateVertices(*this, updateOpacities, state, item.tile, seenCrossTileIDs); diff --git a/src/mbgl/text/placement.hpp b/src/mbgl/text/placement.hpp index 1cefaf978c..917cf8bded 100644 --- a/src/mbgl/text/placement.hpp +++ b/src/mbgl/text/placement.hpp @@ -100,10 +100,10 @@ public: class Placement { public: - Placement(const TransformState&, MapMode, style::TransitionOptions, const bool crossSourceCollisions, std::unique_ptr<Placement> prevPlacementOrNull = nullptr); + Placement(const TransformState&, MapMode, style::TransitionOptions, const bool crossSourceCollisions, std::shared_ptr<const Placement> prevPlacement = nullptr); void placeLayer(const RenderLayer&, const mat4&, bool showCollisionBoxes); void commit(TimePoint, const double zoom); - void updateLayerBuckets(const RenderLayer&, const TransformState&, bool updateOpacities); + void updateLayerBuckets(const RenderLayer&, const TransformState&, bool updateOpacities) const; float symbolFadeChange(TimePoint now) const; bool hasTransitions(TimePoint now) const; @@ -147,7 +147,7 @@ private: std::unordered_map<uint32_t, RetainedQueryData> retainedQueryData; CollisionGroups collisionGroups; - std::unique_ptr<Placement> prevPlacement; + mutable std::shared_ptr<const Placement> prevPlacement; optional<Duration> maximumUpdatePeriod; // Used for debug purposes. |