1 #include <mbgl/style/layer.hpp>
2 #include <mbgl/style/layer_impl.hpp>
3 #include <mbgl/style/layer_observer.hpp>
4 
5 namespace mbgl {
6 namespace style {
7 
8 static LayerObserver nullObserver;
9 
Layer(Immutable<Impl> impl)10 Layer::Layer(Immutable<Impl> impl)
11     : baseImpl(std::move(impl)),
12       observer(&nullObserver) {
13 }
14 
15 Layer::~Layer() = default;
16 
getType() const17 LayerType Layer::getType() const {
18     return baseImpl->type;
19 }
20 
getID() const21 std::string Layer::getID() const {
22     return baseImpl->id;
23 }
24 
getVisibility() const25 VisibilityType Layer::getVisibility() const {
26     return baseImpl->visibility;
27 }
28 
getMinZoom() const29 float Layer::getMinZoom() const {
30     return baseImpl->minZoom;
31 }
32 
getMaxZoom() const33 float Layer::getMaxZoom() const {
34     return baseImpl->maxZoom;
35 }
36 
setObserver(LayerObserver * observer_)37 void Layer::setObserver(LayerObserver* observer_) {
38     observer = observer_ ? observer_ : &nullObserver;
39 }
40 
41 } // namespace style
42 } // namespace mbgl
43