diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2016-12-03 15:36:42 -0800 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2016-12-03 15:36:42 -0800 |
commit | 3503c0e7679d5802068fc2ab2420b575a8ae2fc7 (patch) | |
tree | d1cfdd3ca2f2fb9761466a61e77d82d8f6b76002 /src/mbgl/style | |
parent | 84038832e45c2445b43b39ccb2f9e29c8646dac0 (diff) | |
parent | 9eb7f88b2c292d322a104c4580c3ef29958b628b (diff) | |
download | qtlocation-mapboxgl-3503c0e7679d5802068fc2ab2420b575a8ae2fc7.tar.gz |
Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.0-beta.4-master
Diffstat (limited to 'src/mbgl/style')
-rw-r--r-- | src/mbgl/style/style.cpp | 27 | ||||
-rw-r--r-- | src/mbgl/style/style.hpp | 3 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index 44843ce8b7..f16e8f1856 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -175,6 +175,15 @@ std::vector<const Layer*> Style::getLayers() const { return result; } +std::vector<Layer*> Style::getLayers() { + std::vector<Layer*> result; + result.reserve(layers.size()); + for (auto& layer : layers) { + result.push_back(layer.get()); + } + return result; +} + std::vector<std::unique_ptr<Layer>>::const_iterator Style::findLayer(const std::string& id) const { return std::find_if(layers.begin(), layers.end(), [&](const auto& layer) { return layer->baseImpl->id == id; @@ -333,6 +342,24 @@ void Style::recalculate(float z, const TimePoint& timePoint, MapMode mode) { } } +std::vector<const Source*> Style::getSources() const { + std::vector<const Source*> result; + result.reserve(sources.size()); + for (const auto& source : sources) { + result.push_back(source.get()); + } + return result; +} + +std::vector<Source*> Style::getSources() { + std::vector<Source*> result; + result.reserve(sources.size()); + for (auto& source : sources) { + result.push_back(source.get()); + } + return result; +} + Source* Style::getSource(const std::string& id) const { const auto it = std::find_if(sources.begin(), sources.end(), [&](const auto& source) { return source->getID() == id; diff --git a/src/mbgl/style/style.hpp b/src/mbgl/style/style.hpp index 4ad540acd1..d46e80e8bf 100644 --- a/src/mbgl/style/style.hpp +++ b/src/mbgl/style/style.hpp @@ -64,11 +64,14 @@ public: return lastError; } + std::vector<const Source*> getSources() const; + std::vector<Source*> getSources(); Source* getSource(const std::string& id) const; void addSource(std::unique_ptr<Source>); std::unique_ptr<Source> removeSource(const std::string& sourceID); std::vector<const Layer*> getLayers() const; + std::vector<Layer*> getLayers(); Layer* getLayer(const std::string& id) const; Layer* addLayer(std::unique_ptr<Layer>, optional<std::string> beforeLayerID = {}); |