summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/render_light.cpp
blob: 134e1829e0d020c5407133db3fe74bfebf71734f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <mbgl/renderer/render_light.hpp>

namespace mbgl {

RenderLight::RenderLight(std::shared_ptr<const style::Light::Impl> impl_)
        : impl(std::move(impl_)) {
}

RenderLight::RenderLight(std::shared_ptr<const style::Light::Impl> impl_, const TransitioningLight transitioning_)
        : impl(std::move(impl_))
        , transitioning(transitioning_) {
}

std::unique_ptr<RenderLight> RenderLight::copy(std::shared_ptr<const style::Light::Impl> impl_) const {
    return std::make_unique<RenderLight>(std::move(impl_), transitioning);
}

void RenderLight::transition(const CascadeParameters& parameters) {
    transitioning = TransitioningLight(impl->properties, std::move(transitioning), parameters);
}

void RenderLight::evaluate(const PropertyEvaluationParameters& parameters) {
    evaluated = EvaluatedLight(transitioning, parameters);
}

bool RenderLight::hasTransition() const {
    return transitioning.hasTransition();
}

const EvaluatedLight& RenderLight::getEvaluated() const {
    return evaluated;
}

} // namespace mbgl