1 #pragma once 2 3 #include <mbgl/style/light_impl.hpp> 4 #include <mbgl/util/immutable.hpp> 5 6 namespace mbgl { 7 8 class TransitionParameters; 9 class PropertyEvaluationParameters; 10 11 using TransitioningLight = style::LightProperties::Unevaluated; 12 using EvaluatedLight = style::LightProperties::PossiblyEvaluated; 13 14 class RenderLight { 15 public: 16 RenderLight(Immutable<style::Light::Impl>); 17 18 void transition(const TransitionParameters&); 19 void evaluate(const PropertyEvaluationParameters&); 20 bool hasTransition() const; 21 22 const EvaluatedLight& getEvaluated() const; 23 24 Immutable<style::Light::Impl> impl; 25 26 private: 27 TransitioningLight transitioning; 28 EvaluatedLight evaluated; 29 }; 30 31 } // namespace mbgl 32