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 CircleLayer : public Layer {
18 public:
19     CircleLayer(const std::string& layerID, const std::string& sourceID);
20     ~CircleLayer() 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 DataDrivenPropertyValue<float> getDefaultCircleRadius();
40     DataDrivenPropertyValue<float> getCircleRadius() const;
41     void setCircleRadius(DataDrivenPropertyValue<float>);
42     void setCircleRadiusTransition(const TransitionOptions&);
43     TransitionOptions getCircleRadiusTransition() const;
44 
45     static DataDrivenPropertyValue<Color> getDefaultCircleColor();
46     DataDrivenPropertyValue<Color> getCircleColor() const;
47     void setCircleColor(DataDrivenPropertyValue<Color>);
48     void setCircleColorTransition(const TransitionOptions&);
49     TransitionOptions getCircleColorTransition() const;
50 
51     static DataDrivenPropertyValue<float> getDefaultCircleBlur();
52     DataDrivenPropertyValue<float> getCircleBlur() const;
53     void setCircleBlur(DataDrivenPropertyValue<float>);
54     void setCircleBlurTransition(const TransitionOptions&);
55     TransitionOptions getCircleBlurTransition() const;
56 
57     static DataDrivenPropertyValue<float> getDefaultCircleOpacity();
58     DataDrivenPropertyValue<float> getCircleOpacity() const;
59     void setCircleOpacity(DataDrivenPropertyValue<float>);
60     void setCircleOpacityTransition(const TransitionOptions&);
61     TransitionOptions getCircleOpacityTransition() const;
62 
63     static PropertyValue<std::array<float, 2>> getDefaultCircleTranslate();
64     PropertyValue<std::array<float, 2>> getCircleTranslate() const;
65     void setCircleTranslate(PropertyValue<std::array<float, 2>>);
66     void setCircleTranslateTransition(const TransitionOptions&);
67     TransitionOptions getCircleTranslateTransition() const;
68 
69     static PropertyValue<TranslateAnchorType> getDefaultCircleTranslateAnchor();
70     PropertyValue<TranslateAnchorType> getCircleTranslateAnchor() const;
71     void setCircleTranslateAnchor(PropertyValue<TranslateAnchorType>);
72     void setCircleTranslateAnchorTransition(const TransitionOptions&);
73     TransitionOptions getCircleTranslateAnchorTransition() const;
74 
75     static PropertyValue<CirclePitchScaleType> getDefaultCirclePitchScale();
76     PropertyValue<CirclePitchScaleType> getCirclePitchScale() const;
77     void setCirclePitchScale(PropertyValue<CirclePitchScaleType>);
78     void setCirclePitchScaleTransition(const TransitionOptions&);
79     TransitionOptions getCirclePitchScaleTransition() const;
80 
81     static PropertyValue<AlignmentType> getDefaultCirclePitchAlignment();
82     PropertyValue<AlignmentType> getCirclePitchAlignment() const;
83     void setCirclePitchAlignment(PropertyValue<AlignmentType>);
84     void setCirclePitchAlignmentTransition(const TransitionOptions&);
85     TransitionOptions getCirclePitchAlignmentTransition() const;
86 
87     static DataDrivenPropertyValue<float> getDefaultCircleStrokeWidth();
88     DataDrivenPropertyValue<float> getCircleStrokeWidth() const;
89     void setCircleStrokeWidth(DataDrivenPropertyValue<float>);
90     void setCircleStrokeWidthTransition(const TransitionOptions&);
91     TransitionOptions getCircleStrokeWidthTransition() const;
92 
93     static DataDrivenPropertyValue<Color> getDefaultCircleStrokeColor();
94     DataDrivenPropertyValue<Color> getCircleStrokeColor() const;
95     void setCircleStrokeColor(DataDrivenPropertyValue<Color>);
96     void setCircleStrokeColorTransition(const TransitionOptions&);
97     TransitionOptions getCircleStrokeColorTransition() const;
98 
99     static DataDrivenPropertyValue<float> getDefaultCircleStrokeOpacity();
100     DataDrivenPropertyValue<float> getCircleStrokeOpacity() const;
101     void setCircleStrokeOpacity(DataDrivenPropertyValue<float>);
102     void setCircleStrokeOpacityTransition(const TransitionOptions&);
103     TransitionOptions getCircleStrokeOpacityTransition() const;
104 
105     // Private implementation
106 
107     class Impl;
108     const Impl& impl() const;
109 
110     Mutable<Impl> mutableImpl() const;
111     CircleLayer(Immutable<Impl>);
112     std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
113 };
114 
115 template <>
is() const116 inline bool Layer::is<CircleLayer>() const {
117     return getType() == LayerType::Circle;
118 }
119 
120 } // namespace style
121 } // namespace mbgl
122