summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2020-02-25 10:19:56 +0200
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2020-02-26 18:15:23 +0200
commit713299c429ab494e4cc3347d9dcd76b67ba2522c (patch)
tree4cf300eba41085538c879cef54e7895b72669a3a /include
parent950fdcd44773ecbd4720e6c7bce7c6b7d1c7f596 (diff)
downloadqtlocation-mapboxgl-713299c429ab494e4cc3347d9dcd76b67ba2522c.tar.gz
[core] Add layer serialization method
Diffstat (limited to 'include')
-rw-r--r--include/mbgl/style/filter.hpp2
-rw-r--r--include/mbgl/style/layer.hpp2
-rw-r--r--include/mbgl/style/layers/layer.hpp.ejs1
3 files changed, 5 insertions, 0 deletions
diff --git a/include/mbgl/style/filter.hpp b/include/mbgl/style/filter.hpp
index c9dc9fb1ec..e0623a20d4 100644
--- a/include/mbgl/style/filter.hpp
+++ b/include/mbgl/style/filter.hpp
@@ -28,6 +28,8 @@ public:
bool operator()(const expression::EvaluationContext& context) const;
+ operator bool() const { return expression || legacyFilter; }
+
friend bool operator==(const Filter& lhs, const Filter& rhs) {
if (!lhs.expression || !rhs.expression) {
return lhs.expression == rhs.expression;
diff --git a/include/mbgl/style/layer.hpp b/include/mbgl/style/layer.hpp
index c80312bc23..840ef9ce88 100644
--- a/include/mbgl/style/layer.hpp
+++ b/include/mbgl/style/layer.hpp
@@ -114,6 +114,7 @@ public:
optional<conversion::Error> setVisibility(const conversion::Convertible& value);
virtual StyleProperty getProperty(const std::string&) const = 0;
+ virtual Value serialize() const;
// Private implementation
// TODO : We should not have public mutable data members.
@@ -140,6 +141,7 @@ public:
protected:
virtual Mutable<Impl> mutableBaseImpl() const = 0;
+ void serializeProperty(Value&, const StyleProperty&, const char* propertyName, bool isPaint) const;
LayerObserver* observer;
mapbox::base::WeakPtrFactory<Layer> weakFactory {this};
diff --git a/include/mbgl/style/layers/layer.hpp.ejs b/include/mbgl/style/layers/layer.hpp.ejs
index 3709f53bee..aecbe25601 100644
--- a/include/mbgl/style/layers/layer.hpp.ejs
+++ b/include/mbgl/style/layers/layer.hpp.ejs
@@ -40,6 +40,7 @@ public:
optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
<% if (layoutProperties.length) { -%>
// Layout properties