blob: e08b71e6b3fa72b016110180d5e5cb8d2f9e3480 (
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#include <mbgl/style/layer.hpp>
#include <mbgl/style/layer_impl.hpp>
#include <mbgl/style/layer_observer.hpp>
#include <mbgl/style/conversion/constant.hpp>
#include <mbgl/style/conversion_impl.hpp>
namespace mbgl {
namespace style {
static LayerObserver nullObserver;
Layer::Layer(Immutable<Impl> impl)
: baseImpl(std::move(impl)),
observer(&nullObserver) {
}
Layer::~Layer() = default;
LayerType Layer::getType() const {
return baseImpl->type;
}
std::string Layer::getID() const {
return baseImpl->id;
}
VisibilityType Layer::getVisibility() const {
return baseImpl->visibility;
}
float Layer::getMinZoom() const {
return baseImpl->minZoom;
}
float Layer::getMaxZoom() const {
return baseImpl->maxZoom;
}
void Layer::setObserver(LayerObserver* observer_) {
observer = observer_ ? observer_ : &nullObserver;
}
optional<conversion::Error> Layer::setVisibility(const conversion::Convertible& value) {
using namespace conversion;
if (isUndefined(value)) {
setVisibility(VisibilityType::Visible);
return nullopt;
}
Error error;
optional<VisibilityType> visibility = convert<VisibilityType>(value, error);
if (!visibility) {
return error;
}
setVisibility(*visibility);
return nullopt;
}
} // namespace style
} // namespace mbgl
|