diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2015-11-27 10:35:09 +0200 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2015-11-27 17:47:02 +0200 |
commit | d55aa7929cb10d40a58b6b7a8ed73bddd4f0a407 (patch) | |
tree | b2ce29bdba9df471693d4e7ac6e6dfe4b8adfe63 /src/mbgl/annotation | |
parent | 1f0820c8e82810fb957cb1cd17fb4327debfc0e5 (diff) | |
download | qtlocation-mapboxgl-d55aa7929cb10d40a58b6b7a8ed73bddd4f0a407.tar.gz |
[core] Source should receive a ref to MapData just once
Diffstat (limited to 'src/mbgl/annotation')
-rw-r--r-- | src/mbgl/annotation/annotation_manager.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/annotation/annotation_manager.hpp | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/mbgl/annotation/annotation_manager.cpp b/src/mbgl/annotation/annotation_manager.cpp index 5b1138a14a..c6d5413ec0 100644 --- a/src/mbgl/annotation/annotation_manager.cpp +++ b/src/mbgl/annotation/annotation_manager.cpp @@ -1,5 +1,6 @@ #include <mbgl/annotation/annotation_manager.hpp> #include <mbgl/annotation/annotation_tile.hpp> +#include <mbgl/map/map_data.hpp> #include <mbgl/style/style.hpp> #include <mbgl/layer/symbol_layer.hpp> @@ -10,7 +11,8 @@ namespace mbgl { const std::string AnnotationManager::SourceID = "com.mapbox.annotations"; const std::string AnnotationManager::PointLayerID = "com.mapbox.annotations.points"; -AnnotationManager::AnnotationManager() = default; +AnnotationManager::AnnotationManager(MapData& data_) : data(data_) {} + AnnotationManager::~AnnotationManager() = default; AnnotationIDs @@ -108,7 +110,7 @@ std::unique_ptr<AnnotationTile> AnnotationManager::getTile(const TileID& tileID) void AnnotationManager::updateStyle(Style& style) { // Create annotation source, point layer, and point bucket if (!style.getSource(SourceID)) { - std::unique_ptr<Source> source = std::make_unique<Source>(); + std::unique_ptr<Source> source = std::make_unique<Source>(data); source->info.type = SourceType::Annotations; source->info.source_id = SourceID; source->enabled = true; diff --git a/src/mbgl/annotation/annotation_manager.hpp b/src/mbgl/annotation/annotation_manager.hpp index f1b41c9ccc..16ebd16716 100644 --- a/src/mbgl/annotation/annotation_manager.hpp +++ b/src/mbgl/annotation/annotation_manager.hpp @@ -13,6 +13,7 @@ namespace mbgl { +class MapData; class PointAnnotation; class ShapeAnnotation; class AnnotationTile; @@ -21,7 +22,7 @@ class Style; class AnnotationManager : private util::noncopyable { public: - AnnotationManager(); + AnnotationManager(MapData&); ~AnnotationManager(); AnnotationIDs addPointAnnotations(const std::vector<PointAnnotation>&, const uint8_t maxZoom); @@ -42,6 +43,7 @@ public: private: std::unique_ptr<AnnotationTile> getTile(const TileID&); + MapData& data; AnnotationID nextID = 0; PointAnnotationImpl::Tree pointTree; PointAnnotationImpl::Map pointAnnotations; |