summaryrefslogtreecommitdiff
path: root/src/mbgl/style
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2016-12-03 15:36:42 -0800
committerMinh Nguyễn <mxn@1ec5.org>2016-12-03 15:36:42 -0800
commit3503c0e7679d5802068fc2ab2420b575a8ae2fc7 (patch)
treed1cfdd3ca2f2fb9761466a61e77d82d8f6b76002 /src/mbgl/style
parent84038832e45c2445b43b39ccb2f9e29c8646dac0 (diff)
parent9eb7f88b2c292d322a104c4580c3ef29958b628b (diff)
downloadqtlocation-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.cpp27
-rw-r--r--src/mbgl/style/style.hpp3
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 = {});