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 FillLayer : public Layer {
18 public:
19     FillLayer(const std::string& layerID, const std::string& sourceID);
20     ~FillLayer() final;
21 
22     // Source
23     const std::string& getSourceID() const;
24     const std::string& getSourceLayer() const;
25     void setSourceLayer(const std::string& sourceLayer);
26 
27     void setFilter(const Filter&);
28     const Filter& getFilter() const;
29 
30     // Visibility
31     void setVisibility(VisibilityType) final;
32 
33     // Zoom range
34     void setMinZoom(float) final;
35     void setMaxZoom(float) final;
36 
37     // Paint properties
38 
39     static PropertyValue<bool> getDefaultFillAntialias();
40     PropertyValue<bool> getFillAntialias() const;
41     void setFillAntialias(PropertyValue<bool>);
42     void setFillAntialiasTransition(const TransitionOptions&);
43     TransitionOptions getFillAntialiasTransition() const;
44 
45     static DataDrivenPropertyValue<float> getDefaultFillOpacity();
46     DataDrivenPropertyValue<float> getFillOpacity() const;
47     void setFillOpacity(DataDrivenPropertyValue<float>);
48     void setFillOpacityTransition(const TransitionOptions&);
49     TransitionOptions getFillOpacityTransition() const;
50 
51     static DataDrivenPropertyValue<Color> getDefaultFillColor();
52     DataDrivenPropertyValue<Color> getFillColor() const;
53     void setFillColor(DataDrivenPropertyValue<Color>);
54     void setFillColorTransition(const TransitionOptions&);
55     TransitionOptions getFillColorTransition() const;
56 
57     static DataDrivenPropertyValue<Color> getDefaultFillOutlineColor();
58     DataDrivenPropertyValue<Color> getFillOutlineColor() const;
59     void setFillOutlineColor(DataDrivenPropertyValue<Color>);
60     void setFillOutlineColorTransition(const TransitionOptions&);
61     TransitionOptions getFillOutlineColorTransition() const;
62 
63     static PropertyValue<std::array<float, 2>> getDefaultFillTranslate();
64     PropertyValue<std::array<float, 2>> getFillTranslate() const;
65     void setFillTranslate(PropertyValue<std::array<float, 2>>);
66     void setFillTranslateTransition(const TransitionOptions&);
67     TransitionOptions getFillTranslateTransition() const;
68 
69     static PropertyValue<TranslateAnchorType> getDefaultFillTranslateAnchor();
70     PropertyValue<TranslateAnchorType> getFillTranslateAnchor() const;
71     void setFillTranslateAnchor(PropertyValue<TranslateAnchorType>);
72     void setFillTranslateAnchorTransition(const TransitionOptions&);
73     TransitionOptions getFillTranslateAnchorTransition() const;
74 
75     static PropertyValue<std::string> getDefaultFillPattern();
76     PropertyValue<std::string> getFillPattern() const;
77     void setFillPattern(PropertyValue<std::string>);
78     void setFillPatternTransition(const TransitionOptions&);
79     TransitionOptions getFillPatternTransition() const;
80 
81     // Private implementation
82 
83     class Impl;
84     const Impl& impl() const;
85 
86     Mutable<Impl> mutableImpl() const;
87     FillLayer(Immutable<Impl>);
88     std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
89 };
90 
91 template <>
is() const92 inline bool Layer::is<FillLayer>() const {
93     return getType() == LayerType::Fill;
94 }
95 
96 } // namespace style
97 } // namespace mbgl
98