diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-05-04 19:21:08 +0300 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-05-08 19:39:55 +0300 |
commit | 6fd40867d67eb3758c0eb8eca184ed9d7b9da5b0 (patch) | |
tree | 36fede4f7dfeb01a6835f53a185dad47f3153481 /src/mbgl/style/light.cpp | |
parent | feae5e22ee4910a1508f2120c8131b2f8531bae8 (diff) | |
download | qtlocation-mapboxgl-6fd40867d67eb3758c0eb8eca184ed9d7b9da5b0.tar.gz |
[core] delegate light changes to render light
Diffstat (limited to 'src/mbgl/style/light.cpp')
-rw-r--r-- | src/mbgl/style/light.cpp | 71 |
1 files changed, 31 insertions, 40 deletions
diff --git a/src/mbgl/style/light.cpp b/src/mbgl/style/light.cpp index 0a9cbbee9a..b54920713c 100644 --- a/src/mbgl/style/light.cpp +++ b/src/mbgl/style/light.cpp @@ -7,30 +7,32 @@ namespace mbgl { namespace style { +Light::Light() + : impl(std::make_unique<Impl>()) { +} + +Light::~Light() = default; + LightAnchorType Light::getDefaultAnchor() { return LightAnchor::defaultValue(); } PropertyValue<LightAnchorType> Light::getAnchor() const { - return properties.get<LightAnchor>().value; + return impl->properties.template get<LightAnchor>().value; } void Light::setAnchor(PropertyValue<LightAnchorType> property) { - properties.get<LightAnchor>().value = property; - if (observer) { - observer->onLightChanged(*this); - } + impl->properties.template get<LightAnchor>().value = property; + impl->observer->onLightChanged(*this); } void Light::setAnchorTransition(const TransitionOptions& transition) { - properties.get<LightAnchor>().transition = transition; - if (observer) { - observer->onLightChanged(*this); - } + impl->properties.template get<LightAnchor>().transition = transition; + impl->observer->onLightChanged(*this); } TransitionOptions Light::getAnchorTransition() const { - return properties.get<LightAnchor>().transition; + return impl->properties.template get<LightAnchor>().transition; } Position Light::getDefaultPosition() { @@ -38,25 +40,21 @@ Position Light::getDefaultPosition() { } PropertyValue<Position> Light::getPosition() const { - return properties.get<LightPosition>().value; + return impl->properties.template get<LightPosition>().value; } void Light::setPosition(PropertyValue<Position> property) { - properties.get<LightPosition>().value = property; - if (observer) { - observer->onLightChanged(*this); - } + impl->properties.template get<LightPosition>().value = property; + impl->observer->onLightChanged(*this); } void Light::setPositionTransition(const TransitionOptions& transition) { - properties.get<LightPosition>().transition = transition; - if (observer) { - observer->onLightChanged(*this); - } + impl->properties.template get<LightPosition>().transition = transition; + impl->observer->onLightChanged(*this); } TransitionOptions Light::getPositionTransition() const { - return properties.get<LightPosition>().transition; + return impl->properties.template get<LightPosition>().transition; } Color Light::getDefaultColor() { @@ -64,25 +62,21 @@ Color Light::getDefaultColor() { } PropertyValue<Color> Light::getColor() const { - return properties.get<LightColor>().value; + return impl->properties.template get<LightColor>().value; } void Light::setColor(PropertyValue<Color> property) { - properties.get<LightColor>().value = property; - if (observer) { - observer->onLightChanged(*this); - } + impl->properties.template get<LightColor>().value = property; + impl->observer->onLightChanged(*this); } void Light::setColorTransition(const TransitionOptions& transition) { - properties.get<LightColor>().transition = transition; - if (observer) { - observer->onLightChanged(*this); - } + impl->properties.template get<LightColor>().transition = transition; + impl->observer->onLightChanged(*this); } TransitionOptions Light::getColorTransition() const { - return properties.get<LightColor>().transition; + return impl->properties.template get<LightColor>().transition; } float Light::getDefaultIntensity() { @@ -90,26 +84,23 @@ float Light::getDefaultIntensity() { } PropertyValue<float> Light::getIntensity() const { - return properties.get<LightIntensity>().value; + return impl->properties.template get<LightIntensity>().value; } void Light::setIntensity(PropertyValue<float> property) { - properties.get<LightIntensity>().value = property; - if (observer) { - observer->onLightChanged(*this); - } + impl->properties.template get<LightIntensity>().value = property; + impl->observer->onLightChanged(*this); } void Light::setIntensityTransition(const TransitionOptions& transition) { - properties.get<LightIntensity>().transition = transition; - if (observer) { - observer->onLightChanged(*this); - } + impl->properties.template get<LightIntensity>().transition = transition; + impl->observer->onLightChanged(*this); } TransitionOptions Light::getIntensityTransition() const { - return properties.get<LightIntensity>().transition; + return impl->properties.template get<LightIntensity>().transition; } + } // namespace style } // namespace mbgl |