1 // This file is generated. Do not edit.
2 
3 #pragma once
4 
5 #include <mbgl/style/layer.hpp>
6 #include <mbgl/style/filter.hpp>
7 #include <mbgl/style/property_value.hpp>
8 #include <mbgl/style/data_driven_property_value.hpp>
9 
10 #include <mbgl/util/color.hpp>
11 
12 namespace mbgl {
13 namespace style {
14 
15 class TransitionOptions;
16 
17 class BackgroundLayer : public Layer {
18 public:
19     BackgroundLayer(const std::string& layerID);
20     ~BackgroundLayer() final;
21 
22     // Visibility
23     void setVisibility(VisibilityType) final;
24 
25     // Zoom range
26     void setMinZoom(float) final;
27     void setMaxZoom(float) final;
28 
29     // Paint properties
30 
31     static PropertyValue<Color> getDefaultBackgroundColor();
32     PropertyValue<Color> getBackgroundColor() const;
33     void setBackgroundColor(PropertyValue<Color>);
34     void setBackgroundColorTransition(const TransitionOptions&);
35     TransitionOptions getBackgroundColorTransition() const;
36 
37     static PropertyValue<std::string> getDefaultBackgroundPattern();
38     PropertyValue<std::string> getBackgroundPattern() const;
39     void setBackgroundPattern(PropertyValue<std::string>);
40     void setBackgroundPatternTransition(const TransitionOptions&);
41     TransitionOptions getBackgroundPatternTransition() const;
42 
43     static PropertyValue<float> getDefaultBackgroundOpacity();
44     PropertyValue<float> getBackgroundOpacity() const;
45     void setBackgroundOpacity(PropertyValue<float>);
46     void setBackgroundOpacityTransition(const TransitionOptions&);
47     TransitionOptions getBackgroundOpacityTransition() const;
48 
49     // Private implementation
50 
51     class Impl;
52     const Impl& impl() const;
53 
54     Mutable<Impl> mutableImpl() const;
55     BackgroundLayer(Immutable<Impl>);
56     std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
57 };
58 
59 template <>
is() const60 inline bool Layer::is<BackgroundLayer>() const {
61     return getType() == LayerType::Background;
62 }
63 
64 } // namespace style
65 } // namespace mbgl
66