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