diff options
Diffstat (limited to 'src/mbgl/style/paint_property.hpp')
-rw-r--r-- | src/mbgl/style/paint_property.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mbgl/style/paint_property.hpp b/src/mbgl/style/paint_property.hpp index 9031d590fe..1fa2390f33 100644 --- a/src/mbgl/style/paint_property.hpp +++ b/src/mbgl/style/paint_property.hpp @@ -97,6 +97,12 @@ public: values[klass ? ClassDictionary::Get().lookup(*klass) : ClassID::Default] = value_; } + const TransitionOptions& getTransition(const optional<std::string>& klass) const { + static const TransitionOptions staticValue{}; + const auto it = transitions.find(klass ? ClassDictionary::Get().lookup(*klass) : ClassID::Default); + return it == transitions.end() ? staticValue : it->second; + } + void setTransition(const TransitionOptions& transition, const optional<std::string>& klass) { transitions[klass ? ClassDictionary::Get().lookup(*klass) : ClassID::Default] = transition; } @@ -209,6 +215,11 @@ public: cascading.template get<P>().set(value, klass); } + template <class P> + void setTransition(const TransitionOptions& value, const optional<std::string>& klass) { + cascading.template get<P>().setTransition(value, klass); + } + void cascade(const CascadeParameters& parameters) { unevaluated = Unevaluated { cascading.template get<Ps>().cascade(parameters, |