1 // This file is generated. Edit scripts/generate-style-code.js, then run `make style-code`.
2 
3 #include <mbgl/style/layers/symbol_layer.hpp>
4 #include <mbgl/style/layers/symbol_layer_impl.hpp>
5 #include <mbgl/style/layer_observer.hpp>
6 
7 namespace mbgl {
8 namespace style {
9 
SymbolLayer(const std::string & layerID,const std::string & sourceID)10 SymbolLayer::SymbolLayer(const std::string& layerID, const std::string& sourceID)
11     : Layer(makeMutable<Impl>(LayerType::Symbol, layerID, sourceID)) {
12 }
13 
SymbolLayer(Immutable<Impl> impl_)14 SymbolLayer::SymbolLayer(Immutable<Impl> impl_)
15     : Layer(std::move(impl_)) {
16 }
17 
18 SymbolLayer::~SymbolLayer() = default;
19 
impl() const20 const SymbolLayer::Impl& SymbolLayer::impl() const {
21     return static_cast<const Impl&>(*baseImpl);
22 }
23 
mutableImpl() const24 Mutable<SymbolLayer::Impl> SymbolLayer::mutableImpl() const {
25     return makeMutable<Impl>(impl());
26 }
27 
cloneRef(const std::string & id_) const28 std::unique_ptr<Layer> SymbolLayer::cloneRef(const std::string& id_) const {
29     auto impl_ = mutableImpl();
30     impl_->id = id_;
31     impl_->paint = SymbolPaintProperties::Transitionable();
32     return std::make_unique<SymbolLayer>(std::move(impl_));
33 }
34 
stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer> & writer) const35 void SymbolLayer::Impl::stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer>& writer) const {
36     layout.stringify(writer);
37 }
38 
39 // Source
40 
getSourceID() const41 const std::string& SymbolLayer::getSourceID() const {
42     return impl().source;
43 }
44 
setSourceLayer(const std::string & sourceLayer)45 void SymbolLayer::setSourceLayer(const std::string& sourceLayer) {
46     auto impl_ = mutableImpl();
47     impl_->sourceLayer = sourceLayer;
48     baseImpl = std::move(impl_);
49 }
50 
getSourceLayer() const51 const std::string& SymbolLayer::getSourceLayer() const {
52     return impl().sourceLayer;
53 }
54 
55 // Filter
56 
setFilter(const Filter & filter)57 void SymbolLayer::setFilter(const Filter& filter) {
58     auto impl_ = mutableImpl();
59     impl_->filter = filter;
60     baseImpl = std::move(impl_);
61     observer->onLayerChanged(*this);
62 }
63 
getFilter() const64 const Filter& SymbolLayer::getFilter() const {
65     return impl().filter;
66 }
67 
68 // Visibility
69 
setVisibility(VisibilityType value)70 void SymbolLayer::setVisibility(VisibilityType value) {
71     if (value == getVisibility())
72         return;
73     auto impl_ = mutableImpl();
74     impl_->visibility = value;
75     baseImpl = std::move(impl_);
76     observer->onLayerChanged(*this);
77 }
78 
79 // Zoom range
80 
setMinZoom(float minZoom)81 void SymbolLayer::setMinZoom(float minZoom) {
82     auto impl_ = mutableImpl();
83     impl_->minZoom = minZoom;
84     baseImpl = std::move(impl_);
85     observer->onLayerChanged(*this);
86 }
87 
setMaxZoom(float maxZoom)88 void SymbolLayer::setMaxZoom(float maxZoom) {
89     auto impl_ = mutableImpl();
90     impl_->maxZoom = maxZoom;
91     baseImpl = std::move(impl_);
92     observer->onLayerChanged(*this);
93 }
94 
95 // Layout properties
96 
getDefaultSymbolPlacement()97 PropertyValue<SymbolPlacementType> SymbolLayer::getDefaultSymbolPlacement() {
98     return SymbolPlacement::defaultValue();
99 }
100 
getSymbolPlacement() const101 PropertyValue<SymbolPlacementType> SymbolLayer::getSymbolPlacement() const {
102     return impl().layout.get<SymbolPlacement>();
103 }
104 
setSymbolPlacement(PropertyValue<SymbolPlacementType> value)105 void SymbolLayer::setSymbolPlacement(PropertyValue<SymbolPlacementType> value) {
106     if (value == getSymbolPlacement())
107         return;
108     auto impl_ = mutableImpl();
109     impl_->layout.get<SymbolPlacement>() = value;
110     baseImpl = std::move(impl_);
111     observer->onLayerChanged(*this);
112 }
getDefaultSymbolSpacing()113 PropertyValue<float> SymbolLayer::getDefaultSymbolSpacing() {
114     return SymbolSpacing::defaultValue();
115 }
116 
getSymbolSpacing() const117 PropertyValue<float> SymbolLayer::getSymbolSpacing() const {
118     return impl().layout.get<SymbolSpacing>();
119 }
120 
setSymbolSpacing(PropertyValue<float> value)121 void SymbolLayer::setSymbolSpacing(PropertyValue<float> value) {
122     if (value == getSymbolSpacing())
123         return;
124     auto impl_ = mutableImpl();
125     impl_->layout.get<SymbolSpacing>() = value;
126     baseImpl = std::move(impl_);
127     observer->onLayerChanged(*this);
128 }
getDefaultSymbolAvoidEdges()129 PropertyValue<bool> SymbolLayer::getDefaultSymbolAvoidEdges() {
130     return SymbolAvoidEdges::defaultValue();
131 }
132 
getSymbolAvoidEdges() const133 PropertyValue<bool> SymbolLayer::getSymbolAvoidEdges() const {
134     return impl().layout.get<SymbolAvoidEdges>();
135 }
136 
setSymbolAvoidEdges(PropertyValue<bool> value)137 void SymbolLayer::setSymbolAvoidEdges(PropertyValue<bool> value) {
138     if (value == getSymbolAvoidEdges())
139         return;
140     auto impl_ = mutableImpl();
141     impl_->layout.get<SymbolAvoidEdges>() = value;
142     baseImpl = std::move(impl_);
143     observer->onLayerChanged(*this);
144 }
getDefaultIconAllowOverlap()145 PropertyValue<bool> SymbolLayer::getDefaultIconAllowOverlap() {
146     return IconAllowOverlap::defaultValue();
147 }
148 
getIconAllowOverlap() const149 PropertyValue<bool> SymbolLayer::getIconAllowOverlap() const {
150     return impl().layout.get<IconAllowOverlap>();
151 }
152 
setIconAllowOverlap(PropertyValue<bool> value)153 void SymbolLayer::setIconAllowOverlap(PropertyValue<bool> value) {
154     if (value == getIconAllowOverlap())
155         return;
156     auto impl_ = mutableImpl();
157     impl_->layout.get<IconAllowOverlap>() = value;
158     baseImpl = std::move(impl_);
159     observer->onLayerChanged(*this);
160 }
getDefaultIconIgnorePlacement()161 PropertyValue<bool> SymbolLayer::getDefaultIconIgnorePlacement() {
162     return IconIgnorePlacement::defaultValue();
163 }
164 
getIconIgnorePlacement() const165 PropertyValue<bool> SymbolLayer::getIconIgnorePlacement() const {
166     return impl().layout.get<IconIgnorePlacement>();
167 }
168 
setIconIgnorePlacement(PropertyValue<bool> value)169 void SymbolLayer::setIconIgnorePlacement(PropertyValue<bool> value) {
170     if (value == getIconIgnorePlacement())
171         return;
172     auto impl_ = mutableImpl();
173     impl_->layout.get<IconIgnorePlacement>() = value;
174     baseImpl = std::move(impl_);
175     observer->onLayerChanged(*this);
176 }
getDefaultIconOptional()177 PropertyValue<bool> SymbolLayer::getDefaultIconOptional() {
178     return IconOptional::defaultValue();
179 }
180 
getIconOptional() const181 PropertyValue<bool> SymbolLayer::getIconOptional() const {
182     return impl().layout.get<IconOptional>();
183 }
184 
setIconOptional(PropertyValue<bool> value)185 void SymbolLayer::setIconOptional(PropertyValue<bool> value) {
186     if (value == getIconOptional())
187         return;
188     auto impl_ = mutableImpl();
189     impl_->layout.get<IconOptional>() = value;
190     baseImpl = std::move(impl_);
191     observer->onLayerChanged(*this);
192 }
getDefaultIconRotationAlignment()193 PropertyValue<AlignmentType> SymbolLayer::getDefaultIconRotationAlignment() {
194     return IconRotationAlignment::defaultValue();
195 }
196 
getIconRotationAlignment() const197 PropertyValue<AlignmentType> SymbolLayer::getIconRotationAlignment() const {
198     return impl().layout.get<IconRotationAlignment>();
199 }
200 
setIconRotationAlignment(PropertyValue<AlignmentType> value)201 void SymbolLayer::setIconRotationAlignment(PropertyValue<AlignmentType> value) {
202     if (value == getIconRotationAlignment())
203         return;
204     auto impl_ = mutableImpl();
205     impl_->layout.get<IconRotationAlignment>() = value;
206     baseImpl = std::move(impl_);
207     observer->onLayerChanged(*this);
208 }
getDefaultIconSize()209 DataDrivenPropertyValue<float> SymbolLayer::getDefaultIconSize() {
210     return IconSize::defaultValue();
211 }
212 
getIconSize() const213 DataDrivenPropertyValue<float> SymbolLayer::getIconSize() const {
214     return impl().layout.get<IconSize>();
215 }
216 
setIconSize(DataDrivenPropertyValue<float> value)217 void SymbolLayer::setIconSize(DataDrivenPropertyValue<float> value) {
218     if (value == getIconSize())
219         return;
220     auto impl_ = mutableImpl();
221     impl_->layout.get<IconSize>() = value;
222     baseImpl = std::move(impl_);
223     observer->onLayerChanged(*this);
224 }
getDefaultIconTextFit()225 PropertyValue<IconTextFitType> SymbolLayer::getDefaultIconTextFit() {
226     return IconTextFit::defaultValue();
227 }
228 
getIconTextFit() const229 PropertyValue<IconTextFitType> SymbolLayer::getIconTextFit() const {
230     return impl().layout.get<IconTextFit>();
231 }
232 
setIconTextFit(PropertyValue<IconTextFitType> value)233 void SymbolLayer::setIconTextFit(PropertyValue<IconTextFitType> value) {
234     if (value == getIconTextFit())
235         return;
236     auto impl_ = mutableImpl();
237     impl_->layout.get<IconTextFit>() = value;
238     baseImpl = std::move(impl_);
239     observer->onLayerChanged(*this);
240 }
getDefaultIconTextFitPadding()241 PropertyValue<std::array<float, 4>> SymbolLayer::getDefaultIconTextFitPadding() {
242     return IconTextFitPadding::defaultValue();
243 }
244 
getIconTextFitPadding() const245 PropertyValue<std::array<float, 4>> SymbolLayer::getIconTextFitPadding() const {
246     return impl().layout.get<IconTextFitPadding>();
247 }
248 
setIconTextFitPadding(PropertyValue<std::array<float,4>> value)249 void SymbolLayer::setIconTextFitPadding(PropertyValue<std::array<float, 4>> value) {
250     if (value == getIconTextFitPadding())
251         return;
252     auto impl_ = mutableImpl();
253     impl_->layout.get<IconTextFitPadding>() = value;
254     baseImpl = std::move(impl_);
255     observer->onLayerChanged(*this);
256 }
getDefaultIconImage()257 DataDrivenPropertyValue<std::string> SymbolLayer::getDefaultIconImage() {
258     return IconImage::defaultValue();
259 }
260 
getIconImage() const261 DataDrivenPropertyValue<std::string> SymbolLayer::getIconImage() const {
262     return impl().layout.get<IconImage>();
263 }
264 
setIconImage(DataDrivenPropertyValue<std::string> value)265 void SymbolLayer::setIconImage(DataDrivenPropertyValue<std::string> value) {
266     if (value == getIconImage())
267         return;
268     auto impl_ = mutableImpl();
269     impl_->layout.get<IconImage>() = value;
270     baseImpl = std::move(impl_);
271     observer->onLayerChanged(*this);
272 }
getDefaultIconRotate()273 DataDrivenPropertyValue<float> SymbolLayer::getDefaultIconRotate() {
274     return IconRotate::defaultValue();
275 }
276 
getIconRotate() const277 DataDrivenPropertyValue<float> SymbolLayer::getIconRotate() const {
278     return impl().layout.get<IconRotate>();
279 }
280 
setIconRotate(DataDrivenPropertyValue<float> value)281 void SymbolLayer::setIconRotate(DataDrivenPropertyValue<float> value) {
282     if (value == getIconRotate())
283         return;
284     auto impl_ = mutableImpl();
285     impl_->layout.get<IconRotate>() = value;
286     baseImpl = std::move(impl_);
287     observer->onLayerChanged(*this);
288 }
getDefaultIconPadding()289 PropertyValue<float> SymbolLayer::getDefaultIconPadding() {
290     return IconPadding::defaultValue();
291 }
292 
getIconPadding() const293 PropertyValue<float> SymbolLayer::getIconPadding() const {
294     return impl().layout.get<IconPadding>();
295 }
296 
setIconPadding(PropertyValue<float> value)297 void SymbolLayer::setIconPadding(PropertyValue<float> value) {
298     if (value == getIconPadding())
299         return;
300     auto impl_ = mutableImpl();
301     impl_->layout.get<IconPadding>() = value;
302     baseImpl = std::move(impl_);
303     observer->onLayerChanged(*this);
304 }
getDefaultIconKeepUpright()305 PropertyValue<bool> SymbolLayer::getDefaultIconKeepUpright() {
306     return IconKeepUpright::defaultValue();
307 }
308 
getIconKeepUpright() const309 PropertyValue<bool> SymbolLayer::getIconKeepUpright() const {
310     return impl().layout.get<IconKeepUpright>();
311 }
312 
setIconKeepUpright(PropertyValue<bool> value)313 void SymbolLayer::setIconKeepUpright(PropertyValue<bool> value) {
314     if (value == getIconKeepUpright())
315         return;
316     auto impl_ = mutableImpl();
317     impl_->layout.get<IconKeepUpright>() = value;
318     baseImpl = std::move(impl_);
319     observer->onLayerChanged(*this);
320 }
getDefaultIconOffset()321 DataDrivenPropertyValue<std::array<float, 2>> SymbolLayer::getDefaultIconOffset() {
322     return IconOffset::defaultValue();
323 }
324 
getIconOffset() const325 DataDrivenPropertyValue<std::array<float, 2>> SymbolLayer::getIconOffset() const {
326     return impl().layout.get<IconOffset>();
327 }
328 
setIconOffset(DataDrivenPropertyValue<std::array<float,2>> value)329 void SymbolLayer::setIconOffset(DataDrivenPropertyValue<std::array<float, 2>> value) {
330     if (value == getIconOffset())
331         return;
332     auto impl_ = mutableImpl();
333     impl_->layout.get<IconOffset>() = value;
334     baseImpl = std::move(impl_);
335     observer->onLayerChanged(*this);
336 }
getDefaultIconAnchor()337 DataDrivenPropertyValue<SymbolAnchorType> SymbolLayer::getDefaultIconAnchor() {
338     return IconAnchor::defaultValue();
339 }
340 
getIconAnchor() const341 DataDrivenPropertyValue<SymbolAnchorType> SymbolLayer::getIconAnchor() const {
342     return impl().layout.get<IconAnchor>();
343 }
344 
setIconAnchor(DataDrivenPropertyValue<SymbolAnchorType> value)345 void SymbolLayer::setIconAnchor(DataDrivenPropertyValue<SymbolAnchorType> value) {
346     if (value == getIconAnchor())
347         return;
348     auto impl_ = mutableImpl();
349     impl_->layout.get<IconAnchor>() = value;
350     baseImpl = std::move(impl_);
351     observer->onLayerChanged(*this);
352 }
getDefaultIconPitchAlignment()353 PropertyValue<AlignmentType> SymbolLayer::getDefaultIconPitchAlignment() {
354     return IconPitchAlignment::defaultValue();
355 }
356 
getIconPitchAlignment() const357 PropertyValue<AlignmentType> SymbolLayer::getIconPitchAlignment() const {
358     return impl().layout.get<IconPitchAlignment>();
359 }
360 
setIconPitchAlignment(PropertyValue<AlignmentType> value)361 void SymbolLayer::setIconPitchAlignment(PropertyValue<AlignmentType> value) {
362     if (value == getIconPitchAlignment())
363         return;
364     auto impl_ = mutableImpl();
365     impl_->layout.get<IconPitchAlignment>() = value;
366     baseImpl = std::move(impl_);
367     observer->onLayerChanged(*this);
368 }
getDefaultTextPitchAlignment()369 PropertyValue<AlignmentType> SymbolLayer::getDefaultTextPitchAlignment() {
370     return TextPitchAlignment::defaultValue();
371 }
372 
getTextPitchAlignment() const373 PropertyValue<AlignmentType> SymbolLayer::getTextPitchAlignment() const {
374     return impl().layout.get<TextPitchAlignment>();
375 }
376 
setTextPitchAlignment(PropertyValue<AlignmentType> value)377 void SymbolLayer::setTextPitchAlignment(PropertyValue<AlignmentType> value) {
378     if (value == getTextPitchAlignment())
379         return;
380     auto impl_ = mutableImpl();
381     impl_->layout.get<TextPitchAlignment>() = value;
382     baseImpl = std::move(impl_);
383     observer->onLayerChanged(*this);
384 }
getDefaultTextRotationAlignment()385 PropertyValue<AlignmentType> SymbolLayer::getDefaultTextRotationAlignment() {
386     return TextRotationAlignment::defaultValue();
387 }
388 
getTextRotationAlignment() const389 PropertyValue<AlignmentType> SymbolLayer::getTextRotationAlignment() const {
390     return impl().layout.get<TextRotationAlignment>();
391 }
392 
setTextRotationAlignment(PropertyValue<AlignmentType> value)393 void SymbolLayer::setTextRotationAlignment(PropertyValue<AlignmentType> value) {
394     if (value == getTextRotationAlignment())
395         return;
396     auto impl_ = mutableImpl();
397     impl_->layout.get<TextRotationAlignment>() = value;
398     baseImpl = std::move(impl_);
399     observer->onLayerChanged(*this);
400 }
getDefaultTextField()401 DataDrivenPropertyValue<std::string> SymbolLayer::getDefaultTextField() {
402     return TextField::defaultValue();
403 }
404 
getTextField() const405 DataDrivenPropertyValue<std::string> SymbolLayer::getTextField() const {
406     return impl().layout.get<TextField>();
407 }
408 
setTextField(DataDrivenPropertyValue<std::string> value)409 void SymbolLayer::setTextField(DataDrivenPropertyValue<std::string> value) {
410     if (value == getTextField())
411         return;
412     auto impl_ = mutableImpl();
413     impl_->layout.get<TextField>() = value;
414     baseImpl = std::move(impl_);
415     observer->onLayerChanged(*this);
416 }
getDefaultTextFont()417 DataDrivenPropertyValue<std::vector<std::string>> SymbolLayer::getDefaultTextFont() {
418     return TextFont::defaultValue();
419 }
420 
getTextFont() const421 DataDrivenPropertyValue<std::vector<std::string>> SymbolLayer::getTextFont() const {
422     return impl().layout.get<TextFont>();
423 }
424 
setTextFont(DataDrivenPropertyValue<std::vector<std::string>> value)425 void SymbolLayer::setTextFont(DataDrivenPropertyValue<std::vector<std::string>> value) {
426     if (value == getTextFont())
427         return;
428     auto impl_ = mutableImpl();
429     impl_->layout.get<TextFont>() = value;
430     baseImpl = std::move(impl_);
431     observer->onLayerChanged(*this);
432 }
getDefaultTextSize()433 DataDrivenPropertyValue<float> SymbolLayer::getDefaultTextSize() {
434     return TextSize::defaultValue();
435 }
436 
getTextSize() const437 DataDrivenPropertyValue<float> SymbolLayer::getTextSize() const {
438     return impl().layout.get<TextSize>();
439 }
440 
setTextSize(DataDrivenPropertyValue<float> value)441 void SymbolLayer::setTextSize(DataDrivenPropertyValue<float> value) {
442     if (value == getTextSize())
443         return;
444     auto impl_ = mutableImpl();
445     impl_->layout.get<TextSize>() = value;
446     baseImpl = std::move(impl_);
447     observer->onLayerChanged(*this);
448 }
getDefaultTextMaxWidth()449 DataDrivenPropertyValue<float> SymbolLayer::getDefaultTextMaxWidth() {
450     return TextMaxWidth::defaultValue();
451 }
452 
getTextMaxWidth() const453 DataDrivenPropertyValue<float> SymbolLayer::getTextMaxWidth() const {
454     return impl().layout.get<TextMaxWidth>();
455 }
456 
setTextMaxWidth(DataDrivenPropertyValue<float> value)457 void SymbolLayer::setTextMaxWidth(DataDrivenPropertyValue<float> value) {
458     if (value == getTextMaxWidth())
459         return;
460     auto impl_ = mutableImpl();
461     impl_->layout.get<TextMaxWidth>() = value;
462     baseImpl = std::move(impl_);
463     observer->onLayerChanged(*this);
464 }
getDefaultTextLineHeight()465 PropertyValue<float> SymbolLayer::getDefaultTextLineHeight() {
466     return TextLineHeight::defaultValue();
467 }
468 
getTextLineHeight() const469 PropertyValue<float> SymbolLayer::getTextLineHeight() const {
470     return impl().layout.get<TextLineHeight>();
471 }
472 
setTextLineHeight(PropertyValue<float> value)473 void SymbolLayer::setTextLineHeight(PropertyValue<float> value) {
474     if (value == getTextLineHeight())
475         return;
476     auto impl_ = mutableImpl();
477     impl_->layout.get<TextLineHeight>() = value;
478     baseImpl = std::move(impl_);
479     observer->onLayerChanged(*this);
480 }
getDefaultTextLetterSpacing()481 DataDrivenPropertyValue<float> SymbolLayer::getDefaultTextLetterSpacing() {
482     return TextLetterSpacing::defaultValue();
483 }
484 
getTextLetterSpacing() const485 DataDrivenPropertyValue<float> SymbolLayer::getTextLetterSpacing() const {
486     return impl().layout.get<TextLetterSpacing>();
487 }
488 
setTextLetterSpacing(DataDrivenPropertyValue<float> value)489 void SymbolLayer::setTextLetterSpacing(DataDrivenPropertyValue<float> value) {
490     if (value == getTextLetterSpacing())
491         return;
492     auto impl_ = mutableImpl();
493     impl_->layout.get<TextLetterSpacing>() = value;
494     baseImpl = std::move(impl_);
495     observer->onLayerChanged(*this);
496 }
getDefaultTextJustify()497 DataDrivenPropertyValue<TextJustifyType> SymbolLayer::getDefaultTextJustify() {
498     return TextJustify::defaultValue();
499 }
500 
getTextJustify() const501 DataDrivenPropertyValue<TextJustifyType> SymbolLayer::getTextJustify() const {
502     return impl().layout.get<TextJustify>();
503 }
504 
setTextJustify(DataDrivenPropertyValue<TextJustifyType> value)505 void SymbolLayer::setTextJustify(DataDrivenPropertyValue<TextJustifyType> value) {
506     if (value == getTextJustify())
507         return;
508     auto impl_ = mutableImpl();
509     impl_->layout.get<TextJustify>() = value;
510     baseImpl = std::move(impl_);
511     observer->onLayerChanged(*this);
512 }
getDefaultTextAnchor()513 DataDrivenPropertyValue<SymbolAnchorType> SymbolLayer::getDefaultTextAnchor() {
514     return TextAnchor::defaultValue();
515 }
516 
getTextAnchor() const517 DataDrivenPropertyValue<SymbolAnchorType> SymbolLayer::getTextAnchor() const {
518     return impl().layout.get<TextAnchor>();
519 }
520 
setTextAnchor(DataDrivenPropertyValue<SymbolAnchorType> value)521 void SymbolLayer::setTextAnchor(DataDrivenPropertyValue<SymbolAnchorType> value) {
522     if (value == getTextAnchor())
523         return;
524     auto impl_ = mutableImpl();
525     impl_->layout.get<TextAnchor>() = value;
526     baseImpl = std::move(impl_);
527     observer->onLayerChanged(*this);
528 }
getDefaultTextMaxAngle()529 PropertyValue<float> SymbolLayer::getDefaultTextMaxAngle() {
530     return TextMaxAngle::defaultValue();
531 }
532 
getTextMaxAngle() const533 PropertyValue<float> SymbolLayer::getTextMaxAngle() const {
534     return impl().layout.get<TextMaxAngle>();
535 }
536 
setTextMaxAngle(PropertyValue<float> value)537 void SymbolLayer::setTextMaxAngle(PropertyValue<float> value) {
538     if (value == getTextMaxAngle())
539         return;
540     auto impl_ = mutableImpl();
541     impl_->layout.get<TextMaxAngle>() = value;
542     baseImpl = std::move(impl_);
543     observer->onLayerChanged(*this);
544 }
getDefaultTextRotate()545 DataDrivenPropertyValue<float> SymbolLayer::getDefaultTextRotate() {
546     return TextRotate::defaultValue();
547 }
548 
getTextRotate() const549 DataDrivenPropertyValue<float> SymbolLayer::getTextRotate() const {
550     return impl().layout.get<TextRotate>();
551 }
552 
setTextRotate(DataDrivenPropertyValue<float> value)553 void SymbolLayer::setTextRotate(DataDrivenPropertyValue<float> value) {
554     if (value == getTextRotate())
555         return;
556     auto impl_ = mutableImpl();
557     impl_->layout.get<TextRotate>() = value;
558     baseImpl = std::move(impl_);
559     observer->onLayerChanged(*this);
560 }
getDefaultTextPadding()561 PropertyValue<float> SymbolLayer::getDefaultTextPadding() {
562     return TextPadding::defaultValue();
563 }
564 
getTextPadding() const565 PropertyValue<float> SymbolLayer::getTextPadding() const {
566     return impl().layout.get<TextPadding>();
567 }
568 
setTextPadding(PropertyValue<float> value)569 void SymbolLayer::setTextPadding(PropertyValue<float> value) {
570     if (value == getTextPadding())
571         return;
572     auto impl_ = mutableImpl();
573     impl_->layout.get<TextPadding>() = value;
574     baseImpl = std::move(impl_);
575     observer->onLayerChanged(*this);
576 }
getDefaultTextKeepUpright()577 PropertyValue<bool> SymbolLayer::getDefaultTextKeepUpright() {
578     return TextKeepUpright::defaultValue();
579 }
580 
getTextKeepUpright() const581 PropertyValue<bool> SymbolLayer::getTextKeepUpright() const {
582     return impl().layout.get<TextKeepUpright>();
583 }
584 
setTextKeepUpright(PropertyValue<bool> value)585 void SymbolLayer::setTextKeepUpright(PropertyValue<bool> value) {
586     if (value == getTextKeepUpright())
587         return;
588     auto impl_ = mutableImpl();
589     impl_->layout.get<TextKeepUpright>() = value;
590     baseImpl = std::move(impl_);
591     observer->onLayerChanged(*this);
592 }
getDefaultTextTransform()593 DataDrivenPropertyValue<TextTransformType> SymbolLayer::getDefaultTextTransform() {
594     return TextTransform::defaultValue();
595 }
596 
getTextTransform() const597 DataDrivenPropertyValue<TextTransformType> SymbolLayer::getTextTransform() const {
598     return impl().layout.get<TextTransform>();
599 }
600 
setTextTransform(DataDrivenPropertyValue<TextTransformType> value)601 void SymbolLayer::setTextTransform(DataDrivenPropertyValue<TextTransformType> value) {
602     if (value == getTextTransform())
603         return;
604     auto impl_ = mutableImpl();
605     impl_->layout.get<TextTransform>() = value;
606     baseImpl = std::move(impl_);
607     observer->onLayerChanged(*this);
608 }
getDefaultTextOffset()609 DataDrivenPropertyValue<std::array<float, 2>> SymbolLayer::getDefaultTextOffset() {
610     return TextOffset::defaultValue();
611 }
612 
getTextOffset() const613 DataDrivenPropertyValue<std::array<float, 2>> SymbolLayer::getTextOffset() const {
614     return impl().layout.get<TextOffset>();
615 }
616 
setTextOffset(DataDrivenPropertyValue<std::array<float,2>> value)617 void SymbolLayer::setTextOffset(DataDrivenPropertyValue<std::array<float, 2>> value) {
618     if (value == getTextOffset())
619         return;
620     auto impl_ = mutableImpl();
621     impl_->layout.get<TextOffset>() = value;
622     baseImpl = std::move(impl_);
623     observer->onLayerChanged(*this);
624 }
getDefaultTextAllowOverlap()625 PropertyValue<bool> SymbolLayer::getDefaultTextAllowOverlap() {
626     return TextAllowOverlap::defaultValue();
627 }
628 
getTextAllowOverlap() const629 PropertyValue<bool> SymbolLayer::getTextAllowOverlap() const {
630     return impl().layout.get<TextAllowOverlap>();
631 }
632 
setTextAllowOverlap(PropertyValue<bool> value)633 void SymbolLayer::setTextAllowOverlap(PropertyValue<bool> value) {
634     if (value == getTextAllowOverlap())
635         return;
636     auto impl_ = mutableImpl();
637     impl_->layout.get<TextAllowOverlap>() = value;
638     baseImpl = std::move(impl_);
639     observer->onLayerChanged(*this);
640 }
getDefaultTextIgnorePlacement()641 PropertyValue<bool> SymbolLayer::getDefaultTextIgnorePlacement() {
642     return TextIgnorePlacement::defaultValue();
643 }
644 
getTextIgnorePlacement() const645 PropertyValue<bool> SymbolLayer::getTextIgnorePlacement() const {
646     return impl().layout.get<TextIgnorePlacement>();
647 }
648 
setTextIgnorePlacement(PropertyValue<bool> value)649 void SymbolLayer::setTextIgnorePlacement(PropertyValue<bool> value) {
650     if (value == getTextIgnorePlacement())
651         return;
652     auto impl_ = mutableImpl();
653     impl_->layout.get<TextIgnorePlacement>() = value;
654     baseImpl = std::move(impl_);
655     observer->onLayerChanged(*this);
656 }
getDefaultTextOptional()657 PropertyValue<bool> SymbolLayer::getDefaultTextOptional() {
658     return TextOptional::defaultValue();
659 }
660 
getTextOptional() const661 PropertyValue<bool> SymbolLayer::getTextOptional() const {
662     return impl().layout.get<TextOptional>();
663 }
664 
setTextOptional(PropertyValue<bool> value)665 void SymbolLayer::setTextOptional(PropertyValue<bool> value) {
666     if (value == getTextOptional())
667         return;
668     auto impl_ = mutableImpl();
669     impl_->layout.get<TextOptional>() = value;
670     baseImpl = std::move(impl_);
671     observer->onLayerChanged(*this);
672 }
673 
674 // Paint properties
675 
getDefaultIconOpacity()676 DataDrivenPropertyValue<float> SymbolLayer::getDefaultIconOpacity() {
677     return { 1 };
678 }
679 
getIconOpacity() const680 DataDrivenPropertyValue<float> SymbolLayer::getIconOpacity() const {
681     return impl().paint.template get<IconOpacity>().value;
682 }
683 
setIconOpacity(DataDrivenPropertyValue<float> value)684 void SymbolLayer::setIconOpacity(DataDrivenPropertyValue<float> value) {
685     if (value == getIconOpacity())
686         return;
687     auto impl_ = mutableImpl();
688     impl_->paint.template get<IconOpacity>().value = value;
689     baseImpl = std::move(impl_);
690     observer->onLayerChanged(*this);
691 }
692 
setIconOpacityTransition(const TransitionOptions & options)693 void SymbolLayer::setIconOpacityTransition(const TransitionOptions& options) {
694     auto impl_ = mutableImpl();
695     impl_->paint.template get<IconOpacity>().options = options;
696     baseImpl = std::move(impl_);
697 }
698 
getIconOpacityTransition() const699 TransitionOptions SymbolLayer::getIconOpacityTransition() const {
700     return impl().paint.template get<IconOpacity>().options;
701 }
702 
getDefaultIconColor()703 DataDrivenPropertyValue<Color> SymbolLayer::getDefaultIconColor() {
704     return { Color::black() };
705 }
706 
getIconColor() const707 DataDrivenPropertyValue<Color> SymbolLayer::getIconColor() const {
708     return impl().paint.template get<IconColor>().value;
709 }
710 
setIconColor(DataDrivenPropertyValue<Color> value)711 void SymbolLayer::setIconColor(DataDrivenPropertyValue<Color> value) {
712     if (value == getIconColor())
713         return;
714     auto impl_ = mutableImpl();
715     impl_->paint.template get<IconColor>().value = value;
716     baseImpl = std::move(impl_);
717     observer->onLayerChanged(*this);
718 }
719 
setIconColorTransition(const TransitionOptions & options)720 void SymbolLayer::setIconColorTransition(const TransitionOptions& options) {
721     auto impl_ = mutableImpl();
722     impl_->paint.template get<IconColor>().options = options;
723     baseImpl = std::move(impl_);
724 }
725 
getIconColorTransition() const726 TransitionOptions SymbolLayer::getIconColorTransition() const {
727     return impl().paint.template get<IconColor>().options;
728 }
729 
getDefaultIconHaloColor()730 DataDrivenPropertyValue<Color> SymbolLayer::getDefaultIconHaloColor() {
731     return { {} };
732 }
733 
getIconHaloColor() const734 DataDrivenPropertyValue<Color> SymbolLayer::getIconHaloColor() const {
735     return impl().paint.template get<IconHaloColor>().value;
736 }
737 
setIconHaloColor(DataDrivenPropertyValue<Color> value)738 void SymbolLayer::setIconHaloColor(DataDrivenPropertyValue<Color> value) {
739     if (value == getIconHaloColor())
740         return;
741     auto impl_ = mutableImpl();
742     impl_->paint.template get<IconHaloColor>().value = value;
743     baseImpl = std::move(impl_);
744     observer->onLayerChanged(*this);
745 }
746 
setIconHaloColorTransition(const TransitionOptions & options)747 void SymbolLayer::setIconHaloColorTransition(const TransitionOptions& options) {
748     auto impl_ = mutableImpl();
749     impl_->paint.template get<IconHaloColor>().options = options;
750     baseImpl = std::move(impl_);
751 }
752 
getIconHaloColorTransition() const753 TransitionOptions SymbolLayer::getIconHaloColorTransition() const {
754     return impl().paint.template get<IconHaloColor>().options;
755 }
756 
getDefaultIconHaloWidth()757 DataDrivenPropertyValue<float> SymbolLayer::getDefaultIconHaloWidth() {
758     return { 0 };
759 }
760 
getIconHaloWidth() const761 DataDrivenPropertyValue<float> SymbolLayer::getIconHaloWidth() const {
762     return impl().paint.template get<IconHaloWidth>().value;
763 }
764 
setIconHaloWidth(DataDrivenPropertyValue<float> value)765 void SymbolLayer::setIconHaloWidth(DataDrivenPropertyValue<float> value) {
766     if (value == getIconHaloWidth())
767         return;
768     auto impl_ = mutableImpl();
769     impl_->paint.template get<IconHaloWidth>().value = value;
770     baseImpl = std::move(impl_);
771     observer->onLayerChanged(*this);
772 }
773 
setIconHaloWidthTransition(const TransitionOptions & options)774 void SymbolLayer::setIconHaloWidthTransition(const TransitionOptions& options) {
775     auto impl_ = mutableImpl();
776     impl_->paint.template get<IconHaloWidth>().options = options;
777     baseImpl = std::move(impl_);
778 }
779 
getIconHaloWidthTransition() const780 TransitionOptions SymbolLayer::getIconHaloWidthTransition() const {
781     return impl().paint.template get<IconHaloWidth>().options;
782 }
783 
getDefaultIconHaloBlur()784 DataDrivenPropertyValue<float> SymbolLayer::getDefaultIconHaloBlur() {
785     return { 0 };
786 }
787 
getIconHaloBlur() const788 DataDrivenPropertyValue<float> SymbolLayer::getIconHaloBlur() const {
789     return impl().paint.template get<IconHaloBlur>().value;
790 }
791 
setIconHaloBlur(DataDrivenPropertyValue<float> value)792 void SymbolLayer::setIconHaloBlur(DataDrivenPropertyValue<float> value) {
793     if (value == getIconHaloBlur())
794         return;
795     auto impl_ = mutableImpl();
796     impl_->paint.template get<IconHaloBlur>().value = value;
797     baseImpl = std::move(impl_);
798     observer->onLayerChanged(*this);
799 }
800 
setIconHaloBlurTransition(const TransitionOptions & options)801 void SymbolLayer::setIconHaloBlurTransition(const TransitionOptions& options) {
802     auto impl_ = mutableImpl();
803     impl_->paint.template get<IconHaloBlur>().options = options;
804     baseImpl = std::move(impl_);
805 }
806 
getIconHaloBlurTransition() const807 TransitionOptions SymbolLayer::getIconHaloBlurTransition() const {
808     return impl().paint.template get<IconHaloBlur>().options;
809 }
810 
getDefaultIconTranslate()811 PropertyValue<std::array<float, 2>> SymbolLayer::getDefaultIconTranslate() {
812     return { {{ 0, 0 }} };
813 }
814 
getIconTranslate() const815 PropertyValue<std::array<float, 2>> SymbolLayer::getIconTranslate() const {
816     return impl().paint.template get<IconTranslate>().value;
817 }
818 
setIconTranslate(PropertyValue<std::array<float,2>> value)819 void SymbolLayer::setIconTranslate(PropertyValue<std::array<float, 2>> value) {
820     if (value == getIconTranslate())
821         return;
822     auto impl_ = mutableImpl();
823     impl_->paint.template get<IconTranslate>().value = value;
824     baseImpl = std::move(impl_);
825     observer->onLayerChanged(*this);
826 }
827 
setIconTranslateTransition(const TransitionOptions & options)828 void SymbolLayer::setIconTranslateTransition(const TransitionOptions& options) {
829     auto impl_ = mutableImpl();
830     impl_->paint.template get<IconTranslate>().options = options;
831     baseImpl = std::move(impl_);
832 }
833 
getIconTranslateTransition() const834 TransitionOptions SymbolLayer::getIconTranslateTransition() const {
835     return impl().paint.template get<IconTranslate>().options;
836 }
837 
getDefaultIconTranslateAnchor()838 PropertyValue<TranslateAnchorType> SymbolLayer::getDefaultIconTranslateAnchor() {
839     return { TranslateAnchorType::Map };
840 }
841 
getIconTranslateAnchor() const842 PropertyValue<TranslateAnchorType> SymbolLayer::getIconTranslateAnchor() const {
843     return impl().paint.template get<IconTranslateAnchor>().value;
844 }
845 
setIconTranslateAnchor(PropertyValue<TranslateAnchorType> value)846 void SymbolLayer::setIconTranslateAnchor(PropertyValue<TranslateAnchorType> value) {
847     if (value == getIconTranslateAnchor())
848         return;
849     auto impl_ = mutableImpl();
850     impl_->paint.template get<IconTranslateAnchor>().value = value;
851     baseImpl = std::move(impl_);
852     observer->onLayerChanged(*this);
853 }
854 
setIconTranslateAnchorTransition(const TransitionOptions & options)855 void SymbolLayer::setIconTranslateAnchorTransition(const TransitionOptions& options) {
856     auto impl_ = mutableImpl();
857     impl_->paint.template get<IconTranslateAnchor>().options = options;
858     baseImpl = std::move(impl_);
859 }
860 
getIconTranslateAnchorTransition() const861 TransitionOptions SymbolLayer::getIconTranslateAnchorTransition() const {
862     return impl().paint.template get<IconTranslateAnchor>().options;
863 }
864 
getDefaultTextOpacity()865 DataDrivenPropertyValue<float> SymbolLayer::getDefaultTextOpacity() {
866     return { 1 };
867 }
868 
getTextOpacity() const869 DataDrivenPropertyValue<float> SymbolLayer::getTextOpacity() const {
870     return impl().paint.template get<TextOpacity>().value;
871 }
872 
setTextOpacity(DataDrivenPropertyValue<float> value)873 void SymbolLayer::setTextOpacity(DataDrivenPropertyValue<float> value) {
874     if (value == getTextOpacity())
875         return;
876     auto impl_ = mutableImpl();
877     impl_->paint.template get<TextOpacity>().value = value;
878     baseImpl = std::move(impl_);
879     observer->onLayerChanged(*this);
880 }
881 
setTextOpacityTransition(const TransitionOptions & options)882 void SymbolLayer::setTextOpacityTransition(const TransitionOptions& options) {
883     auto impl_ = mutableImpl();
884     impl_->paint.template get<TextOpacity>().options = options;
885     baseImpl = std::move(impl_);
886 }
887 
getTextOpacityTransition() const888 TransitionOptions SymbolLayer::getTextOpacityTransition() const {
889     return impl().paint.template get<TextOpacity>().options;
890 }
891 
getDefaultTextColor()892 DataDrivenPropertyValue<Color> SymbolLayer::getDefaultTextColor() {
893     return { Color::black() };
894 }
895 
getTextColor() const896 DataDrivenPropertyValue<Color> SymbolLayer::getTextColor() const {
897     return impl().paint.template get<TextColor>().value;
898 }
899 
setTextColor(DataDrivenPropertyValue<Color> value)900 void SymbolLayer::setTextColor(DataDrivenPropertyValue<Color> value) {
901     if (value == getTextColor())
902         return;
903     auto impl_ = mutableImpl();
904     impl_->paint.template get<TextColor>().value = value;
905     baseImpl = std::move(impl_);
906     observer->onLayerChanged(*this);
907 }
908 
setTextColorTransition(const TransitionOptions & options)909 void SymbolLayer::setTextColorTransition(const TransitionOptions& options) {
910     auto impl_ = mutableImpl();
911     impl_->paint.template get<TextColor>().options = options;
912     baseImpl = std::move(impl_);
913 }
914 
getTextColorTransition() const915 TransitionOptions SymbolLayer::getTextColorTransition() const {
916     return impl().paint.template get<TextColor>().options;
917 }
918 
getDefaultTextHaloColor()919 DataDrivenPropertyValue<Color> SymbolLayer::getDefaultTextHaloColor() {
920     return { {} };
921 }
922 
getTextHaloColor() const923 DataDrivenPropertyValue<Color> SymbolLayer::getTextHaloColor() const {
924     return impl().paint.template get<TextHaloColor>().value;
925 }
926 
setTextHaloColor(DataDrivenPropertyValue<Color> value)927 void SymbolLayer::setTextHaloColor(DataDrivenPropertyValue<Color> value) {
928     if (value == getTextHaloColor())
929         return;
930     auto impl_ = mutableImpl();
931     impl_->paint.template get<TextHaloColor>().value = value;
932     baseImpl = std::move(impl_);
933     observer->onLayerChanged(*this);
934 }
935 
setTextHaloColorTransition(const TransitionOptions & options)936 void SymbolLayer::setTextHaloColorTransition(const TransitionOptions& options) {
937     auto impl_ = mutableImpl();
938     impl_->paint.template get<TextHaloColor>().options = options;
939     baseImpl = std::move(impl_);
940 }
941 
getTextHaloColorTransition() const942 TransitionOptions SymbolLayer::getTextHaloColorTransition() const {
943     return impl().paint.template get<TextHaloColor>().options;
944 }
945 
getDefaultTextHaloWidth()946 DataDrivenPropertyValue<float> SymbolLayer::getDefaultTextHaloWidth() {
947     return { 0 };
948 }
949 
getTextHaloWidth() const950 DataDrivenPropertyValue<float> SymbolLayer::getTextHaloWidth() const {
951     return impl().paint.template get<TextHaloWidth>().value;
952 }
953 
setTextHaloWidth(DataDrivenPropertyValue<float> value)954 void SymbolLayer::setTextHaloWidth(DataDrivenPropertyValue<float> value) {
955     if (value == getTextHaloWidth())
956         return;
957     auto impl_ = mutableImpl();
958     impl_->paint.template get<TextHaloWidth>().value = value;
959     baseImpl = std::move(impl_);
960     observer->onLayerChanged(*this);
961 }
962 
setTextHaloWidthTransition(const TransitionOptions & options)963 void SymbolLayer::setTextHaloWidthTransition(const TransitionOptions& options) {
964     auto impl_ = mutableImpl();
965     impl_->paint.template get<TextHaloWidth>().options = options;
966     baseImpl = std::move(impl_);
967 }
968 
getTextHaloWidthTransition() const969 TransitionOptions SymbolLayer::getTextHaloWidthTransition() const {
970     return impl().paint.template get<TextHaloWidth>().options;
971 }
972 
getDefaultTextHaloBlur()973 DataDrivenPropertyValue<float> SymbolLayer::getDefaultTextHaloBlur() {
974     return { 0 };
975 }
976 
getTextHaloBlur() const977 DataDrivenPropertyValue<float> SymbolLayer::getTextHaloBlur() const {
978     return impl().paint.template get<TextHaloBlur>().value;
979 }
980 
setTextHaloBlur(DataDrivenPropertyValue<float> value)981 void SymbolLayer::setTextHaloBlur(DataDrivenPropertyValue<float> value) {
982     if (value == getTextHaloBlur())
983         return;
984     auto impl_ = mutableImpl();
985     impl_->paint.template get<TextHaloBlur>().value = value;
986     baseImpl = std::move(impl_);
987     observer->onLayerChanged(*this);
988 }
989 
setTextHaloBlurTransition(const TransitionOptions & options)990 void SymbolLayer::setTextHaloBlurTransition(const TransitionOptions& options) {
991     auto impl_ = mutableImpl();
992     impl_->paint.template get<TextHaloBlur>().options = options;
993     baseImpl = std::move(impl_);
994 }
995 
getTextHaloBlurTransition() const996 TransitionOptions SymbolLayer::getTextHaloBlurTransition() const {
997     return impl().paint.template get<TextHaloBlur>().options;
998 }
999 
getDefaultTextTranslate()1000 PropertyValue<std::array<float, 2>> SymbolLayer::getDefaultTextTranslate() {
1001     return { {{ 0, 0 }} };
1002 }
1003 
getTextTranslate() const1004 PropertyValue<std::array<float, 2>> SymbolLayer::getTextTranslate() const {
1005     return impl().paint.template get<TextTranslate>().value;
1006 }
1007 
setTextTranslate(PropertyValue<std::array<float,2>> value)1008 void SymbolLayer::setTextTranslate(PropertyValue<std::array<float, 2>> value) {
1009     if (value == getTextTranslate())
1010         return;
1011     auto impl_ = mutableImpl();
1012     impl_->paint.template get<TextTranslate>().value = value;
1013     baseImpl = std::move(impl_);
1014     observer->onLayerChanged(*this);
1015 }
1016 
setTextTranslateTransition(const TransitionOptions & options)1017 void SymbolLayer::setTextTranslateTransition(const TransitionOptions& options) {
1018     auto impl_ = mutableImpl();
1019     impl_->paint.template get<TextTranslate>().options = options;
1020     baseImpl = std::move(impl_);
1021 }
1022 
getTextTranslateTransition() const1023 TransitionOptions SymbolLayer::getTextTranslateTransition() const {
1024     return impl().paint.template get<TextTranslate>().options;
1025 }
1026 
getDefaultTextTranslateAnchor()1027 PropertyValue<TranslateAnchorType> SymbolLayer::getDefaultTextTranslateAnchor() {
1028     return { TranslateAnchorType::Map };
1029 }
1030 
getTextTranslateAnchor() const1031 PropertyValue<TranslateAnchorType> SymbolLayer::getTextTranslateAnchor() const {
1032     return impl().paint.template get<TextTranslateAnchor>().value;
1033 }
1034 
setTextTranslateAnchor(PropertyValue<TranslateAnchorType> value)1035 void SymbolLayer::setTextTranslateAnchor(PropertyValue<TranslateAnchorType> value) {
1036     if (value == getTextTranslateAnchor())
1037         return;
1038     auto impl_ = mutableImpl();
1039     impl_->paint.template get<TextTranslateAnchor>().value = value;
1040     baseImpl = std::move(impl_);
1041     observer->onLayerChanged(*this);
1042 }
1043 
setTextTranslateAnchorTransition(const TransitionOptions & options)1044 void SymbolLayer::setTextTranslateAnchorTransition(const TransitionOptions& options) {
1045     auto impl_ = mutableImpl();
1046     impl_->paint.template get<TextTranslateAnchor>().options = options;
1047     baseImpl = std::move(impl_);
1048 }
1049 
getTextTranslateAnchorTransition() const1050 TransitionOptions SymbolLayer::getTextTranslateAnchorTransition() const {
1051     return impl().paint.template get<TextTranslateAnchor>().options;
1052 }
1053 
1054 } // namespace style
1055 } // namespace mbgl
1056