diff options
author | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2020-02-25 10:19:56 +0200 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2020-02-26 18:15:23 +0200 |
commit | 713299c429ab494e4cc3347d9dcd76b67ba2522c (patch) | |
tree | 4cf300eba41085538c879cef54e7895b72669a3a /include | |
parent | 950fdcd44773ecbd4720e6c7bce7c6b7d1c7f596 (diff) | |
download | qtlocation-mapboxgl-713299c429ab494e4cc3347d9dcd76b67ba2522c.tar.gz |
[core] Add layer serialization method
Diffstat (limited to 'include')
-rw-r--r-- | include/mbgl/style/filter.hpp | 2 | ||||
-rw-r--r-- | include/mbgl/style/layer.hpp | 2 | ||||
-rw-r--r-- | include/mbgl/style/layers/layer.hpp.ejs | 1 |
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 |