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