1 // This file is generated. Do not edit.
2 
3 #include <mbgl/style/light.hpp>
4 #include <mbgl/style/light_impl.hpp>
5 #include <mbgl/style/light_observer.hpp>
6 
7 namespace mbgl {
8 namespace style {
9 
10 static LightObserver nullObserver;
11 
Light()12 Light::Light()
13     : impl(makeMutable<Impl>()),
14       observer(&nullObserver) {
15 }
16 
17 Light::~Light() = default;
18 
setObserver(LightObserver * observer_)19 void Light::setObserver(LightObserver* observer_) {
20     observer = observer_ ? observer_ : &nullObserver;
21 }
22 
mutableImpl() const23 Mutable<Light::Impl> Light::mutableImpl() const {
24     return makeMutable<Impl>(*impl);
25 }
26 
getDefaultAnchor()27 LightAnchorType Light::getDefaultAnchor() {
28     return LightAnchor::defaultValue();
29 }
30 
getAnchor() const31 PropertyValue<LightAnchorType> Light::getAnchor() const {
32     return impl->properties.template get<LightAnchor>().value;
33 }
34 
setAnchor(PropertyValue<LightAnchorType> property)35 void Light::setAnchor(PropertyValue<LightAnchorType> property) {
36     auto impl_ = mutableImpl();
37     impl_->properties.template get<LightAnchor>().value = property;
38     impl = std::move(impl_);
39     observer->onLightChanged(*this);
40 }
41 
setAnchorTransition(const TransitionOptions & options)42 void Light::setAnchorTransition(const TransitionOptions& options) {
43     auto impl_ = mutableImpl();
44     impl_->properties.template get<LightAnchor>().options = options;
45     impl = std::move(impl_);
46     observer->onLightChanged(*this);
47 }
48 
getAnchorTransition() const49 TransitionOptions Light::getAnchorTransition() const {
50     return impl->properties.template get<LightAnchor>().options;
51 }
52 
getDefaultPosition()53 Position Light::getDefaultPosition() {
54     return LightPosition::defaultValue();
55 }
56 
getPosition() const57 PropertyValue<Position> Light::getPosition() const {
58     return impl->properties.template get<LightPosition>().value;
59 }
60 
setPosition(PropertyValue<Position> property)61 void Light::setPosition(PropertyValue<Position> property) {
62     auto impl_ = mutableImpl();
63     impl_->properties.template get<LightPosition>().value = property;
64     impl = std::move(impl_);
65     observer->onLightChanged(*this);
66 }
67 
setPositionTransition(const TransitionOptions & options)68 void Light::setPositionTransition(const TransitionOptions& options) {
69     auto impl_ = mutableImpl();
70     impl_->properties.template get<LightPosition>().options = options;
71     impl = std::move(impl_);
72     observer->onLightChanged(*this);
73 }
74 
getPositionTransition() const75 TransitionOptions Light::getPositionTransition() const {
76     return impl->properties.template get<LightPosition>().options;
77 }
78 
getDefaultColor()79 Color Light::getDefaultColor() {
80     return LightColor::defaultValue();
81 }
82 
getColor() const83 PropertyValue<Color> Light::getColor() const {
84     return impl->properties.template get<LightColor>().value;
85 }
86 
setColor(PropertyValue<Color> property)87 void Light::setColor(PropertyValue<Color> property) {
88     auto impl_ = mutableImpl();
89     impl_->properties.template get<LightColor>().value = property;
90     impl = std::move(impl_);
91     observer->onLightChanged(*this);
92 }
93 
setColorTransition(const TransitionOptions & options)94 void Light::setColorTransition(const TransitionOptions& options) {
95     auto impl_ = mutableImpl();
96     impl_->properties.template get<LightColor>().options = options;
97     impl = std::move(impl_);
98     observer->onLightChanged(*this);
99 }
100 
getColorTransition() const101 TransitionOptions Light::getColorTransition() const {
102     return impl->properties.template get<LightColor>().options;
103 }
104 
getDefaultIntensity()105 float Light::getDefaultIntensity() {
106     return LightIntensity::defaultValue();
107 }
108 
getIntensity() const109 PropertyValue<float> Light::getIntensity() const {
110     return impl->properties.template get<LightIntensity>().value;
111 }
112 
setIntensity(PropertyValue<float> property)113 void Light::setIntensity(PropertyValue<float> property) {
114     auto impl_ = mutableImpl();
115     impl_->properties.template get<LightIntensity>().value = property;
116     impl = std::move(impl_);
117     observer->onLightChanged(*this);
118 }
119 
setIntensityTransition(const TransitionOptions & options)120 void Light::setIntensityTransition(const TransitionOptions& options) {
121     auto impl_ = mutableImpl();
122     impl_->properties.template get<LightIntensity>().options = options;
123     impl = std::move(impl_);
124     observer->onLightChanged(*this);
125 }
126 
getIntensityTransition() const127 TransitionOptions Light::getIntensityTransition() const {
128     return impl->properties.template get<LightIntensity>().options;
129 }
130 
131 
132 } // namespace style
133 } // namespace mbgl
134