diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-04-14 16:00:36 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-04-15 09:56:18 -0700 |
commit | 25ff2696a1c6741a5a61334f1bd965e9d5099f05 (patch) | |
tree | 7057c8decb0b7137b372e8e6350070e8ed1419e9 | |
parent | ce4270b01c692bcb1af64a774e2d595438057375 (diff) | |
download | qtlocation-mapboxgl-25ff2696a1c6741a5a61334f1bd965e9d5099f05.tar.gz |
[core] Remove MapData dependency from AnnotationTile and StyleUpdateParameters
-rw-r--r-- | src/mbgl/annotation/annotation_tile.cpp | 8 | ||||
-rw-r--r-- | src/mbgl/annotation/annotation_tile.hpp | 7 | ||||
-rw-r--r-- | src/mbgl/source/source.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/style/style.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/style/style_update_parameters.hpp | 8 |
5 files changed, 13 insertions, 14 deletions
diff --git a/src/mbgl/annotation/annotation_tile.cpp b/src/mbgl/annotation/annotation_tile.cpp index ee468902cb..a8195d0dc8 100644 --- a/src/mbgl/annotation/annotation_tile.cpp +++ b/src/mbgl/annotation/annotation_tile.cpp @@ -28,18 +28,18 @@ util::ptr<GeometryTileLayer> AnnotationTile::getLayer(const std::string& name) c return nullptr; } -AnnotationTileMonitor::AnnotationTileMonitor(const TileID& tileID_, MapData& data_) +AnnotationTileMonitor::AnnotationTileMonitor(const TileID& tileID_, AnnotationManager& annotationManager_) : tileID(tileID_), - data(data_) { + annotationManager(annotationManager_) { } AnnotationTileMonitor::~AnnotationTileMonitor() { - data.getAnnotationManager()->removeTileMonitor(*this); + annotationManager.removeTileMonitor(*this); } std::unique_ptr<AsyncRequest> AnnotationTileMonitor::monitorTile(const GeometryTileMonitor::Callback& callback_) { callback = callback_; - data.getAnnotationManager()->addTileMonitor(*this); + annotationManager.addTileMonitor(*this); return nullptr; } diff --git a/src/mbgl/annotation/annotation_tile.hpp b/src/mbgl/annotation/annotation_tile.hpp index ca6b074c21..bd233e8057 100644 --- a/src/mbgl/annotation/annotation_tile.hpp +++ b/src/mbgl/annotation/annotation_tile.hpp @@ -38,12 +38,11 @@ public: std::map<std::string, util::ptr<AnnotationTileLayer>> layers; }; -class MapData; +class AnnotationManager; class AnnotationTileMonitor : public GeometryTileMonitor { public: - // TODO: should just take AnnotationManager&, but we need to eliminate util::exclusive<AnnotationManager> from MapData first. - AnnotationTileMonitor(const TileID&, MapData&); + AnnotationTileMonitor(const TileID&, AnnotationManager&); ~AnnotationTileMonitor(); void update(std::unique_ptr<GeometryTile>); @@ -52,7 +51,7 @@ public: TileID tileID; private: - MapData& data; + AnnotationManager& annotationManager; GeometryTileMonitor::Callback callback; }; diff --git a/src/mbgl/source/source.cpp b/src/mbgl/source/source.cpp index 5dc61c02cf..01819b3823 100644 --- a/src/mbgl/source/source.cpp +++ b/src/mbgl/source/source.cpp @@ -267,7 +267,7 @@ TileData::State Source::addTile(const TileID& tileID, const StyleUpdateParameter if (type == SourceType::Vector) { monitor = std::make_unique<VectorTileMonitor>(normalizedID, parameters.pixelRatio, info->tiles.at(0), parameters.fileSource); } else if (type == SourceType::Annotations) { - monitor = std::make_unique<AnnotationTileMonitor>(normalizedID, parameters.data); + monitor = std::make_unique<AnnotationTileMonitor>(normalizedID, parameters.annotationManager); } else if (type == SourceType::GeoJSON) { monitor = std::make_unique<GeoJSONTileMonitor>(geojsonvt.get(), normalizedID); } else { diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index e2f8e74845..fc2bebdafc 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -159,7 +159,7 @@ void Style::update(const TransformState& transform, const TimePoint& timePoint, texturePool, shouldReparsePartialTiles, data.mode, - data, + *data.getAnnotationManager(), *this); for (const auto& source : sources) { diff --git a/src/mbgl/style/style_update_parameters.hpp b/src/mbgl/style/style_update_parameters.hpp index 9ea7e112eb..e620f249f8 100644 --- a/src/mbgl/style/style_update_parameters.hpp +++ b/src/mbgl/style/style_update_parameters.hpp @@ -8,9 +8,9 @@ namespace mbgl { class TransformState; class Worker; class FileSource; -class MapData; class Style; namespace gl { class TexturePool; } +class AnnotationManager; class StyleUpdateParameters { public: @@ -23,7 +23,7 @@ public: gl::TexturePool& texturePool_, bool shouldReparsePartialTiles_, const MapMode mode_, - MapData& data_, + AnnotationManager& annotationManager_, Style& style_) : pixelRatio(pixelRatio_), debugOptions(debugOptions_), @@ -34,7 +34,7 @@ public: texturePool(texturePool_), shouldReparsePartialTiles(shouldReparsePartialTiles_), mode(mode_), - data(data_), + annotationManager(annotationManager_), style(style_) {} float pixelRatio; @@ -46,9 +46,9 @@ public: gl::TexturePool& texturePool; bool shouldReparsePartialTiles; const MapMode mode; + AnnotationManager& annotationManager; // TODO: remove - MapData& data; Style& style; }; |