1 // This file is generated. Edit scripts/generate-style-code.js, then run `make style-code`.
2 
3 #include <mbgl/style/layers/circle_layer.hpp>
4 #include <mbgl/style/layers/circle_layer_impl.hpp>
5 #include <mbgl/style/layer_observer.hpp>
6 
7 namespace mbgl {
8 namespace style {
9 
CircleLayer(const std::string & layerID,const std::string & sourceID)10 CircleLayer::CircleLayer(const std::string& layerID, const std::string& sourceID)
11     : Layer(makeMutable<Impl>(LayerType::Circle, layerID, sourceID)) {
12 }
13 
CircleLayer(Immutable<Impl> impl_)14 CircleLayer::CircleLayer(Immutable<Impl> impl_)
15     : Layer(std::move(impl_)) {
16 }
17 
18 CircleLayer::~CircleLayer() = default;
19 
impl() const20 const CircleLayer::Impl& CircleLayer::impl() const {
21     return static_cast<const Impl&>(*baseImpl);
22 }
23 
mutableImpl() const24 Mutable<CircleLayer::Impl> CircleLayer::mutableImpl() const {
25     return makeMutable<Impl>(impl());
26 }
27 
cloneRef(const std::string & id_) const28 std::unique_ptr<Layer> CircleLayer::cloneRef(const std::string& id_) const {
29     auto impl_ = mutableImpl();
30     impl_->id = id_;
31     impl_->paint = CirclePaintProperties::Transitionable();
32     return std::make_unique<CircleLayer>(std::move(impl_));
33 }
34 
stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer> &) const35 void CircleLayer::Impl::stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer>&) const {
36 }
37 
38 // Source
39 
getSourceID() const40 const std::string& CircleLayer::getSourceID() const {
41     return impl().source;
42 }
43 
setSourceLayer(const std::string & sourceLayer)44 void CircleLayer::setSourceLayer(const std::string& sourceLayer) {
45     auto impl_ = mutableImpl();
46     impl_->sourceLayer = sourceLayer;
47     baseImpl = std::move(impl_);
48 }
49 
getSourceLayer() const50 const std::string& CircleLayer::getSourceLayer() const {
51     return impl().sourceLayer;
52 }
53 
54 // Filter
55 
setFilter(const Filter & filter)56 void CircleLayer::setFilter(const Filter& filter) {
57     auto impl_ = mutableImpl();
58     impl_->filter = filter;
59     baseImpl = std::move(impl_);
60     observer->onLayerChanged(*this);
61 }
62 
getFilter() const63 const Filter& CircleLayer::getFilter() const {
64     return impl().filter;
65 }
66 
67 // Visibility
68 
setVisibility(VisibilityType value)69 void CircleLayer::setVisibility(VisibilityType value) {
70     if (value == getVisibility())
71         return;
72     auto impl_ = mutableImpl();
73     impl_->visibility = value;
74     baseImpl = std::move(impl_);
75     observer->onLayerChanged(*this);
76 }
77 
78 // Zoom range
79 
setMinZoom(float minZoom)80 void CircleLayer::setMinZoom(float minZoom) {
81     auto impl_ = mutableImpl();
82     impl_->minZoom = minZoom;
83     baseImpl = std::move(impl_);
84     observer->onLayerChanged(*this);
85 }
86 
setMaxZoom(float maxZoom)87 void CircleLayer::setMaxZoom(float maxZoom) {
88     auto impl_ = mutableImpl();
89     impl_->maxZoom = maxZoom;
90     baseImpl = std::move(impl_);
91     observer->onLayerChanged(*this);
92 }
93 
94 // Layout properties
95 
96 
97 // Paint properties
98 
getDefaultCircleRadius()99 DataDrivenPropertyValue<float> CircleLayer::getDefaultCircleRadius() {
100     return { 5 };
101 }
102 
getCircleRadius() const103 DataDrivenPropertyValue<float> CircleLayer::getCircleRadius() const {
104     return impl().paint.template get<CircleRadius>().value;
105 }
106 
setCircleRadius(DataDrivenPropertyValue<float> value)107 void CircleLayer::setCircleRadius(DataDrivenPropertyValue<float> value) {
108     if (value == getCircleRadius())
109         return;
110     auto impl_ = mutableImpl();
111     impl_->paint.template get<CircleRadius>().value = value;
112     baseImpl = std::move(impl_);
113     observer->onLayerChanged(*this);
114 }
115 
setCircleRadiusTransition(const TransitionOptions & options)116 void CircleLayer::setCircleRadiusTransition(const TransitionOptions& options) {
117     auto impl_ = mutableImpl();
118     impl_->paint.template get<CircleRadius>().options = options;
119     baseImpl = std::move(impl_);
120 }
121 
getCircleRadiusTransition() const122 TransitionOptions CircleLayer::getCircleRadiusTransition() const {
123     return impl().paint.template get<CircleRadius>().options;
124 }
125 
getDefaultCircleColor()126 DataDrivenPropertyValue<Color> CircleLayer::getDefaultCircleColor() {
127     return { Color::black() };
128 }
129 
getCircleColor() const130 DataDrivenPropertyValue<Color> CircleLayer::getCircleColor() const {
131     return impl().paint.template get<CircleColor>().value;
132 }
133 
setCircleColor(DataDrivenPropertyValue<Color> value)134 void CircleLayer::setCircleColor(DataDrivenPropertyValue<Color> value) {
135     if (value == getCircleColor())
136         return;
137     auto impl_ = mutableImpl();
138     impl_->paint.template get<CircleColor>().value = value;
139     baseImpl = std::move(impl_);
140     observer->onLayerChanged(*this);
141 }
142 
setCircleColorTransition(const TransitionOptions & options)143 void CircleLayer::setCircleColorTransition(const TransitionOptions& options) {
144     auto impl_ = mutableImpl();
145     impl_->paint.template get<CircleColor>().options = options;
146     baseImpl = std::move(impl_);
147 }
148 
getCircleColorTransition() const149 TransitionOptions CircleLayer::getCircleColorTransition() const {
150     return impl().paint.template get<CircleColor>().options;
151 }
152 
getDefaultCircleBlur()153 DataDrivenPropertyValue<float> CircleLayer::getDefaultCircleBlur() {
154     return { 0 };
155 }
156 
getCircleBlur() const157 DataDrivenPropertyValue<float> CircleLayer::getCircleBlur() const {
158     return impl().paint.template get<CircleBlur>().value;
159 }
160 
setCircleBlur(DataDrivenPropertyValue<float> value)161 void CircleLayer::setCircleBlur(DataDrivenPropertyValue<float> value) {
162     if (value == getCircleBlur())
163         return;
164     auto impl_ = mutableImpl();
165     impl_->paint.template get<CircleBlur>().value = value;
166     baseImpl = std::move(impl_);
167     observer->onLayerChanged(*this);
168 }
169 
setCircleBlurTransition(const TransitionOptions & options)170 void CircleLayer::setCircleBlurTransition(const TransitionOptions& options) {
171     auto impl_ = mutableImpl();
172     impl_->paint.template get<CircleBlur>().options = options;
173     baseImpl = std::move(impl_);
174 }
175 
getCircleBlurTransition() const176 TransitionOptions CircleLayer::getCircleBlurTransition() const {
177     return impl().paint.template get<CircleBlur>().options;
178 }
179 
getDefaultCircleOpacity()180 DataDrivenPropertyValue<float> CircleLayer::getDefaultCircleOpacity() {
181     return { 1 };
182 }
183 
getCircleOpacity() const184 DataDrivenPropertyValue<float> CircleLayer::getCircleOpacity() const {
185     return impl().paint.template get<CircleOpacity>().value;
186 }
187 
setCircleOpacity(DataDrivenPropertyValue<float> value)188 void CircleLayer::setCircleOpacity(DataDrivenPropertyValue<float> value) {
189     if (value == getCircleOpacity())
190         return;
191     auto impl_ = mutableImpl();
192     impl_->paint.template get<CircleOpacity>().value = value;
193     baseImpl = std::move(impl_);
194     observer->onLayerChanged(*this);
195 }
196 
setCircleOpacityTransition(const TransitionOptions & options)197 void CircleLayer::setCircleOpacityTransition(const TransitionOptions& options) {
198     auto impl_ = mutableImpl();
199     impl_->paint.template get<CircleOpacity>().options = options;
200     baseImpl = std::move(impl_);
201 }
202 
getCircleOpacityTransition() const203 TransitionOptions CircleLayer::getCircleOpacityTransition() const {
204     return impl().paint.template get<CircleOpacity>().options;
205 }
206 
getDefaultCircleTranslate()207 PropertyValue<std::array<float, 2>> CircleLayer::getDefaultCircleTranslate() {
208     return { {{ 0, 0 }} };
209 }
210 
getCircleTranslate() const211 PropertyValue<std::array<float, 2>> CircleLayer::getCircleTranslate() const {
212     return impl().paint.template get<CircleTranslate>().value;
213 }
214 
setCircleTranslate(PropertyValue<std::array<float,2>> value)215 void CircleLayer::setCircleTranslate(PropertyValue<std::array<float, 2>> value) {
216     if (value == getCircleTranslate())
217         return;
218     auto impl_ = mutableImpl();
219     impl_->paint.template get<CircleTranslate>().value = value;
220     baseImpl = std::move(impl_);
221     observer->onLayerChanged(*this);
222 }
223 
setCircleTranslateTransition(const TransitionOptions & options)224 void CircleLayer::setCircleTranslateTransition(const TransitionOptions& options) {
225     auto impl_ = mutableImpl();
226     impl_->paint.template get<CircleTranslate>().options = options;
227     baseImpl = std::move(impl_);
228 }
229 
getCircleTranslateTransition() const230 TransitionOptions CircleLayer::getCircleTranslateTransition() const {
231     return impl().paint.template get<CircleTranslate>().options;
232 }
233 
getDefaultCircleTranslateAnchor()234 PropertyValue<TranslateAnchorType> CircleLayer::getDefaultCircleTranslateAnchor() {
235     return { TranslateAnchorType::Map };
236 }
237 
getCircleTranslateAnchor() const238 PropertyValue<TranslateAnchorType> CircleLayer::getCircleTranslateAnchor() const {
239     return impl().paint.template get<CircleTranslateAnchor>().value;
240 }
241 
setCircleTranslateAnchor(PropertyValue<TranslateAnchorType> value)242 void CircleLayer::setCircleTranslateAnchor(PropertyValue<TranslateAnchorType> value) {
243     if (value == getCircleTranslateAnchor())
244         return;
245     auto impl_ = mutableImpl();
246     impl_->paint.template get<CircleTranslateAnchor>().value = value;
247     baseImpl = std::move(impl_);
248     observer->onLayerChanged(*this);
249 }
250 
setCircleTranslateAnchorTransition(const TransitionOptions & options)251 void CircleLayer::setCircleTranslateAnchorTransition(const TransitionOptions& options) {
252     auto impl_ = mutableImpl();
253     impl_->paint.template get<CircleTranslateAnchor>().options = options;
254     baseImpl = std::move(impl_);
255 }
256 
getCircleTranslateAnchorTransition() const257 TransitionOptions CircleLayer::getCircleTranslateAnchorTransition() const {
258     return impl().paint.template get<CircleTranslateAnchor>().options;
259 }
260 
getDefaultCirclePitchScale()261 PropertyValue<CirclePitchScaleType> CircleLayer::getDefaultCirclePitchScale() {
262     return { CirclePitchScaleType::Map };
263 }
264 
getCirclePitchScale() const265 PropertyValue<CirclePitchScaleType> CircleLayer::getCirclePitchScale() const {
266     return impl().paint.template get<CirclePitchScale>().value;
267 }
268 
setCirclePitchScale(PropertyValue<CirclePitchScaleType> value)269 void CircleLayer::setCirclePitchScale(PropertyValue<CirclePitchScaleType> value) {
270     if (value == getCirclePitchScale())
271         return;
272     auto impl_ = mutableImpl();
273     impl_->paint.template get<CirclePitchScale>().value = value;
274     baseImpl = std::move(impl_);
275     observer->onLayerChanged(*this);
276 }
277 
setCirclePitchScaleTransition(const TransitionOptions & options)278 void CircleLayer::setCirclePitchScaleTransition(const TransitionOptions& options) {
279     auto impl_ = mutableImpl();
280     impl_->paint.template get<CirclePitchScale>().options = options;
281     baseImpl = std::move(impl_);
282 }
283 
getCirclePitchScaleTransition() const284 TransitionOptions CircleLayer::getCirclePitchScaleTransition() const {
285     return impl().paint.template get<CirclePitchScale>().options;
286 }
287 
getDefaultCirclePitchAlignment()288 PropertyValue<AlignmentType> CircleLayer::getDefaultCirclePitchAlignment() {
289     return { AlignmentType::Viewport };
290 }
291 
getCirclePitchAlignment() const292 PropertyValue<AlignmentType> CircleLayer::getCirclePitchAlignment() const {
293     return impl().paint.template get<CirclePitchAlignment>().value;
294 }
295 
setCirclePitchAlignment(PropertyValue<AlignmentType> value)296 void CircleLayer::setCirclePitchAlignment(PropertyValue<AlignmentType> value) {
297     if (value == getCirclePitchAlignment())
298         return;
299     auto impl_ = mutableImpl();
300     impl_->paint.template get<CirclePitchAlignment>().value = value;
301     baseImpl = std::move(impl_);
302     observer->onLayerChanged(*this);
303 }
304 
setCirclePitchAlignmentTransition(const TransitionOptions & options)305 void CircleLayer::setCirclePitchAlignmentTransition(const TransitionOptions& options) {
306     auto impl_ = mutableImpl();
307     impl_->paint.template get<CirclePitchAlignment>().options = options;
308     baseImpl = std::move(impl_);
309 }
310 
getCirclePitchAlignmentTransition() const311 TransitionOptions CircleLayer::getCirclePitchAlignmentTransition() const {
312     return impl().paint.template get<CirclePitchAlignment>().options;
313 }
314 
getDefaultCircleStrokeWidth()315 DataDrivenPropertyValue<float> CircleLayer::getDefaultCircleStrokeWidth() {
316     return { 0 };
317 }
318 
getCircleStrokeWidth() const319 DataDrivenPropertyValue<float> CircleLayer::getCircleStrokeWidth() const {
320     return impl().paint.template get<CircleStrokeWidth>().value;
321 }
322 
setCircleStrokeWidth(DataDrivenPropertyValue<float> value)323 void CircleLayer::setCircleStrokeWidth(DataDrivenPropertyValue<float> value) {
324     if (value == getCircleStrokeWidth())
325         return;
326     auto impl_ = mutableImpl();
327     impl_->paint.template get<CircleStrokeWidth>().value = value;
328     baseImpl = std::move(impl_);
329     observer->onLayerChanged(*this);
330 }
331 
setCircleStrokeWidthTransition(const TransitionOptions & options)332 void CircleLayer::setCircleStrokeWidthTransition(const TransitionOptions& options) {
333     auto impl_ = mutableImpl();
334     impl_->paint.template get<CircleStrokeWidth>().options = options;
335     baseImpl = std::move(impl_);
336 }
337 
getCircleStrokeWidthTransition() const338 TransitionOptions CircleLayer::getCircleStrokeWidthTransition() const {
339     return impl().paint.template get<CircleStrokeWidth>().options;
340 }
341 
getDefaultCircleStrokeColor()342 DataDrivenPropertyValue<Color> CircleLayer::getDefaultCircleStrokeColor() {
343     return { Color::black() };
344 }
345 
getCircleStrokeColor() const346 DataDrivenPropertyValue<Color> CircleLayer::getCircleStrokeColor() const {
347     return impl().paint.template get<CircleStrokeColor>().value;
348 }
349 
setCircleStrokeColor(DataDrivenPropertyValue<Color> value)350 void CircleLayer::setCircleStrokeColor(DataDrivenPropertyValue<Color> value) {
351     if (value == getCircleStrokeColor())
352         return;
353     auto impl_ = mutableImpl();
354     impl_->paint.template get<CircleStrokeColor>().value = value;
355     baseImpl = std::move(impl_);
356     observer->onLayerChanged(*this);
357 }
358 
setCircleStrokeColorTransition(const TransitionOptions & options)359 void CircleLayer::setCircleStrokeColorTransition(const TransitionOptions& options) {
360     auto impl_ = mutableImpl();
361     impl_->paint.template get<CircleStrokeColor>().options = options;
362     baseImpl = std::move(impl_);
363 }
364 
getCircleStrokeColorTransition() const365 TransitionOptions CircleLayer::getCircleStrokeColorTransition() const {
366     return impl().paint.template get<CircleStrokeColor>().options;
367 }
368 
getDefaultCircleStrokeOpacity()369 DataDrivenPropertyValue<float> CircleLayer::getDefaultCircleStrokeOpacity() {
370     return { 1 };
371 }
372 
getCircleStrokeOpacity() const373 DataDrivenPropertyValue<float> CircleLayer::getCircleStrokeOpacity() const {
374     return impl().paint.template get<CircleStrokeOpacity>().value;
375 }
376 
setCircleStrokeOpacity(DataDrivenPropertyValue<float> value)377 void CircleLayer::setCircleStrokeOpacity(DataDrivenPropertyValue<float> value) {
378     if (value == getCircleStrokeOpacity())
379         return;
380     auto impl_ = mutableImpl();
381     impl_->paint.template get<CircleStrokeOpacity>().value = value;
382     baseImpl = std::move(impl_);
383     observer->onLayerChanged(*this);
384 }
385 
setCircleStrokeOpacityTransition(const TransitionOptions & options)386 void CircleLayer::setCircleStrokeOpacityTransition(const TransitionOptions& options) {
387     auto impl_ = mutableImpl();
388     impl_->paint.template get<CircleStrokeOpacity>().options = options;
389     baseImpl = std::move(impl_);
390 }
391 
getCircleStrokeOpacityTransition() const392 TransitionOptions CircleLayer::getCircleStrokeOpacityTransition() const {
393     return impl().paint.template get<CircleStrokeOpacity>().options;
394 }
395 
396 } // namespace style
397 } // namespace mbgl
398