diff options
Diffstat (limited to 'include/mbgl/style/layers')
-rw-r--r-- | include/mbgl/style/layers/background_layer.hpp | 40 | ||||
-rw-r--r-- | include/mbgl/style/layers/circle_layer.hpp | 102 | ||||
-rw-r--r-- | include/mbgl/style/layers/custom_layer.hpp | 29 | ||||
-rw-r--r-- | include/mbgl/style/layers/fill_extrusion_layer.hpp | 72 | ||||
-rw-r--r-- | include/mbgl/style/layers/fill_layer.hpp | 72 | ||||
-rw-r--r-- | include/mbgl/style/layers/layer.hpp.ejs | 24 | ||||
-rw-r--r-- | include/mbgl/style/layers/line_layer.hpp | 104 | ||||
-rw-r--r-- | include/mbgl/style/layers/raster_layer.hpp | 72 | ||||
-rw-r--r-- | include/mbgl/style/layers/symbol_layer.hpp | 160 |
9 files changed, 389 insertions, 286 deletions
diff --git a/include/mbgl/style/layers/background_layer.hpp b/include/mbgl/style/layers/background_layer.hpp index 6604a868f3..903983844f 100644 --- a/include/mbgl/style/layers/background_layer.hpp +++ b/include/mbgl/style/layers/background_layer.hpp @@ -19,38 +19,46 @@ public: BackgroundLayer(const std::string& layerID); ~BackgroundLayer() final; + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + // Paint properties static PropertyValue<Color> getDefaultBackgroundColor(); - PropertyValue<Color> getBackgroundColor(const optional<std::string>& klass = {}) const; - void setBackgroundColor(PropertyValue<Color>, const optional<std::string>& klass = {}); - void setBackgroundColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getBackgroundColorTransition(const optional<std::string>& klass = {}) const; + PropertyValue<Color> getBackgroundColor() const; + void setBackgroundColor(PropertyValue<Color>); + void setBackgroundColorTransition(const TransitionOptions&); + TransitionOptions getBackgroundColorTransition() const; static PropertyValue<std::string> getDefaultBackgroundPattern(); - PropertyValue<std::string> getBackgroundPattern(const optional<std::string>& klass = {}) const; - void setBackgroundPattern(PropertyValue<std::string>, const optional<std::string>& klass = {}); - void setBackgroundPatternTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getBackgroundPatternTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::string> getBackgroundPattern() const; + void setBackgroundPattern(PropertyValue<std::string>); + void setBackgroundPatternTransition(const TransitionOptions&); + TransitionOptions getBackgroundPatternTransition() const; static PropertyValue<float> getDefaultBackgroundOpacity(); - PropertyValue<float> getBackgroundOpacity(const optional<std::string>& klass = {}) const; - void setBackgroundOpacity(PropertyValue<float>, const optional<std::string>& klass = {}); - void setBackgroundOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getBackgroundOpacityTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getBackgroundOpacity() const; + void setBackgroundOpacity(PropertyValue<float>); + void setBackgroundOpacityTransition(const TransitionOptions&); + TransitionOptions getBackgroundOpacityTransition() const; // Private implementation class Impl; - Impl* const impl; + const Impl& impl() const; - BackgroundLayer(const Impl&); - BackgroundLayer(const BackgroundLayer&) = delete; + Mutable<Impl> mutableImpl() const; + BackgroundLayer(Immutable<Impl>); + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; }; template <> inline bool Layer::is<BackgroundLayer>() const { - return type == LayerType::Background; + return getType() == LayerType::Background; } } // namespace style diff --git a/include/mbgl/style/layers/circle_layer.hpp b/include/mbgl/style/layers/circle_layer.hpp index 3a3723249f..942dd67503 100644 --- a/include/mbgl/style/layers/circle_layer.hpp +++ b/include/mbgl/style/layers/circle_layer.hpp @@ -27,80 +27,94 @@ public: void setFilter(const Filter&); const Filter& getFilter() const; + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + // Paint properties static DataDrivenPropertyValue<float> getDefaultCircleRadius(); - DataDrivenPropertyValue<float> getCircleRadius(const optional<std::string>& klass = {}) const; - void setCircleRadius(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setCircleRadiusTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleRadiusTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getCircleRadius() const; + void setCircleRadius(DataDrivenPropertyValue<float>); + void setCircleRadiusTransition(const TransitionOptions&); + TransitionOptions getCircleRadiusTransition() const; static DataDrivenPropertyValue<Color> getDefaultCircleColor(); - DataDrivenPropertyValue<Color> getCircleColor(const optional<std::string>& klass = {}) const; - void setCircleColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setCircleColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getCircleColor() const; + void setCircleColor(DataDrivenPropertyValue<Color>); + void setCircleColorTransition(const TransitionOptions&); + TransitionOptions getCircleColorTransition() const; static DataDrivenPropertyValue<float> getDefaultCircleBlur(); - DataDrivenPropertyValue<float> getCircleBlur(const optional<std::string>& klass = {}) const; - void setCircleBlur(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setCircleBlurTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleBlurTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getCircleBlur() const; + void setCircleBlur(DataDrivenPropertyValue<float>); + void setCircleBlurTransition(const TransitionOptions&); + TransitionOptions getCircleBlurTransition() const; static DataDrivenPropertyValue<float> getDefaultCircleOpacity(); - DataDrivenPropertyValue<float> getCircleOpacity(const optional<std::string>& klass = {}) const; - void setCircleOpacity(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setCircleOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleOpacityTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getCircleOpacity() const; + void setCircleOpacity(DataDrivenPropertyValue<float>); + void setCircleOpacityTransition(const TransitionOptions&); + TransitionOptions getCircleOpacityTransition() const; static PropertyValue<std::array<float, 2>> getDefaultCircleTranslate(); - PropertyValue<std::array<float, 2>> getCircleTranslate(const optional<std::string>& klass = {}) const; - void setCircleTranslate(PropertyValue<std::array<float, 2>>, const optional<std::string>& klass = {}); - void setCircleTranslateTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleTranslateTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::array<float, 2>> getCircleTranslate() const; + void setCircleTranslate(PropertyValue<std::array<float, 2>>); + void setCircleTranslateTransition(const TransitionOptions&); + TransitionOptions getCircleTranslateTransition() const; static PropertyValue<TranslateAnchorType> getDefaultCircleTranslateAnchor(); - PropertyValue<TranslateAnchorType> getCircleTranslateAnchor(const optional<std::string>& klass = {}) const; - void setCircleTranslateAnchor(PropertyValue<TranslateAnchorType>, const optional<std::string>& klass = {}); - void setCircleTranslateAnchorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleTranslateAnchorTransition(const optional<std::string>& klass = {}) const; + PropertyValue<TranslateAnchorType> getCircleTranslateAnchor() const; + void setCircleTranslateAnchor(PropertyValue<TranslateAnchorType>); + void setCircleTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getCircleTranslateAnchorTransition() const; static PropertyValue<CirclePitchScaleType> getDefaultCirclePitchScale(); - PropertyValue<CirclePitchScaleType> getCirclePitchScale(const optional<std::string>& klass = {}) const; - void setCirclePitchScale(PropertyValue<CirclePitchScaleType>, const optional<std::string>& klass = {}); - void setCirclePitchScaleTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCirclePitchScaleTransition(const optional<std::string>& klass = {}) const; + PropertyValue<CirclePitchScaleType> getCirclePitchScale() const; + void setCirclePitchScale(PropertyValue<CirclePitchScaleType>); + void setCirclePitchScaleTransition(const TransitionOptions&); + TransitionOptions getCirclePitchScaleTransition() const; + + static PropertyValue<AlignmentType> getDefaultCirclePitchAlignment(); + PropertyValue<AlignmentType> getCirclePitchAlignment() const; + void setCirclePitchAlignment(PropertyValue<AlignmentType>); + void setCirclePitchAlignmentTransition(const TransitionOptions&); + TransitionOptions getCirclePitchAlignmentTransition() const; static DataDrivenPropertyValue<float> getDefaultCircleStrokeWidth(); - DataDrivenPropertyValue<float> getCircleStrokeWidth(const optional<std::string>& klass = {}) const; - void setCircleStrokeWidth(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setCircleStrokeWidthTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleStrokeWidthTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getCircleStrokeWidth() const; + void setCircleStrokeWidth(DataDrivenPropertyValue<float>); + void setCircleStrokeWidthTransition(const TransitionOptions&); + TransitionOptions getCircleStrokeWidthTransition() const; static DataDrivenPropertyValue<Color> getDefaultCircleStrokeColor(); - DataDrivenPropertyValue<Color> getCircleStrokeColor(const optional<std::string>& klass = {}) const; - void setCircleStrokeColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setCircleStrokeColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleStrokeColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getCircleStrokeColor() const; + void setCircleStrokeColor(DataDrivenPropertyValue<Color>); + void setCircleStrokeColorTransition(const TransitionOptions&); + TransitionOptions getCircleStrokeColorTransition() const; static DataDrivenPropertyValue<float> getDefaultCircleStrokeOpacity(); - DataDrivenPropertyValue<float> getCircleStrokeOpacity(const optional<std::string>& klass = {}) const; - void setCircleStrokeOpacity(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setCircleStrokeOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getCircleStrokeOpacityTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getCircleStrokeOpacity() const; + void setCircleStrokeOpacity(DataDrivenPropertyValue<float>); + void setCircleStrokeOpacityTransition(const TransitionOptions&); + TransitionOptions getCircleStrokeOpacityTransition() const; // Private implementation class Impl; - Impl* const impl; + const Impl& impl() const; - CircleLayer(const Impl&); - CircleLayer(const CircleLayer&) = delete; + Mutable<Impl> mutableImpl() const; + CircleLayer(Immutable<Impl>); + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; }; template <> inline bool Layer::is<CircleLayer>() const { - return type == LayerType::Circle; + return getType() == LayerType::Circle; } } // namespace style diff --git a/include/mbgl/style/layers/custom_layer.hpp b/include/mbgl/style/layers/custom_layer.hpp index edc8d43f89..bf3387f95b 100644 --- a/include/mbgl/style/layers/custom_layer.hpp +++ b/include/mbgl/style/layers/custom_layer.hpp @@ -39,6 +39,14 @@ struct CustomLayerRenderParameters { using CustomLayerRenderFunction = void (*)(void* context, const CustomLayerRenderParameters&); /** + * Called when the system has destroyed the underlying GL context. The + * `CustomLayerDeinitializeFunction` will not be called in this case, however + * `CustomLayerInitializeFunction` will be called instead to prepare for a new render. + * + */ +using CustomLayerContextLostFunction = void (*)(void* context); + +/** * Destroy any GL state needed by the custom layer, and deallocate context, if necessary. This * method is called once, from the main thread, at a point when the GL context is active. * @@ -51,16 +59,33 @@ public: CustomLayer(const std::string& id, CustomLayerInitializeFunction, CustomLayerRenderFunction, + CustomLayerContextLostFunction, + CustomLayerDeinitializeFunction, + void* context); + + CustomLayer(const std::string& id, + CustomLayerInitializeFunction, + CustomLayerRenderFunction, CustomLayerDeinitializeFunction, void* context); + ~CustomLayer() final; + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + // Private implementation class Impl; - Impl* impl; + const Impl& impl() const; + + Mutable<Impl> mutableImpl() const; + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; - CustomLayer(const Impl&); CustomLayer(const CustomLayer&) = delete; }; diff --git a/include/mbgl/style/layers/fill_extrusion_layer.hpp b/include/mbgl/style/layers/fill_extrusion_layer.hpp index 1f79f87fac..e1c54f54ee 100644 --- a/include/mbgl/style/layers/fill_extrusion_layer.hpp +++ b/include/mbgl/style/layers/fill_extrusion_layer.hpp @@ -27,62 +27,70 @@ public: void setFilter(const Filter&); const Filter& getFilter() const; + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + // Paint properties static PropertyValue<float> getDefaultFillExtrusionOpacity(); - PropertyValue<float> getFillExtrusionOpacity(const optional<std::string>& klass = {}) const; - void setFillExtrusionOpacity(PropertyValue<float>, const optional<std::string>& klass = {}); - void setFillExtrusionOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillExtrusionOpacityTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getFillExtrusionOpacity() const; + void setFillExtrusionOpacity(PropertyValue<float>); + void setFillExtrusionOpacityTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionOpacityTransition() const; static DataDrivenPropertyValue<Color> getDefaultFillExtrusionColor(); - DataDrivenPropertyValue<Color> getFillExtrusionColor(const optional<std::string>& klass = {}) const; - void setFillExtrusionColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setFillExtrusionColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillExtrusionColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getFillExtrusionColor() const; + void setFillExtrusionColor(DataDrivenPropertyValue<Color>); + void setFillExtrusionColorTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionColorTransition() const; static PropertyValue<std::array<float, 2>> getDefaultFillExtrusionTranslate(); - PropertyValue<std::array<float, 2>> getFillExtrusionTranslate(const optional<std::string>& klass = {}) const; - void setFillExtrusionTranslate(PropertyValue<std::array<float, 2>>, const optional<std::string>& klass = {}); - void setFillExtrusionTranslateTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillExtrusionTranslateTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::array<float, 2>> getFillExtrusionTranslate() const; + void setFillExtrusionTranslate(PropertyValue<std::array<float, 2>>); + void setFillExtrusionTranslateTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionTranslateTransition() const; static PropertyValue<TranslateAnchorType> getDefaultFillExtrusionTranslateAnchor(); - PropertyValue<TranslateAnchorType> getFillExtrusionTranslateAnchor(const optional<std::string>& klass = {}) const; - void setFillExtrusionTranslateAnchor(PropertyValue<TranslateAnchorType>, const optional<std::string>& klass = {}); - void setFillExtrusionTranslateAnchorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillExtrusionTranslateAnchorTransition(const optional<std::string>& klass = {}) const; + PropertyValue<TranslateAnchorType> getFillExtrusionTranslateAnchor() const; + void setFillExtrusionTranslateAnchor(PropertyValue<TranslateAnchorType>); + void setFillExtrusionTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionTranslateAnchorTransition() const; static PropertyValue<std::string> getDefaultFillExtrusionPattern(); - PropertyValue<std::string> getFillExtrusionPattern(const optional<std::string>& klass = {}) const; - void setFillExtrusionPattern(PropertyValue<std::string>, const optional<std::string>& klass = {}); - void setFillExtrusionPatternTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillExtrusionPatternTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::string> getFillExtrusionPattern() const; + void setFillExtrusionPattern(PropertyValue<std::string>); + void setFillExtrusionPatternTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionPatternTransition() const; static DataDrivenPropertyValue<float> getDefaultFillExtrusionHeight(); - DataDrivenPropertyValue<float> getFillExtrusionHeight(const optional<std::string>& klass = {}) const; - void setFillExtrusionHeight(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setFillExtrusionHeightTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillExtrusionHeightTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getFillExtrusionHeight() const; + void setFillExtrusionHeight(DataDrivenPropertyValue<float>); + void setFillExtrusionHeightTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionHeightTransition() const; static DataDrivenPropertyValue<float> getDefaultFillExtrusionBase(); - DataDrivenPropertyValue<float> getFillExtrusionBase(const optional<std::string>& klass = {}) const; - void setFillExtrusionBase(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setFillExtrusionBaseTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillExtrusionBaseTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getFillExtrusionBase() const; + void setFillExtrusionBase(DataDrivenPropertyValue<float>); + void setFillExtrusionBaseTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionBaseTransition() const; // Private implementation class Impl; - Impl* const impl; + const Impl& impl() const; - FillExtrusionLayer(const Impl&); - FillExtrusionLayer(const FillExtrusionLayer&) = delete; + Mutable<Impl> mutableImpl() const; + FillExtrusionLayer(Immutable<Impl>); + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; }; template <> inline bool Layer::is<FillExtrusionLayer>() const { - return type == LayerType::FillExtrusion; + return getType() == LayerType::FillExtrusion; } } // namespace style diff --git a/include/mbgl/style/layers/fill_layer.hpp b/include/mbgl/style/layers/fill_layer.hpp index 8371ff7a8f..dfbe69d7fe 100644 --- a/include/mbgl/style/layers/fill_layer.hpp +++ b/include/mbgl/style/layers/fill_layer.hpp @@ -27,62 +27,70 @@ public: void setFilter(const Filter&); const Filter& getFilter() const; + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + // Paint properties static PropertyValue<bool> getDefaultFillAntialias(); - PropertyValue<bool> getFillAntialias(const optional<std::string>& klass = {}) const; - void setFillAntialias(PropertyValue<bool>, const optional<std::string>& klass = {}); - void setFillAntialiasTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillAntialiasTransition(const optional<std::string>& klass = {}) const; + PropertyValue<bool> getFillAntialias() const; + void setFillAntialias(PropertyValue<bool>); + void setFillAntialiasTransition(const TransitionOptions&); + TransitionOptions getFillAntialiasTransition() const; static DataDrivenPropertyValue<float> getDefaultFillOpacity(); - DataDrivenPropertyValue<float> getFillOpacity(const optional<std::string>& klass = {}) const; - void setFillOpacity(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setFillOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillOpacityTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getFillOpacity() const; + void setFillOpacity(DataDrivenPropertyValue<float>); + void setFillOpacityTransition(const TransitionOptions&); + TransitionOptions getFillOpacityTransition() const; static DataDrivenPropertyValue<Color> getDefaultFillColor(); - DataDrivenPropertyValue<Color> getFillColor(const optional<std::string>& klass = {}) const; - void setFillColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setFillColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getFillColor() const; + void setFillColor(DataDrivenPropertyValue<Color>); + void setFillColorTransition(const TransitionOptions&); + TransitionOptions getFillColorTransition() const; static DataDrivenPropertyValue<Color> getDefaultFillOutlineColor(); - DataDrivenPropertyValue<Color> getFillOutlineColor(const optional<std::string>& klass = {}) const; - void setFillOutlineColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setFillOutlineColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillOutlineColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getFillOutlineColor() const; + void setFillOutlineColor(DataDrivenPropertyValue<Color>); + void setFillOutlineColorTransition(const TransitionOptions&); + TransitionOptions getFillOutlineColorTransition() const; static PropertyValue<std::array<float, 2>> getDefaultFillTranslate(); - PropertyValue<std::array<float, 2>> getFillTranslate(const optional<std::string>& klass = {}) const; - void setFillTranslate(PropertyValue<std::array<float, 2>>, const optional<std::string>& klass = {}); - void setFillTranslateTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillTranslateTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::array<float, 2>> getFillTranslate() const; + void setFillTranslate(PropertyValue<std::array<float, 2>>); + void setFillTranslateTransition(const TransitionOptions&); + TransitionOptions getFillTranslateTransition() const; static PropertyValue<TranslateAnchorType> getDefaultFillTranslateAnchor(); - PropertyValue<TranslateAnchorType> getFillTranslateAnchor(const optional<std::string>& klass = {}) const; - void setFillTranslateAnchor(PropertyValue<TranslateAnchorType>, const optional<std::string>& klass = {}); - void setFillTranslateAnchorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillTranslateAnchorTransition(const optional<std::string>& klass = {}) const; + PropertyValue<TranslateAnchorType> getFillTranslateAnchor() const; + void setFillTranslateAnchor(PropertyValue<TranslateAnchorType>); + void setFillTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getFillTranslateAnchorTransition() const; static PropertyValue<std::string> getDefaultFillPattern(); - PropertyValue<std::string> getFillPattern(const optional<std::string>& klass = {}) const; - void setFillPattern(PropertyValue<std::string>, const optional<std::string>& klass = {}); - void setFillPatternTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getFillPatternTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::string> getFillPattern() const; + void setFillPattern(PropertyValue<std::string>); + void setFillPatternTransition(const TransitionOptions&); + TransitionOptions getFillPatternTransition() const; // Private implementation class Impl; - Impl* const impl; + const Impl& impl() const; - FillLayer(const Impl&); - FillLayer(const FillLayer&) = delete; + Mutable<Impl> mutableImpl() const; + FillLayer(Immutable<Impl>); + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; }; template <> inline bool Layer::is<FillLayer>() const { - return type == LayerType::Fill; + return getType() == LayerType::Fill; } } // namespace style diff --git a/include/mbgl/style/layers/layer.hpp.ejs b/include/mbgl/style/layers/layer.hpp.ejs index 59d7cd6415..4ee5545247 100644 --- a/include/mbgl/style/layers/layer.hpp.ejs +++ b/include/mbgl/style/layers/layer.hpp.ejs @@ -44,6 +44,13 @@ public: <% } -%> <% } -%> + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + <% if (layoutProperties.length) { -%> // Layout properties @@ -58,24 +65,25 @@ public: <% for (const property of paintProperties) { -%> static <%- propertyValueType(property) %> getDefault<%- camelize(property.name) %>(); - <%- propertyValueType(property) %> get<%- camelize(property.name) %>(const optional<std::string>& klass = {}) const; - void set<%- camelize(property.name) %>(<%- propertyValueType(property) %>, const optional<std::string>& klass = {}); - void set<%- camelize(property.name) %>Transition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions get<%- camelize(property.name) %>Transition(const optional<std::string>& klass = {}) const; + <%- propertyValueType(property) %> get<%- camelize(property.name) %>() const; + void set<%- camelize(property.name) %>(<%- propertyValueType(property) %>); + void set<%- camelize(property.name) %>Transition(const TransitionOptions&); + TransitionOptions get<%- camelize(property.name) %>Transition() const; <% } -%> // Private implementation class Impl; - Impl* const impl; + const Impl& impl() const; - <%- camelize(type) %>Layer(const Impl&); - <%- camelize(type) %>Layer(const <%- camelize(type) %>Layer&) = delete; + Mutable<Impl> mutableImpl() const; + <%- camelize(type) %>Layer(Immutable<Impl>); + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; }; template <> inline bool Layer::is<<%- camelize(type) %>Layer>() const { - return type == LayerType::<%- camelize(type) %>; + return getType() == LayerType::<%- camelize(type) %>; } } // namespace style diff --git a/include/mbgl/style/layers/line_layer.hpp b/include/mbgl/style/layers/line_layer.hpp index a5f08e553c..4519296323 100644 --- a/include/mbgl/style/layers/line_layer.hpp +++ b/include/mbgl/style/layers/line_layer.hpp @@ -29,15 +29,22 @@ public: void setFilter(const Filter&); const Filter& getFilter() const; + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + // Layout properties static PropertyValue<LineCapType> getDefaultLineCap(); PropertyValue<LineCapType> getLineCap() const; void setLineCap(PropertyValue<LineCapType>); - static PropertyValue<LineJoinType> getDefaultLineJoin(); - PropertyValue<LineJoinType> getLineJoin() const; - void setLineJoin(PropertyValue<LineJoinType>); + static DataDrivenPropertyValue<LineJoinType> getDefaultLineJoin(); + DataDrivenPropertyValue<LineJoinType> getLineJoin() const; + void setLineJoin(DataDrivenPropertyValue<LineJoinType>); static PropertyValue<float> getDefaultLineMiterLimit(); PropertyValue<float> getLineMiterLimit() const; @@ -50,77 +57,78 @@ public: // Paint properties static DataDrivenPropertyValue<float> getDefaultLineOpacity(); - DataDrivenPropertyValue<float> getLineOpacity(const optional<std::string>& klass = {}) const; - void setLineOpacity(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setLineOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineOpacityTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getLineOpacity() const; + void setLineOpacity(DataDrivenPropertyValue<float>); + void setLineOpacityTransition(const TransitionOptions&); + TransitionOptions getLineOpacityTransition() const; static DataDrivenPropertyValue<Color> getDefaultLineColor(); - DataDrivenPropertyValue<Color> getLineColor(const optional<std::string>& klass = {}) const; - void setLineColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setLineColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getLineColor() const; + void setLineColor(DataDrivenPropertyValue<Color>); + void setLineColorTransition(const TransitionOptions&); + TransitionOptions getLineColorTransition() const; static PropertyValue<std::array<float, 2>> getDefaultLineTranslate(); - PropertyValue<std::array<float, 2>> getLineTranslate(const optional<std::string>& klass = {}) const; - void setLineTranslate(PropertyValue<std::array<float, 2>>, const optional<std::string>& klass = {}); - void setLineTranslateTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineTranslateTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::array<float, 2>> getLineTranslate() const; + void setLineTranslate(PropertyValue<std::array<float, 2>>); + void setLineTranslateTransition(const TransitionOptions&); + TransitionOptions getLineTranslateTransition() const; static PropertyValue<TranslateAnchorType> getDefaultLineTranslateAnchor(); - PropertyValue<TranslateAnchorType> getLineTranslateAnchor(const optional<std::string>& klass = {}) const; - void setLineTranslateAnchor(PropertyValue<TranslateAnchorType>, const optional<std::string>& klass = {}); - void setLineTranslateAnchorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineTranslateAnchorTransition(const optional<std::string>& klass = {}) const; + PropertyValue<TranslateAnchorType> getLineTranslateAnchor() const; + void setLineTranslateAnchor(PropertyValue<TranslateAnchorType>); + void setLineTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getLineTranslateAnchorTransition() const; - static PropertyValue<float> getDefaultLineWidth(); - PropertyValue<float> getLineWidth(const optional<std::string>& klass = {}) const; - void setLineWidth(PropertyValue<float>, const optional<std::string>& klass = {}); - void setLineWidthTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineWidthTransition(const optional<std::string>& klass = {}) const; + static DataDrivenPropertyValue<float> getDefaultLineWidth(); + DataDrivenPropertyValue<float> getLineWidth() const; + void setLineWidth(DataDrivenPropertyValue<float>); + void setLineWidthTransition(const TransitionOptions&); + TransitionOptions getLineWidthTransition() const; static DataDrivenPropertyValue<float> getDefaultLineGapWidth(); - DataDrivenPropertyValue<float> getLineGapWidth(const optional<std::string>& klass = {}) const; - void setLineGapWidth(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setLineGapWidthTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineGapWidthTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getLineGapWidth() const; + void setLineGapWidth(DataDrivenPropertyValue<float>); + void setLineGapWidthTransition(const TransitionOptions&); + TransitionOptions getLineGapWidthTransition() const; static DataDrivenPropertyValue<float> getDefaultLineOffset(); - DataDrivenPropertyValue<float> getLineOffset(const optional<std::string>& klass = {}) const; - void setLineOffset(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setLineOffsetTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineOffsetTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getLineOffset() const; + void setLineOffset(DataDrivenPropertyValue<float>); + void setLineOffsetTransition(const TransitionOptions&); + TransitionOptions getLineOffsetTransition() const; static DataDrivenPropertyValue<float> getDefaultLineBlur(); - DataDrivenPropertyValue<float> getLineBlur(const optional<std::string>& klass = {}) const; - void setLineBlur(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setLineBlurTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineBlurTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getLineBlur() const; + void setLineBlur(DataDrivenPropertyValue<float>); + void setLineBlurTransition(const TransitionOptions&); + TransitionOptions getLineBlurTransition() const; static PropertyValue<std::vector<float>> getDefaultLineDasharray(); - PropertyValue<std::vector<float>> getLineDasharray(const optional<std::string>& klass = {}) const; - void setLineDasharray(PropertyValue<std::vector<float>>, const optional<std::string>& klass = {}); - void setLineDasharrayTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLineDasharrayTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::vector<float>> getLineDasharray() const; + void setLineDasharray(PropertyValue<std::vector<float>>); + void setLineDasharrayTransition(const TransitionOptions&); + TransitionOptions getLineDasharrayTransition() const; static PropertyValue<std::string> getDefaultLinePattern(); - PropertyValue<std::string> getLinePattern(const optional<std::string>& klass = {}) const; - void setLinePattern(PropertyValue<std::string>, const optional<std::string>& klass = {}); - void setLinePatternTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getLinePatternTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::string> getLinePattern() const; + void setLinePattern(PropertyValue<std::string>); + void setLinePatternTransition(const TransitionOptions&); + TransitionOptions getLinePatternTransition() const; // Private implementation class Impl; - Impl* const impl; + const Impl& impl() const; - LineLayer(const Impl&); - LineLayer(const LineLayer&) = delete; + Mutable<Impl> mutableImpl() const; + LineLayer(Immutable<Impl>); + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; }; template <> inline bool Layer::is<LineLayer>() const { - return type == LayerType::Line; + return getType() == LayerType::Line; } } // namespace style diff --git a/include/mbgl/style/layers/raster_layer.hpp b/include/mbgl/style/layers/raster_layer.hpp index c0351da5d0..8111364709 100644 --- a/include/mbgl/style/layers/raster_layer.hpp +++ b/include/mbgl/style/layers/raster_layer.hpp @@ -22,62 +22,70 @@ public: // Source const std::string& getSourceID() const; + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + // Paint properties static PropertyValue<float> getDefaultRasterOpacity(); - PropertyValue<float> getRasterOpacity(const optional<std::string>& klass = {}) const; - void setRasterOpacity(PropertyValue<float>, const optional<std::string>& klass = {}); - void setRasterOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getRasterOpacityTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getRasterOpacity() const; + void setRasterOpacity(PropertyValue<float>); + void setRasterOpacityTransition(const TransitionOptions&); + TransitionOptions getRasterOpacityTransition() const; static PropertyValue<float> getDefaultRasterHueRotate(); - PropertyValue<float> getRasterHueRotate(const optional<std::string>& klass = {}) const; - void setRasterHueRotate(PropertyValue<float>, const optional<std::string>& klass = {}); - void setRasterHueRotateTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getRasterHueRotateTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getRasterHueRotate() const; + void setRasterHueRotate(PropertyValue<float>); + void setRasterHueRotateTransition(const TransitionOptions&); + TransitionOptions getRasterHueRotateTransition() const; static PropertyValue<float> getDefaultRasterBrightnessMin(); - PropertyValue<float> getRasterBrightnessMin(const optional<std::string>& klass = {}) const; - void setRasterBrightnessMin(PropertyValue<float>, const optional<std::string>& klass = {}); - void setRasterBrightnessMinTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getRasterBrightnessMinTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getRasterBrightnessMin() const; + void setRasterBrightnessMin(PropertyValue<float>); + void setRasterBrightnessMinTransition(const TransitionOptions&); + TransitionOptions getRasterBrightnessMinTransition() const; static PropertyValue<float> getDefaultRasterBrightnessMax(); - PropertyValue<float> getRasterBrightnessMax(const optional<std::string>& klass = {}) const; - void setRasterBrightnessMax(PropertyValue<float>, const optional<std::string>& klass = {}); - void setRasterBrightnessMaxTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getRasterBrightnessMaxTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getRasterBrightnessMax() const; + void setRasterBrightnessMax(PropertyValue<float>); + void setRasterBrightnessMaxTransition(const TransitionOptions&); + TransitionOptions getRasterBrightnessMaxTransition() const; static PropertyValue<float> getDefaultRasterSaturation(); - PropertyValue<float> getRasterSaturation(const optional<std::string>& klass = {}) const; - void setRasterSaturation(PropertyValue<float>, const optional<std::string>& klass = {}); - void setRasterSaturationTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getRasterSaturationTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getRasterSaturation() const; + void setRasterSaturation(PropertyValue<float>); + void setRasterSaturationTransition(const TransitionOptions&); + TransitionOptions getRasterSaturationTransition() const; static PropertyValue<float> getDefaultRasterContrast(); - PropertyValue<float> getRasterContrast(const optional<std::string>& klass = {}) const; - void setRasterContrast(PropertyValue<float>, const optional<std::string>& klass = {}); - void setRasterContrastTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getRasterContrastTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getRasterContrast() const; + void setRasterContrast(PropertyValue<float>); + void setRasterContrastTransition(const TransitionOptions&); + TransitionOptions getRasterContrastTransition() const; static PropertyValue<float> getDefaultRasterFadeDuration(); - PropertyValue<float> getRasterFadeDuration(const optional<std::string>& klass = {}) const; - void setRasterFadeDuration(PropertyValue<float>, const optional<std::string>& klass = {}); - void setRasterFadeDurationTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getRasterFadeDurationTransition(const optional<std::string>& klass = {}) const; + PropertyValue<float> getRasterFadeDuration() const; + void setRasterFadeDuration(PropertyValue<float>); + void setRasterFadeDurationTransition(const TransitionOptions&); + TransitionOptions getRasterFadeDurationTransition() const; // Private implementation class Impl; - Impl* const impl; + const Impl& impl() const; - RasterLayer(const Impl&); - RasterLayer(const RasterLayer&) = delete; + Mutable<Impl> mutableImpl() const; + RasterLayer(Immutable<Impl>); + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; }; template <> inline bool Layer::is<RasterLayer>() const { - return type == LayerType::Raster; + return getType() == LayerType::Raster; } } // namespace style diff --git a/include/mbgl/style/layers/symbol_layer.hpp b/include/mbgl/style/layers/symbol_layer.hpp index ea6bda55d7..a72baa0b4e 100644 --- a/include/mbgl/style/layers/symbol_layer.hpp +++ b/include/mbgl/style/layers/symbol_layer.hpp @@ -29,6 +29,13 @@ public: void setFilter(const Filter&); const Filter& getFilter() const; + // Visibility + void setVisibility(VisibilityType) final; + + // Zoom range + void setMinZoom(float) final; + void setMaxZoom(float) final; + // Layout properties static PropertyValue<SymbolPlacementType> getDefaultSymbolPlacement(); @@ -91,6 +98,14 @@ public: DataDrivenPropertyValue<std::array<float, 2>> getIconOffset() const; void setIconOffset(DataDrivenPropertyValue<std::array<float, 2>>); + static DataDrivenPropertyValue<SymbolAnchorType> getDefaultIconAnchor(); + DataDrivenPropertyValue<SymbolAnchorType> getIconAnchor() const; + void setIconAnchor(DataDrivenPropertyValue<SymbolAnchorType>); + + static PropertyValue<AlignmentType> getDefaultIconPitchAlignment(); + PropertyValue<AlignmentType> getIconPitchAlignment() const; + void setIconPitchAlignment(PropertyValue<AlignmentType>); + static PropertyValue<AlignmentType> getDefaultTextPitchAlignment(); PropertyValue<AlignmentType> getTextPitchAlignment() const; void setTextPitchAlignment(PropertyValue<AlignmentType>); @@ -111,25 +126,25 @@ public: DataDrivenPropertyValue<float> getTextSize() const; void setTextSize(DataDrivenPropertyValue<float>); - static PropertyValue<float> getDefaultTextMaxWidth(); - PropertyValue<float> getTextMaxWidth() const; - void setTextMaxWidth(PropertyValue<float>); + static DataDrivenPropertyValue<float> getDefaultTextMaxWidth(); + DataDrivenPropertyValue<float> getTextMaxWidth() const; + void setTextMaxWidth(DataDrivenPropertyValue<float>); static PropertyValue<float> getDefaultTextLineHeight(); PropertyValue<float> getTextLineHeight() const; void setTextLineHeight(PropertyValue<float>); - static PropertyValue<float> getDefaultTextLetterSpacing(); - PropertyValue<float> getTextLetterSpacing() const; - void setTextLetterSpacing(PropertyValue<float>); + static DataDrivenPropertyValue<float> getDefaultTextLetterSpacing(); + DataDrivenPropertyValue<float> getTextLetterSpacing() const; + void setTextLetterSpacing(DataDrivenPropertyValue<float>); - static PropertyValue<TextJustifyType> getDefaultTextJustify(); - PropertyValue<TextJustifyType> getTextJustify() const; - void setTextJustify(PropertyValue<TextJustifyType>); + static DataDrivenPropertyValue<TextJustifyType> getDefaultTextJustify(); + DataDrivenPropertyValue<TextJustifyType> getTextJustify() const; + void setTextJustify(DataDrivenPropertyValue<TextJustifyType>); - static PropertyValue<TextAnchorType> getDefaultTextAnchor(); - PropertyValue<TextAnchorType> getTextAnchor() const; - void setTextAnchor(PropertyValue<TextAnchorType>); + static DataDrivenPropertyValue<SymbolAnchorType> getDefaultTextAnchor(); + DataDrivenPropertyValue<SymbolAnchorType> getTextAnchor() const; + void setTextAnchor(DataDrivenPropertyValue<SymbolAnchorType>); static PropertyValue<float> getDefaultTextMaxAngle(); PropertyValue<float> getTextMaxAngle() const; @@ -170,101 +185,102 @@ public: // Paint properties static DataDrivenPropertyValue<float> getDefaultIconOpacity(); - DataDrivenPropertyValue<float> getIconOpacity(const optional<std::string>& klass = {}) const; - void setIconOpacity(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setIconOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getIconOpacityTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getIconOpacity() const; + void setIconOpacity(DataDrivenPropertyValue<float>); + void setIconOpacityTransition(const TransitionOptions&); + TransitionOptions getIconOpacityTransition() const; static DataDrivenPropertyValue<Color> getDefaultIconColor(); - DataDrivenPropertyValue<Color> getIconColor(const optional<std::string>& klass = {}) const; - void setIconColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setIconColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getIconColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getIconColor() const; + void setIconColor(DataDrivenPropertyValue<Color>); + void setIconColorTransition(const TransitionOptions&); + TransitionOptions getIconColorTransition() const; static DataDrivenPropertyValue<Color> getDefaultIconHaloColor(); - DataDrivenPropertyValue<Color> getIconHaloColor(const optional<std::string>& klass = {}) const; - void setIconHaloColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setIconHaloColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getIconHaloColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getIconHaloColor() const; + void setIconHaloColor(DataDrivenPropertyValue<Color>); + void setIconHaloColorTransition(const TransitionOptions&); + TransitionOptions getIconHaloColorTransition() const; static DataDrivenPropertyValue<float> getDefaultIconHaloWidth(); - DataDrivenPropertyValue<float> getIconHaloWidth(const optional<std::string>& klass = {}) const; - void setIconHaloWidth(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setIconHaloWidthTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getIconHaloWidthTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getIconHaloWidth() const; + void setIconHaloWidth(DataDrivenPropertyValue<float>); + void setIconHaloWidthTransition(const TransitionOptions&); + TransitionOptions getIconHaloWidthTransition() const; static DataDrivenPropertyValue<float> getDefaultIconHaloBlur(); - DataDrivenPropertyValue<float> getIconHaloBlur(const optional<std::string>& klass = {}) const; - void setIconHaloBlur(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setIconHaloBlurTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getIconHaloBlurTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getIconHaloBlur() const; + void setIconHaloBlur(DataDrivenPropertyValue<float>); + void setIconHaloBlurTransition(const TransitionOptions&); + TransitionOptions getIconHaloBlurTransition() const; static PropertyValue<std::array<float, 2>> getDefaultIconTranslate(); - PropertyValue<std::array<float, 2>> getIconTranslate(const optional<std::string>& klass = {}) const; - void setIconTranslate(PropertyValue<std::array<float, 2>>, const optional<std::string>& klass = {}); - void setIconTranslateTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getIconTranslateTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::array<float, 2>> getIconTranslate() const; + void setIconTranslate(PropertyValue<std::array<float, 2>>); + void setIconTranslateTransition(const TransitionOptions&); + TransitionOptions getIconTranslateTransition() const; static PropertyValue<TranslateAnchorType> getDefaultIconTranslateAnchor(); - PropertyValue<TranslateAnchorType> getIconTranslateAnchor(const optional<std::string>& klass = {}) const; - void setIconTranslateAnchor(PropertyValue<TranslateAnchorType>, const optional<std::string>& klass = {}); - void setIconTranslateAnchorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getIconTranslateAnchorTransition(const optional<std::string>& klass = {}) const; + PropertyValue<TranslateAnchorType> getIconTranslateAnchor() const; + void setIconTranslateAnchor(PropertyValue<TranslateAnchorType>); + void setIconTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getIconTranslateAnchorTransition() const; static DataDrivenPropertyValue<float> getDefaultTextOpacity(); - DataDrivenPropertyValue<float> getTextOpacity(const optional<std::string>& klass = {}) const; - void setTextOpacity(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setTextOpacityTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getTextOpacityTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getTextOpacity() const; + void setTextOpacity(DataDrivenPropertyValue<float>); + void setTextOpacityTransition(const TransitionOptions&); + TransitionOptions getTextOpacityTransition() const; static DataDrivenPropertyValue<Color> getDefaultTextColor(); - DataDrivenPropertyValue<Color> getTextColor(const optional<std::string>& klass = {}) const; - void setTextColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setTextColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getTextColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getTextColor() const; + void setTextColor(DataDrivenPropertyValue<Color>); + void setTextColorTransition(const TransitionOptions&); + TransitionOptions getTextColorTransition() const; static DataDrivenPropertyValue<Color> getDefaultTextHaloColor(); - DataDrivenPropertyValue<Color> getTextHaloColor(const optional<std::string>& klass = {}) const; - void setTextHaloColor(DataDrivenPropertyValue<Color>, const optional<std::string>& klass = {}); - void setTextHaloColorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getTextHaloColorTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<Color> getTextHaloColor() const; + void setTextHaloColor(DataDrivenPropertyValue<Color>); + void setTextHaloColorTransition(const TransitionOptions&); + TransitionOptions getTextHaloColorTransition() const; static DataDrivenPropertyValue<float> getDefaultTextHaloWidth(); - DataDrivenPropertyValue<float> getTextHaloWidth(const optional<std::string>& klass = {}) const; - void setTextHaloWidth(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setTextHaloWidthTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getTextHaloWidthTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getTextHaloWidth() const; + void setTextHaloWidth(DataDrivenPropertyValue<float>); + void setTextHaloWidthTransition(const TransitionOptions&); + TransitionOptions getTextHaloWidthTransition() const; static DataDrivenPropertyValue<float> getDefaultTextHaloBlur(); - DataDrivenPropertyValue<float> getTextHaloBlur(const optional<std::string>& klass = {}) const; - void setTextHaloBlur(DataDrivenPropertyValue<float>, const optional<std::string>& klass = {}); - void setTextHaloBlurTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getTextHaloBlurTransition(const optional<std::string>& klass = {}) const; + DataDrivenPropertyValue<float> getTextHaloBlur() const; + void setTextHaloBlur(DataDrivenPropertyValue<float>); + void setTextHaloBlurTransition(const TransitionOptions&); + TransitionOptions getTextHaloBlurTransition() const; static PropertyValue<std::array<float, 2>> getDefaultTextTranslate(); - PropertyValue<std::array<float, 2>> getTextTranslate(const optional<std::string>& klass = {}) const; - void setTextTranslate(PropertyValue<std::array<float, 2>>, const optional<std::string>& klass = {}); - void setTextTranslateTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getTextTranslateTransition(const optional<std::string>& klass = {}) const; + PropertyValue<std::array<float, 2>> getTextTranslate() const; + void setTextTranslate(PropertyValue<std::array<float, 2>>); + void setTextTranslateTransition(const TransitionOptions&); + TransitionOptions getTextTranslateTransition() const; static PropertyValue<TranslateAnchorType> getDefaultTextTranslateAnchor(); - PropertyValue<TranslateAnchorType> getTextTranslateAnchor(const optional<std::string>& klass = {}) const; - void setTextTranslateAnchor(PropertyValue<TranslateAnchorType>, const optional<std::string>& klass = {}); - void setTextTranslateAnchorTransition(const TransitionOptions&, const optional<std::string>& klass = {}); - TransitionOptions getTextTranslateAnchorTransition(const optional<std::string>& klass = {}) const; + PropertyValue<TranslateAnchorType> getTextTranslateAnchor() const; + void setTextTranslateAnchor(PropertyValue<TranslateAnchorType>); + void setTextTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getTextTranslateAnchorTransition() const; // Private implementation class Impl; - Impl* const impl; + const Impl& impl() const; - SymbolLayer(const Impl&); - SymbolLayer(const SymbolLayer&) = delete; + Mutable<Impl> mutableImpl() const; + SymbolLayer(Immutable<Impl>); + std::unique_ptr<Layer> cloneRef(const std::string& id) const final; }; template <> inline bool Layer::is<SymbolLayer>() const { - return type == LayerType::Symbol; + return getType() == LayerType::Symbol; } } // namespace style |