From 9eba2a66d107f30aa9216fb34ed62df60797986a Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 10 May 2017 12:37:46 -0700 Subject: [PATCH] [core, node, darwin, qt] Remove support for paint classes --- bin/render.cpp | 5 - cmake/core-files.cmake | 2 - include/mbgl/map/map.hpp | 7 - include/mbgl/style/conversion/layer.hpp | 23 +- .../conversion/make_property_setters.hpp | 196 +++++++------- .../conversion/make_property_setters.hpp.ejs | 8 +- .../mbgl/style/conversion/property_setter.hpp | 30 +-- .../mbgl/style/layers/background_layer.hpp | 24 +- include/mbgl/style/layers/circle_layer.hpp | 80 +++--- .../style/layers/fill_extrusion_layer.hpp | 56 ++-- include/mbgl/style/layers/fill_layer.hpp | 56 ++-- include/mbgl/style/layers/layer.hpp.ejs | 8 +- include/mbgl/style/layers/line_layer.hpp | 80 +++--- include/mbgl/style/layers/raster_layer.hpp | 56 ++-- include/mbgl/style/layers/symbol_layer.hpp | 112 ++++---- mapbox-gl-js | 2 +- platform/android/src/style/layers/layer.cpp | 2 +- .../docs/guides/For Style Authors.md.ejs | 1 - platform/darwin/src/MGLStyle.h | 32 +-- platform/darwin/src/MGLStyle.mm | 34 +-- platform/glfw/glfw_view.cpp | 11 - platform/ios/CHANGELOG.md | 4 + platform/ios/docs/guides/For Style Authors.md | 1 - platform/ios/src/MGLMapView.h | 20 +- platform/macos/CHANGELOG.md | 4 + .../macos/docs/guides/For Style Authors.md | 1 - platform/node/src/node_map.cpp | 29 +- platform/node/src/node_map.hpp | 1 - platform/node/test/js/map.test.js | 1 - platform/qt/app/mapwindow.cpp | 10 - platform/qt/include/qmapboxgl.hpp | 8 +- platform/qt/src/qmapboxgl.cpp | 85 +----- src/mbgl/map/map.cpp | 30 --- src/mbgl/map/update.hpp | 1 - src/mbgl/renderer/transition_parameters.hpp | 2 - src/mbgl/style/class_dictionary.cpp | 51 ---- src/mbgl/style/class_dictionary.hpp | 52 ---- src/mbgl/style/layers/background_layer.cpp | 54 ++-- src/mbgl/style/layers/circle_layer.cpp | 180 ++++++------- .../style/layers/fill_extrusion_layer.cpp | 126 ++++----- src/mbgl/style/layers/fill_layer.cpp | 126 ++++----- src/mbgl/style/layers/layer.cpp.ejs | 18 +- src/mbgl/style/layers/line_layer.cpp | 180 ++++++------- src/mbgl/style/layers/raster_layer.cpp | 126 ++++----- src/mbgl/style/layers/symbol_layer.cpp | 252 +++++++++--------- src/mbgl/style/paint_property.hpp | 6 +- src/mbgl/style/properties.hpp | 57 ---- src/mbgl/style/style.cpp | 41 +-- src/mbgl/style/style.hpp | 8 - src/mbgl/tile/geometry_tile_worker.cpp | 1 - test/map/map.test.cpp | 34 --- test/style/conversion/layer.test.cpp | 14 +- 52 files changed, 930 insertions(+), 1418 deletions(-) delete mode 100644 src/mbgl/style/class_dictionary.cpp delete mode 100644 src/mbgl/style/class_dictionary.hpp diff --git a/bin/render.cpp b/bin/render.cpp index 0af933475..43b3c57a8 100644 --- a/bin/render.cpp +++ b/bin/render.cpp @@ -34,7 +34,6 @@ int main(int argc, char *argv[]) { static std::string output = "out.png"; std::string cache_file = "cache.sqlite"; std::string asset_root = "."; - std::vector classes; std::string token; bool debug = false; @@ -49,7 +48,6 @@ int main(int argc, char *argv[]) { ("width,w", po::value(&width)->value_name("pixels")->default_value(width), "Image width") ("height,h", po::value(&height)->value_name("pixels")->default_value(height), "Image height") ("ratio,r", po::value(&pixelRatio)->value_name("number")->default_value(pixelRatio), "Image scale factor") - ("class,c", po::value(&classes)->value_name("name"), "Class name") ("token,t", po::value(&token)->value_name("key")->default_value(token), "Mapbox access token") ("debug", po::bool_switch(&debug)->default_value(debug), "Debug mode") ("output,o", po::value(&output)->value_name("file")->default_value(output), "Output file name") @@ -95,9 +93,6 @@ int main(int argc, char *argv[]) { } map.setStyleURL(style_path); - - map.setClasses(classes); - map.setLatLngZoom({ lat, lon }, zoom); map.setBearing(bearing); map.setPitch(pitch); diff --git a/cmake/core-files.cmake b/cmake/core-files.cmake index d9a475785..47b34fcbc 100644 --- a/cmake/core-files.cmake +++ b/cmake/core-files.cmake @@ -328,8 +328,6 @@ set(MBGL_CORE_FILES include/mbgl/style/transition_options.hpp include/mbgl/style/types.hpp include/mbgl/style/undefined.hpp - src/mbgl/style/class_dictionary.cpp - src/mbgl/style/class_dictionary.hpp src/mbgl/style/image.cpp src/mbgl/style/image_impl.cpp src/mbgl/style/image_impl.hpp diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp index 1c0c2c544..6b86684fa 100644 --- a/include/mbgl/map/map.hpp +++ b/include/mbgl/map/map.hpp @@ -59,16 +59,9 @@ public: void render(View&); // Styling - void addClass(const std::string&); - void removeClass(const std::string&); - void setClasses(const std::vector&); - style::TransitionOptions getTransitionOptions() const; void setTransitionOptions(const style::TransitionOptions&); - bool hasClass(const std::string&) const; - std::vector getClasses() const; - void setStyleURL(const std::string&); void setStyleJSON(const std::string&); std::string getStyleURL() const; diff --git a/include/mbgl/style/conversion/layer.hpp b/include/mbgl/style/conversion/layer.hpp index 3a64c36bf..1fe467165 100644 --- a/include/mbgl/style/conversion/layer.hpp +++ b/include/mbgl/style/conversion/layer.hpp @@ -28,30 +28,23 @@ optional setLayoutProperty(Layer& layer, const std::string& name, const V } template -optional setPaintProperty(Layer& layer, const std::string& name, const V& value, const optional& klass) { +optional setPaintProperty(Layer& layer, const std::string& name, const V& value) { static const auto setters = makePaintPropertySetters(); auto it = setters.find(name); if (it == setters.end()) { return Error { "property not found" }; } - return it->second(layer, value, klass); + return it->second(layer, value); } template optional setPaintProperties(Layer& layer, const V& value) { - return eachMember(value, [&] (const std::string& paintName, const V& paintValue) -> optional { - if (paintName.compare(0, 5, "paint") != 0) { - return {}; - } - - optional klass; - if (paintName.compare(0, 6, "paint.") == 0) { - klass = paintName.substr(6); - } - - return eachMember(paintValue, [&] (const std::string& k, const V& v) { - return setPaintProperty(layer, k, v, klass); - }); + auto paintValue = objectMember(value, "paint"); + if (!paintValue) { + return {}; + } + return eachMember(*paintValue, [&] (const std::string& k, const V& v) { + return setPaintProperty(layer, k, v); }); } diff --git a/include/mbgl/style/conversion/make_property_setters.hpp b/include/mbgl/style/conversion/make_property_setters.hpp index 105cca99d..582ac7079 100644 --- a/include/mbgl/style/conversion/make_property_setters.hpp +++ b/include/mbgl/style/conversion/make_property_setters.hpp @@ -20,50 +20,50 @@ namespace conversion { template auto makeLayoutPropertySetters() { - std::unordered_map> result; + std::unordered_map> result; result["visibility"] = &setVisibility; - result["line-cap"] = &setLayoutProperty, &LineLayer::setLineCap>; - result["line-join"] = &setLayoutProperty, &LineLayer::setLineJoin>; - result["line-miter-limit"] = &setLayoutProperty, &LineLayer::setLineMiterLimit>; - result["line-round-limit"] = &setLayoutProperty, &LineLayer::setLineRoundLimit>; + result["line-cap"] = &setProperty, &LineLayer::setLineCap>; + result["line-join"] = &setProperty, &LineLayer::setLineJoin>; + result["line-miter-limit"] = &setProperty, &LineLayer::setLineMiterLimit>; + result["line-round-limit"] = &setProperty, &LineLayer::setLineRoundLimit>; - result["symbol-placement"] = &setLayoutProperty, &SymbolLayer::setSymbolPlacement>; - result["symbol-spacing"] = &setLayoutProperty, &SymbolLayer::setSymbolSpacing>; - result["symbol-avoid-edges"] = &setLayoutProperty, &SymbolLayer::setSymbolAvoidEdges>; - result["icon-allow-overlap"] = &setLayoutProperty, &SymbolLayer::setIconAllowOverlap>; - result["icon-ignore-placement"] = &setLayoutProperty, &SymbolLayer::setIconIgnorePlacement>; - result["icon-optional"] = &setLayoutProperty, &SymbolLayer::setIconOptional>; - result["icon-rotation-alignment"] = &setLayoutProperty, &SymbolLayer::setIconRotationAlignment>; - result["icon-size"] = &setLayoutProperty, &SymbolLayer::setIconSize>; - result["icon-text-fit"] = &setLayoutProperty, &SymbolLayer::setIconTextFit>; - result["icon-text-fit-padding"] = &setLayoutProperty>, &SymbolLayer::setIconTextFitPadding>; - result["icon-image"] = &setLayoutProperty, &SymbolLayer::setIconImage>; - result["icon-rotate"] = &setLayoutProperty, &SymbolLayer::setIconRotate>; - result["icon-padding"] = &setLayoutProperty, &SymbolLayer::setIconPadding>; - result["icon-keep-upright"] = &setLayoutProperty, &SymbolLayer::setIconKeepUpright>; - result["icon-offset"] = &setLayoutProperty>, &SymbolLayer::setIconOffset>; - result["text-pitch-alignment"] = &setLayoutProperty, &SymbolLayer::setTextPitchAlignment>; - result["text-rotation-alignment"] = &setLayoutProperty, &SymbolLayer::setTextRotationAlignment>; - result["text-field"] = &setLayoutProperty, &SymbolLayer::setTextField>; - result["text-font"] = &setLayoutProperty>, &SymbolLayer::setTextFont>; - result["text-size"] = &setLayoutProperty, &SymbolLayer::setTextSize>; - result["text-max-width"] = &setLayoutProperty, &SymbolLayer::setTextMaxWidth>; - result["text-line-height"] = &setLayoutProperty, &SymbolLayer::setTextLineHeight>; - result["text-letter-spacing"] = &setLayoutProperty, &SymbolLayer::setTextLetterSpacing>; - result["text-justify"] = &setLayoutProperty, &SymbolLayer::setTextJustify>; - result["text-anchor"] = &setLayoutProperty, &SymbolLayer::setTextAnchor>; - result["text-max-angle"] = &setLayoutProperty, &SymbolLayer::setTextMaxAngle>; - result["text-rotate"] = &setLayoutProperty, &SymbolLayer::setTextRotate>; - result["text-padding"] = &setLayoutProperty, &SymbolLayer::setTextPadding>; - result["text-keep-upright"] = &setLayoutProperty, &SymbolLayer::setTextKeepUpright>; - result["text-transform"] = &setLayoutProperty, &SymbolLayer::setTextTransform>; - result["text-offset"] = &setLayoutProperty>, &SymbolLayer::setTextOffset>; - result["text-allow-overlap"] = &setLayoutProperty, &SymbolLayer::setTextAllowOverlap>; - result["text-ignore-placement"] = &setLayoutProperty, &SymbolLayer::setTextIgnorePlacement>; - result["text-optional"] = &setLayoutProperty, &SymbolLayer::setTextOptional>; + result["symbol-placement"] = &setProperty, &SymbolLayer::setSymbolPlacement>; + result["symbol-spacing"] = &setProperty, &SymbolLayer::setSymbolSpacing>; + result["symbol-avoid-edges"] = &setProperty, &SymbolLayer::setSymbolAvoidEdges>; + result["icon-allow-overlap"] = &setProperty, &SymbolLayer::setIconAllowOverlap>; + result["icon-ignore-placement"] = &setProperty, &SymbolLayer::setIconIgnorePlacement>; + result["icon-optional"] = &setProperty, &SymbolLayer::setIconOptional>; + result["icon-rotation-alignment"] = &setProperty, &SymbolLayer::setIconRotationAlignment>; + result["icon-size"] = &setProperty, &SymbolLayer::setIconSize>; + result["icon-text-fit"] = &setProperty, &SymbolLayer::setIconTextFit>; + result["icon-text-fit-padding"] = &setProperty>, &SymbolLayer::setIconTextFitPadding>; + result["icon-image"] = &setProperty, &SymbolLayer::setIconImage>; + result["icon-rotate"] = &setProperty, &SymbolLayer::setIconRotate>; + result["icon-padding"] = &setProperty, &SymbolLayer::setIconPadding>; + result["icon-keep-upright"] = &setProperty, &SymbolLayer::setIconKeepUpright>; + result["icon-offset"] = &setProperty>, &SymbolLayer::setIconOffset>; + result["text-pitch-alignment"] = &setProperty, &SymbolLayer::setTextPitchAlignment>; + result["text-rotation-alignment"] = &setProperty, &SymbolLayer::setTextRotationAlignment>; + result["text-field"] = &setProperty, &SymbolLayer::setTextField>; + result["text-font"] = &setProperty>, &SymbolLayer::setTextFont>; + result["text-size"] = &setProperty, &SymbolLayer::setTextSize>; + result["text-max-width"] = &setProperty, &SymbolLayer::setTextMaxWidth>; + result["text-line-height"] = &setProperty, &SymbolLayer::setTextLineHeight>; + result["text-letter-spacing"] = &setProperty, &SymbolLayer::setTextLetterSpacing>; + result["text-justify"] = &setProperty, &SymbolLayer::setTextJustify>; + result["text-anchor"] = &setProperty, &SymbolLayer::setTextAnchor>; + result["text-max-angle"] = &setProperty, &SymbolLayer::setTextMaxAngle>; + result["text-rotate"] = &setProperty, &SymbolLayer::setTextRotate>; + result["text-padding"] = &setProperty, &SymbolLayer::setTextPadding>; + result["text-keep-upright"] = &setProperty, &SymbolLayer::setTextKeepUpright>; + result["text-transform"] = &setProperty, &SymbolLayer::setTextTransform>; + result["text-offset"] = &setProperty>, &SymbolLayer::setTextOffset>; + result["text-allow-overlap"] = &setProperty, &SymbolLayer::setTextAllowOverlap>; + result["text-ignore-placement"] = &setProperty, &SymbolLayer::setTextIgnorePlacement>; + result["text-optional"] = &setProperty, &SymbolLayer::setTextOptional>; @@ -74,129 +74,129 @@ auto makeLayoutPropertySetters() { template auto makePaintPropertySetters() { - std::unordered_map> result; + std::unordered_map> result; - result["fill-antialias"] = &setPaintProperty, &FillLayer::setFillAntialias>; + result["fill-antialias"] = &setProperty, &FillLayer::setFillAntialias>; result["fill-antialias-transition"] = &setTransition; - result["fill-opacity"] = &setPaintProperty, &FillLayer::setFillOpacity>; + result["fill-opacity"] = &setProperty, &FillLayer::setFillOpacity>; result["fill-opacity-transition"] = &setTransition; - result["fill-color"] = &setPaintProperty, &FillLayer::setFillColor>; + result["fill-color"] = &setProperty, &FillLayer::setFillColor>; result["fill-color-transition"] = &setTransition; - result["fill-outline-color"] = &setPaintProperty, &FillLayer::setFillOutlineColor>; + result["fill-outline-color"] = &setProperty, &FillLayer::setFillOutlineColor>; result["fill-outline-color-transition"] = &setTransition; - result["fill-translate"] = &setPaintProperty>, &FillLayer::setFillTranslate>; + result["fill-translate"] = &setProperty>, &FillLayer::setFillTranslate>; result["fill-translate-transition"] = &setTransition; - result["fill-translate-anchor"] = &setPaintProperty, &FillLayer::setFillTranslateAnchor>; + result["fill-translate-anchor"] = &setProperty, &FillLayer::setFillTranslateAnchor>; result["fill-translate-anchor-transition"] = &setTransition; - result["fill-pattern"] = &setPaintProperty, &FillLayer::setFillPattern>; + result["fill-pattern"] = &setProperty, &FillLayer::setFillPattern>; result["fill-pattern-transition"] = &setTransition; - result["line-opacity"] = &setPaintProperty, &LineLayer::setLineOpacity>; + result["line-opacity"] = &setProperty, &LineLayer::setLineOpacity>; result["line-opacity-transition"] = &setTransition; - result["line-color"] = &setPaintProperty, &LineLayer::setLineColor>; + result["line-color"] = &setProperty, &LineLayer::setLineColor>; result["line-color-transition"] = &setTransition; - result["line-translate"] = &setPaintProperty>, &LineLayer::setLineTranslate>; + result["line-translate"] = &setProperty>, &LineLayer::setLineTranslate>; result["line-translate-transition"] = &setTransition; - result["line-translate-anchor"] = &setPaintProperty, &LineLayer::setLineTranslateAnchor>; + result["line-translate-anchor"] = &setProperty, &LineLayer::setLineTranslateAnchor>; result["line-translate-anchor-transition"] = &setTransition; - result["line-width"] = &setPaintProperty, &LineLayer::setLineWidth>; + result["line-width"] = &setProperty, &LineLayer::setLineWidth>; result["line-width-transition"] = &setTransition; - result["line-gap-width"] = &setPaintProperty, &LineLayer::setLineGapWidth>; + result["line-gap-width"] = &setProperty, &LineLayer::setLineGapWidth>; result["line-gap-width-transition"] = &setTransition; - result["line-offset"] = &setPaintProperty, &LineLayer::setLineOffset>; + result["line-offset"] = &setProperty, &LineLayer::setLineOffset>; result["line-offset-transition"] = &setTransition; - result["line-blur"] = &setPaintProperty, &LineLayer::setLineBlur>; + result["line-blur"] = &setProperty, &LineLayer::setLineBlur>; result["line-blur-transition"] = &setTransition; - result["line-dasharray"] = &setPaintProperty>, &LineLayer::setLineDasharray>; + result["line-dasharray"] = &setProperty>, &LineLayer::setLineDasharray>; result["line-dasharray-transition"] = &setTransition; - result["line-pattern"] = &setPaintProperty, &LineLayer::setLinePattern>; + result["line-pattern"] = &setProperty, &LineLayer::setLinePattern>; result["line-pattern-transition"] = &setTransition; - result["icon-opacity"] = &setPaintProperty, &SymbolLayer::setIconOpacity>; + result["icon-opacity"] = &setProperty, &SymbolLayer::setIconOpacity>; result["icon-opacity-transition"] = &setTransition; - result["icon-color"] = &setPaintProperty, &SymbolLayer::setIconColor>; + result["icon-color"] = &setProperty, &SymbolLayer::setIconColor>; result["icon-color-transition"] = &setTransition; - result["icon-halo-color"] = &setPaintProperty, &SymbolLayer::setIconHaloColor>; + result["icon-halo-color"] = &setProperty, &SymbolLayer::setIconHaloColor>; result["icon-halo-color-transition"] = &setTransition; - result["icon-halo-width"] = &setPaintProperty, &SymbolLayer::setIconHaloWidth>; + result["icon-halo-width"] = &setProperty, &SymbolLayer::setIconHaloWidth>; result["icon-halo-width-transition"] = &setTransition; - result["icon-halo-blur"] = &setPaintProperty, &SymbolLayer::setIconHaloBlur>; + result["icon-halo-blur"] = &setProperty, &SymbolLayer::setIconHaloBlur>; result["icon-halo-blur-transition"] = &setTransition; - result["icon-translate"] = &setPaintProperty>, &SymbolLayer::setIconTranslate>; + result["icon-translate"] = &setProperty>, &SymbolLayer::setIconTranslate>; result["icon-translate-transition"] = &setTransition; - result["icon-translate-anchor"] = &setPaintProperty, &SymbolLayer::setIconTranslateAnchor>; + result["icon-translate-anchor"] = &setProperty, &SymbolLayer::setIconTranslateAnchor>; result["icon-translate-anchor-transition"] = &setTransition; - result["text-opacity"] = &setPaintProperty, &SymbolLayer::setTextOpacity>; + result["text-opacity"] = &setProperty, &SymbolLayer::setTextOpacity>; result["text-opacity-transition"] = &setTransition; - result["text-color"] = &setPaintProperty, &SymbolLayer::setTextColor>; + result["text-color"] = &setProperty, &SymbolLayer::setTextColor>; result["text-color-transition"] = &setTransition; - result["text-halo-color"] = &setPaintProperty, &SymbolLayer::setTextHaloColor>; + result["text-halo-color"] = &setProperty, &SymbolLayer::setTextHaloColor>; result["text-halo-color-transition"] = &setTransition; - result["text-halo-width"] = &setPaintProperty, &SymbolLayer::setTextHaloWidth>; + result["text-halo-width"] = &setProperty, &SymbolLayer::setTextHaloWidth>; result["text-halo-width-transition"] = &setTransition; - result["text-halo-blur"] = &setPaintProperty, &SymbolLayer::setTextHaloBlur>; + result["text-halo-blur"] = &setProperty, &SymbolLayer::setTextHaloBlur>; result["text-halo-blur-transition"] = &setTransition; - result["text-translate"] = &setPaintProperty>, &SymbolLayer::setTextTranslate>; + result["text-translate"] = &setProperty>, &SymbolLayer::setTextTranslate>; result["text-translate-transition"] = &setTransition; - result["text-translate-anchor"] = &setPaintProperty, &SymbolLayer::setTextTranslateAnchor>; + result["text-translate-anchor"] = &setProperty, &SymbolLayer::setTextTranslateAnchor>; result["text-translate-anchor-transition"] = &setTransition; - result["circle-radius"] = &setPaintProperty, &CircleLayer::setCircleRadius>; + result["circle-radius"] = &setProperty, &CircleLayer::setCircleRadius>; result["circle-radius-transition"] = &setTransition; - result["circle-color"] = &setPaintProperty, &CircleLayer::setCircleColor>; + result["circle-color"] = &setProperty, &CircleLayer::setCircleColor>; result["circle-color-transition"] = &setTransition; - result["circle-blur"] = &setPaintProperty, &CircleLayer::setCircleBlur>; + result["circle-blur"] = &setProperty, &CircleLayer::setCircleBlur>; result["circle-blur-transition"] = &setTransition; - result["circle-opacity"] = &setPaintProperty, &CircleLayer::setCircleOpacity>; + result["circle-opacity"] = &setProperty, &CircleLayer::setCircleOpacity>; result["circle-opacity-transition"] = &setTransition; - result["circle-translate"] = &setPaintProperty>, &CircleLayer::setCircleTranslate>; + result["circle-translate"] = &setProperty>, &CircleLayer::setCircleTranslate>; result["circle-translate-transition"] = &setTransition; - result["circle-translate-anchor"] = &setPaintProperty, &CircleLayer::setCircleTranslateAnchor>; + result["circle-translate-anchor"] = &setProperty, &CircleLayer::setCircleTranslateAnchor>; result["circle-translate-anchor-transition"] = &setTransition; - result["circle-pitch-scale"] = &setPaintProperty, &CircleLayer::setCirclePitchScale>; + result["circle-pitch-scale"] = &setProperty, &CircleLayer::setCirclePitchScale>; result["circle-pitch-scale-transition"] = &setTransition; - result["circle-stroke-width"] = &setPaintProperty, &CircleLayer::setCircleStrokeWidth>; + result["circle-stroke-width"] = &setProperty, &CircleLayer::setCircleStrokeWidth>; result["circle-stroke-width-transition"] = &setTransition; - result["circle-stroke-color"] = &setPaintProperty, &CircleLayer::setCircleStrokeColor>; + result["circle-stroke-color"] = &setProperty, &CircleLayer::setCircleStrokeColor>; result["circle-stroke-color-transition"] = &setTransition; - result["circle-stroke-opacity"] = &setPaintProperty, &CircleLayer::setCircleStrokeOpacity>; + result["circle-stroke-opacity"] = &setProperty, &CircleLayer::setCircleStrokeOpacity>; result["circle-stroke-opacity-transition"] = &setTransition; - result["fill-extrusion-opacity"] = &setPaintProperty, &FillExtrusionLayer::setFillExtrusionOpacity>; + result["fill-extrusion-opacity"] = &setProperty, &FillExtrusionLayer::setFillExtrusionOpacity>; result["fill-extrusion-opacity-transition"] = &setTransition; - result["fill-extrusion-color"] = &setPaintProperty, &FillExtrusionLayer::setFillExtrusionColor>; + result["fill-extrusion-color"] = &setProperty, &FillExtrusionLayer::setFillExtrusionColor>; result["fill-extrusion-color-transition"] = &setTransition; - result["fill-extrusion-translate"] = &setPaintProperty>, &FillExtrusionLayer::setFillExtrusionTranslate>; + result["fill-extrusion-translate"] = &setProperty>, &FillExtrusionLayer::setFillExtrusionTranslate>; result["fill-extrusion-translate-transition"] = &setTransition; - result["fill-extrusion-translate-anchor"] = &setPaintProperty, &FillExtrusionLayer::setFillExtrusionTranslateAnchor>; + result["fill-extrusion-translate-anchor"] = &setProperty, &FillExtrusionLayer::setFillExtrusionTranslateAnchor>; result["fill-extrusion-translate-anchor-transition"] = &setTransition; - result["fill-extrusion-pattern"] = &setPaintProperty, &FillExtrusionLayer::setFillExtrusionPattern>; + result["fill-extrusion-pattern"] = &setProperty, &FillExtrusionLayer::setFillExtrusionPattern>; result["fill-extrusion-pattern-transition"] = &setTransition; - result["fill-extrusion-height"] = &setPaintProperty, &FillExtrusionLayer::setFillExtrusionHeight>; + result["fill-extrusion-height"] = &setProperty, &FillExtrusionLayer::setFillExtrusionHeight>; result["fill-extrusion-height-transition"] = &setTransition; - result["fill-extrusion-base"] = &setPaintProperty, &FillExtrusionLayer::setFillExtrusionBase>; + result["fill-extrusion-base"] = &setProperty, &FillExtrusionLayer::setFillExtrusionBase>; result["fill-extrusion-base-transition"] = &setTransition; - result["raster-opacity"] = &setPaintProperty, &RasterLayer::setRasterOpacity>; + result["raster-opacity"] = &setProperty, &RasterLayer::setRasterOpacity>; result["raster-opacity-transition"] = &setTransition; - result["raster-hue-rotate"] = &setPaintProperty, &RasterLayer::setRasterHueRotate>; + result["raster-hue-rotate"] = &setProperty, &RasterLayer::setRasterHueRotate>; result["raster-hue-rotate-transition"] = &setTransition; - result["raster-brightness-min"] = &setPaintProperty, &RasterLayer::setRasterBrightnessMin>; + result["raster-brightness-min"] = &setProperty, &RasterLayer::setRasterBrightnessMin>; result["raster-brightness-min-transition"] = &setTransition; - result["raster-brightness-max"] = &setPaintProperty, &RasterLayer::setRasterBrightnessMax>; + result["raster-brightness-max"] = &setProperty, &RasterLayer::setRasterBrightnessMax>; result["raster-brightness-max-transition"] = &setTransition; - result["raster-saturation"] = &setPaintProperty, &RasterLayer::setRasterSaturation>; + result["raster-saturation"] = &setProperty, &RasterLayer::setRasterSaturation>; result["raster-saturation-transition"] = &setTransition; - result["raster-contrast"] = &setPaintProperty, &RasterLayer::setRasterContrast>; + result["raster-contrast"] = &setProperty, &RasterLayer::setRasterContrast>; result["raster-contrast-transition"] = &setTransition; - result["raster-fade-duration"] = &setPaintProperty, &RasterLayer::setRasterFadeDuration>; + result["raster-fade-duration"] = &setProperty, &RasterLayer::setRasterFadeDuration>; result["raster-fade-duration-transition"] = &setTransition; - result["background-color"] = &setPaintProperty, &BackgroundLayer::setBackgroundColor>; + result["background-color"] = &setProperty, &BackgroundLayer::setBackgroundColor>; result["background-color-transition"] = &setTransition; - result["background-pattern"] = &setPaintProperty, &BackgroundLayer::setBackgroundPattern>; + result["background-pattern"] = &setProperty, &BackgroundLayer::setBackgroundPattern>; result["background-pattern-transition"] = &setTransition; - result["background-opacity"] = &setPaintProperty, &BackgroundLayer::setBackgroundOpacity>; + result["background-opacity"] = &setProperty, &BackgroundLayer::setBackgroundOpacity>; result["background-opacity-transition"] = &setTransition; return result; diff --git a/include/mbgl/style/conversion/make_property_setters.hpp.ejs b/include/mbgl/style/conversion/make_property_setters.hpp.ejs index a99e75aec..19c9f7053 100644 --- a/include/mbgl/style/conversion/make_property_setters.hpp.ejs +++ b/include/mbgl/style/conversion/make_property_setters.hpp.ejs @@ -16,13 +16,13 @@ namespace conversion { template auto makeLayoutPropertySetters() { - std::unordered_map> result; + std::unordered_map> result; result["visibility"] = &setVisibility; <% for (const layer of locals.layers) { -%> <% for (const property of layer.layoutProperties) { -%> - result["<%- property.name %>"] = &setLayoutPropertyLayer, <%- propertyValueType(property) %>, &<%- camelize(layer.type) %>Layer::set<%- camelize(property.name) %>>; + result["<%- property.name %>"] = &setPropertyLayer, <%- propertyValueType(property) %>, &<%- camelize(layer.type) %>Layer::set<%- camelize(property.name) %>>; <% } -%> <% } -%> @@ -31,11 +31,11 @@ auto makeLayoutPropertySetters() { template auto makePaintPropertySetters() { - std::unordered_map> result; + std::unordered_map> result; <% for (const layer of locals.layers) { -%> <% for (const property of layer.paintProperties) { -%> - result["<%- property.name %>"] = &setPaintPropertyLayer, <%- propertyValueType(property) %>, &<%- camelize(layer.type) %>Layer::set<%- camelize(property.name) %>>; + result["<%- property.name %>"] = &setPropertyLayer, <%- propertyValueType(property) %>, &<%- camelize(layer.type) %>Layer::set<%- camelize(property.name) %>>; result["<%- property.name %>-transition"] = &setTransitionLayer, &<%- camelize(layer.type) %>Layer::set<%- camelize(property.name) %>Transition>; <% } -%> diff --git a/include/mbgl/style/conversion/property_setter.hpp b/include/mbgl/style/conversion/property_setter.hpp index 8658fd60b..759c4512c 100644 --- a/include/mbgl/style/conversion/property_setter.hpp +++ b/include/mbgl/style/conversion/property_setter.hpp @@ -14,13 +14,10 @@ namespace style { namespace conversion { template -using LayoutPropertySetter = optional (*) (Layer&, const V&); - -template -using PaintPropertySetter = optional (*) (Layer&, const V&, const optional&); +using PropertySetter = optional (*) (Layer&, const V&); template -optional setLayoutProperty(Layer& layer, const V& value) { +optional setProperty(Layer& layer, const V& value) { auto* typedLayer = layer.as(); if (!typedLayer) { return Error { "layer doesn't support this property" }; @@ -36,25 +33,8 @@ optional setLayoutProperty(Layer& layer, const V& value) { return {}; } -template &)> -optional setPaintProperty(Layer& layer, const V& value, const optional& klass) { - auto* typedLayer = layer.as(); - if (!typedLayer) { - return Error { "layer doesn't support this property" }; - } - - Error error; - optional typedValue = convert(value, error); - if (!typedValue) { - return error; - } - - (typedLayer->*setter)(*typedValue, klass); - return {}; -} - -template &)> -optional setTransition(Layer& layer, const V& value, const optional& klass) { +template +optional setTransition(Layer& layer, const V& value) { auto* typedLayer = layer.as(); if (!typedLayer) { return Error { "layer doesn't support this property" }; @@ -66,7 +46,7 @@ optional setTransition(Layer& layer, const V& value, const optional*setter)(*transition, klass); + (typedLayer->*setter)(*transition); return {}; } diff --git a/include/mbgl/style/layers/background_layer.hpp b/include/mbgl/style/layers/background_layer.hpp index 63708a449..903983844 100644 --- a/include/mbgl/style/layers/background_layer.hpp +++ b/include/mbgl/style/layers/background_layer.hpp @@ -29,22 +29,22 @@ public: // Paint properties static PropertyValue getDefaultBackgroundColor(); - PropertyValue getBackgroundColor(const optional& klass = {}) const; - void setBackgroundColor(PropertyValue, const optional& klass = {}); - void setBackgroundColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getBackgroundColorTransition(const optional& klass = {}) const; + PropertyValue getBackgroundColor() const; + void setBackgroundColor(PropertyValue); + void setBackgroundColorTransition(const TransitionOptions&); + TransitionOptions getBackgroundColorTransition() const; static PropertyValue getDefaultBackgroundPattern(); - PropertyValue getBackgroundPattern(const optional& klass = {}) const; - void setBackgroundPattern(PropertyValue, const optional& klass = {}); - void setBackgroundPatternTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getBackgroundPatternTransition(const optional& klass = {}) const; + PropertyValue getBackgroundPattern() const; + void setBackgroundPattern(PropertyValue); + void setBackgroundPatternTransition(const TransitionOptions&); + TransitionOptions getBackgroundPatternTransition() const; static PropertyValue getDefaultBackgroundOpacity(); - PropertyValue getBackgroundOpacity(const optional& klass = {}) const; - void setBackgroundOpacity(PropertyValue, const optional& klass = {}); - void setBackgroundOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getBackgroundOpacityTransition(const optional& klass = {}) const; + PropertyValue getBackgroundOpacity() const; + void setBackgroundOpacity(PropertyValue); + void setBackgroundOpacityTransition(const TransitionOptions&); + TransitionOptions getBackgroundOpacityTransition() const; // Private implementation diff --git a/include/mbgl/style/layers/circle_layer.hpp b/include/mbgl/style/layers/circle_layer.hpp index f40c507e2..275a2e67a 100644 --- a/include/mbgl/style/layers/circle_layer.hpp +++ b/include/mbgl/style/layers/circle_layer.hpp @@ -37,64 +37,64 @@ public: // Paint properties static DataDrivenPropertyValue getDefaultCircleRadius(); - DataDrivenPropertyValue getCircleRadius(const optional& klass = {}) const; - void setCircleRadius(DataDrivenPropertyValue, const optional& klass = {}); - void setCircleRadiusTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleRadiusTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getCircleRadius() const; + void setCircleRadius(DataDrivenPropertyValue); + void setCircleRadiusTransition(const TransitionOptions&); + TransitionOptions getCircleRadiusTransition() const; static DataDrivenPropertyValue getDefaultCircleColor(); - DataDrivenPropertyValue getCircleColor(const optional& klass = {}) const; - void setCircleColor(DataDrivenPropertyValue, const optional& klass = {}); - void setCircleColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getCircleColor() const; + void setCircleColor(DataDrivenPropertyValue); + void setCircleColorTransition(const TransitionOptions&); + TransitionOptions getCircleColorTransition() const; static DataDrivenPropertyValue getDefaultCircleBlur(); - DataDrivenPropertyValue getCircleBlur(const optional& klass = {}) const; - void setCircleBlur(DataDrivenPropertyValue, const optional& klass = {}); - void setCircleBlurTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleBlurTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getCircleBlur() const; + void setCircleBlur(DataDrivenPropertyValue); + void setCircleBlurTransition(const TransitionOptions&); + TransitionOptions getCircleBlurTransition() const; static DataDrivenPropertyValue getDefaultCircleOpacity(); - DataDrivenPropertyValue getCircleOpacity(const optional& klass = {}) const; - void setCircleOpacity(DataDrivenPropertyValue, const optional& klass = {}); - void setCircleOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleOpacityTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getCircleOpacity() const; + void setCircleOpacity(DataDrivenPropertyValue); + void setCircleOpacityTransition(const TransitionOptions&); + TransitionOptions getCircleOpacityTransition() const; static PropertyValue> getDefaultCircleTranslate(); - PropertyValue> getCircleTranslate(const optional& klass = {}) const; - void setCircleTranslate(PropertyValue>, const optional& klass = {}); - void setCircleTranslateTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleTranslateTransition(const optional& klass = {}) const; + PropertyValue> getCircleTranslate() const; + void setCircleTranslate(PropertyValue>); + void setCircleTranslateTransition(const TransitionOptions&); + TransitionOptions getCircleTranslateTransition() const; static PropertyValue getDefaultCircleTranslateAnchor(); - PropertyValue getCircleTranslateAnchor(const optional& klass = {}) const; - void setCircleTranslateAnchor(PropertyValue, const optional& klass = {}); - void setCircleTranslateAnchorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleTranslateAnchorTransition(const optional& klass = {}) const; + PropertyValue getCircleTranslateAnchor() const; + void setCircleTranslateAnchor(PropertyValue); + void setCircleTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getCircleTranslateAnchorTransition() const; static PropertyValue getDefaultCirclePitchScale(); - PropertyValue getCirclePitchScale(const optional& klass = {}) const; - void setCirclePitchScale(PropertyValue, const optional& klass = {}); - void setCirclePitchScaleTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCirclePitchScaleTransition(const optional& klass = {}) const; + PropertyValue getCirclePitchScale() const; + void setCirclePitchScale(PropertyValue); + void setCirclePitchScaleTransition(const TransitionOptions&); + TransitionOptions getCirclePitchScaleTransition() const; static DataDrivenPropertyValue getDefaultCircleStrokeWidth(); - DataDrivenPropertyValue getCircleStrokeWidth(const optional& klass = {}) const; - void setCircleStrokeWidth(DataDrivenPropertyValue, const optional& klass = {}); - void setCircleStrokeWidthTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleStrokeWidthTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getCircleStrokeWidth() const; + void setCircleStrokeWidth(DataDrivenPropertyValue); + void setCircleStrokeWidthTransition(const TransitionOptions&); + TransitionOptions getCircleStrokeWidthTransition() const; static DataDrivenPropertyValue getDefaultCircleStrokeColor(); - DataDrivenPropertyValue getCircleStrokeColor(const optional& klass = {}) const; - void setCircleStrokeColor(DataDrivenPropertyValue, const optional& klass = {}); - void setCircleStrokeColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleStrokeColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getCircleStrokeColor() const; + void setCircleStrokeColor(DataDrivenPropertyValue); + void setCircleStrokeColorTransition(const TransitionOptions&); + TransitionOptions getCircleStrokeColorTransition() const; static DataDrivenPropertyValue getDefaultCircleStrokeOpacity(); - DataDrivenPropertyValue getCircleStrokeOpacity(const optional& klass = {}) const; - void setCircleStrokeOpacity(DataDrivenPropertyValue, const optional& klass = {}); - void setCircleStrokeOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getCircleStrokeOpacityTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getCircleStrokeOpacity() const; + void setCircleStrokeOpacity(DataDrivenPropertyValue); + void setCircleStrokeOpacityTransition(const TransitionOptions&); + TransitionOptions getCircleStrokeOpacityTransition() const; // Private implementation diff --git a/include/mbgl/style/layers/fill_extrusion_layer.hpp b/include/mbgl/style/layers/fill_extrusion_layer.hpp index bc6890e82..e1c54f54e 100644 --- a/include/mbgl/style/layers/fill_extrusion_layer.hpp +++ b/include/mbgl/style/layers/fill_extrusion_layer.hpp @@ -37,46 +37,46 @@ public: // Paint properties static PropertyValue getDefaultFillExtrusionOpacity(); - PropertyValue getFillExtrusionOpacity(const optional& klass = {}) const; - void setFillExtrusionOpacity(PropertyValue, const optional& klass = {}); - void setFillExtrusionOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillExtrusionOpacityTransition(const optional& klass = {}) const; + PropertyValue getFillExtrusionOpacity() const; + void setFillExtrusionOpacity(PropertyValue); + void setFillExtrusionOpacityTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionOpacityTransition() const; static DataDrivenPropertyValue getDefaultFillExtrusionColor(); - DataDrivenPropertyValue getFillExtrusionColor(const optional& klass = {}) const; - void setFillExtrusionColor(DataDrivenPropertyValue, const optional& klass = {}); - void setFillExtrusionColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillExtrusionColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getFillExtrusionColor() const; + void setFillExtrusionColor(DataDrivenPropertyValue); + void setFillExtrusionColorTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionColorTransition() const; static PropertyValue> getDefaultFillExtrusionTranslate(); - PropertyValue> getFillExtrusionTranslate(const optional& klass = {}) const; - void setFillExtrusionTranslate(PropertyValue>, const optional& klass = {}); - void setFillExtrusionTranslateTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillExtrusionTranslateTransition(const optional& klass = {}) const; + PropertyValue> getFillExtrusionTranslate() const; + void setFillExtrusionTranslate(PropertyValue>); + void setFillExtrusionTranslateTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionTranslateTransition() const; static PropertyValue getDefaultFillExtrusionTranslateAnchor(); - PropertyValue getFillExtrusionTranslateAnchor(const optional& klass = {}) const; - void setFillExtrusionTranslateAnchor(PropertyValue, const optional& klass = {}); - void setFillExtrusionTranslateAnchorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillExtrusionTranslateAnchorTransition(const optional& klass = {}) const; + PropertyValue getFillExtrusionTranslateAnchor() const; + void setFillExtrusionTranslateAnchor(PropertyValue); + void setFillExtrusionTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionTranslateAnchorTransition() const; static PropertyValue getDefaultFillExtrusionPattern(); - PropertyValue getFillExtrusionPattern(const optional& klass = {}) const; - void setFillExtrusionPattern(PropertyValue, const optional& klass = {}); - void setFillExtrusionPatternTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillExtrusionPatternTransition(const optional& klass = {}) const; + PropertyValue getFillExtrusionPattern() const; + void setFillExtrusionPattern(PropertyValue); + void setFillExtrusionPatternTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionPatternTransition() const; static DataDrivenPropertyValue getDefaultFillExtrusionHeight(); - DataDrivenPropertyValue getFillExtrusionHeight(const optional& klass = {}) const; - void setFillExtrusionHeight(DataDrivenPropertyValue, const optional& klass = {}); - void setFillExtrusionHeightTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillExtrusionHeightTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getFillExtrusionHeight() const; + void setFillExtrusionHeight(DataDrivenPropertyValue); + void setFillExtrusionHeightTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionHeightTransition() const; static DataDrivenPropertyValue getDefaultFillExtrusionBase(); - DataDrivenPropertyValue getFillExtrusionBase(const optional& klass = {}) const; - void setFillExtrusionBase(DataDrivenPropertyValue, const optional& klass = {}); - void setFillExtrusionBaseTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillExtrusionBaseTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getFillExtrusionBase() const; + void setFillExtrusionBase(DataDrivenPropertyValue); + void setFillExtrusionBaseTransition(const TransitionOptions&); + TransitionOptions getFillExtrusionBaseTransition() const; // Private implementation diff --git a/include/mbgl/style/layers/fill_layer.hpp b/include/mbgl/style/layers/fill_layer.hpp index 3d08e75a1..dfbe69d7f 100644 --- a/include/mbgl/style/layers/fill_layer.hpp +++ b/include/mbgl/style/layers/fill_layer.hpp @@ -37,46 +37,46 @@ public: // Paint properties static PropertyValue getDefaultFillAntialias(); - PropertyValue getFillAntialias(const optional& klass = {}) const; - void setFillAntialias(PropertyValue, const optional& klass = {}); - void setFillAntialiasTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillAntialiasTransition(const optional& klass = {}) const; + PropertyValue getFillAntialias() const; + void setFillAntialias(PropertyValue); + void setFillAntialiasTransition(const TransitionOptions&); + TransitionOptions getFillAntialiasTransition() const; static DataDrivenPropertyValue getDefaultFillOpacity(); - DataDrivenPropertyValue getFillOpacity(const optional& klass = {}) const; - void setFillOpacity(DataDrivenPropertyValue, const optional& klass = {}); - void setFillOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillOpacityTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getFillOpacity() const; + void setFillOpacity(DataDrivenPropertyValue); + void setFillOpacityTransition(const TransitionOptions&); + TransitionOptions getFillOpacityTransition() const; static DataDrivenPropertyValue getDefaultFillColor(); - DataDrivenPropertyValue getFillColor(const optional& klass = {}) const; - void setFillColor(DataDrivenPropertyValue, const optional& klass = {}); - void setFillColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getFillColor() const; + void setFillColor(DataDrivenPropertyValue); + void setFillColorTransition(const TransitionOptions&); + TransitionOptions getFillColorTransition() const; static DataDrivenPropertyValue getDefaultFillOutlineColor(); - DataDrivenPropertyValue getFillOutlineColor(const optional& klass = {}) const; - void setFillOutlineColor(DataDrivenPropertyValue, const optional& klass = {}); - void setFillOutlineColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillOutlineColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getFillOutlineColor() const; + void setFillOutlineColor(DataDrivenPropertyValue); + void setFillOutlineColorTransition(const TransitionOptions&); + TransitionOptions getFillOutlineColorTransition() const; static PropertyValue> getDefaultFillTranslate(); - PropertyValue> getFillTranslate(const optional& klass = {}) const; - void setFillTranslate(PropertyValue>, const optional& klass = {}); - void setFillTranslateTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillTranslateTransition(const optional& klass = {}) const; + PropertyValue> getFillTranslate() const; + void setFillTranslate(PropertyValue>); + void setFillTranslateTransition(const TransitionOptions&); + TransitionOptions getFillTranslateTransition() const; static PropertyValue getDefaultFillTranslateAnchor(); - PropertyValue getFillTranslateAnchor(const optional& klass = {}) const; - void setFillTranslateAnchor(PropertyValue, const optional& klass = {}); - void setFillTranslateAnchorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillTranslateAnchorTransition(const optional& klass = {}) const; + PropertyValue getFillTranslateAnchor() const; + void setFillTranslateAnchor(PropertyValue); + void setFillTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getFillTranslateAnchorTransition() const; static PropertyValue getDefaultFillPattern(); - PropertyValue getFillPattern(const optional& klass = {}) const; - void setFillPattern(PropertyValue, const optional& klass = {}); - void setFillPatternTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getFillPatternTransition(const optional& klass = {}) const; + PropertyValue getFillPattern() const; + void setFillPattern(PropertyValue); + void setFillPatternTransition(const TransitionOptions&); + TransitionOptions getFillPatternTransition() const; // Private implementation diff --git a/include/mbgl/style/layers/layer.hpp.ejs b/include/mbgl/style/layers/layer.hpp.ejs index 033ae8895..4ee554524 100644 --- a/include/mbgl/style/layers/layer.hpp.ejs +++ b/include/mbgl/style/layers/layer.hpp.ejs @@ -65,10 +65,10 @@ public: <% for (const property of paintProperties) { -%> static <%- propertyValueType(property) %> getDefault<%- camelize(property.name) %>(); - <%- propertyValueType(property) %> get<%- camelize(property.name) %>(const optional& klass = {}) const; - void set<%- camelize(property.name) %>(<%- propertyValueType(property) %>, const optional& klass = {}); - void set<%- camelize(property.name) %>Transition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions get<%- camelize(property.name) %>Transition(const optional& 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 diff --git a/include/mbgl/style/layers/line_layer.hpp b/include/mbgl/style/layers/line_layer.hpp index 6000839d1..c643ad110 100644 --- a/include/mbgl/style/layers/line_layer.hpp +++ b/include/mbgl/style/layers/line_layer.hpp @@ -57,64 +57,64 @@ public: // Paint properties static DataDrivenPropertyValue getDefaultLineOpacity(); - DataDrivenPropertyValue getLineOpacity(const optional& klass = {}) const; - void setLineOpacity(DataDrivenPropertyValue, const optional& klass = {}); - void setLineOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineOpacityTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getLineOpacity() const; + void setLineOpacity(DataDrivenPropertyValue); + void setLineOpacityTransition(const TransitionOptions&); + TransitionOptions getLineOpacityTransition() const; static DataDrivenPropertyValue getDefaultLineColor(); - DataDrivenPropertyValue getLineColor(const optional& klass = {}) const; - void setLineColor(DataDrivenPropertyValue, const optional& klass = {}); - void setLineColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getLineColor() const; + void setLineColor(DataDrivenPropertyValue); + void setLineColorTransition(const TransitionOptions&); + TransitionOptions getLineColorTransition() const; static PropertyValue> getDefaultLineTranslate(); - PropertyValue> getLineTranslate(const optional& klass = {}) const; - void setLineTranslate(PropertyValue>, const optional& klass = {}); - void setLineTranslateTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineTranslateTransition(const optional& klass = {}) const; + PropertyValue> getLineTranslate() const; + void setLineTranslate(PropertyValue>); + void setLineTranslateTransition(const TransitionOptions&); + TransitionOptions getLineTranslateTransition() const; static PropertyValue getDefaultLineTranslateAnchor(); - PropertyValue getLineTranslateAnchor(const optional& klass = {}) const; - void setLineTranslateAnchor(PropertyValue, const optional& klass = {}); - void setLineTranslateAnchorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineTranslateAnchorTransition(const optional& klass = {}) const; + PropertyValue getLineTranslateAnchor() const; + void setLineTranslateAnchor(PropertyValue); + void setLineTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getLineTranslateAnchorTransition() const; static PropertyValue getDefaultLineWidth(); - PropertyValue getLineWidth(const optional& klass = {}) const; - void setLineWidth(PropertyValue, const optional& klass = {}); - void setLineWidthTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineWidthTransition(const optional& klass = {}) const; + PropertyValue getLineWidth() const; + void setLineWidth(PropertyValue); + void setLineWidthTransition(const TransitionOptions&); + TransitionOptions getLineWidthTransition() const; static DataDrivenPropertyValue getDefaultLineGapWidth(); - DataDrivenPropertyValue getLineGapWidth(const optional& klass = {}) const; - void setLineGapWidth(DataDrivenPropertyValue, const optional& klass = {}); - void setLineGapWidthTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineGapWidthTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getLineGapWidth() const; + void setLineGapWidth(DataDrivenPropertyValue); + void setLineGapWidthTransition(const TransitionOptions&); + TransitionOptions getLineGapWidthTransition() const; static DataDrivenPropertyValue getDefaultLineOffset(); - DataDrivenPropertyValue getLineOffset(const optional& klass = {}) const; - void setLineOffset(DataDrivenPropertyValue, const optional& klass = {}); - void setLineOffsetTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineOffsetTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getLineOffset() const; + void setLineOffset(DataDrivenPropertyValue); + void setLineOffsetTransition(const TransitionOptions&); + TransitionOptions getLineOffsetTransition() const; static DataDrivenPropertyValue getDefaultLineBlur(); - DataDrivenPropertyValue getLineBlur(const optional& klass = {}) const; - void setLineBlur(DataDrivenPropertyValue, const optional& klass = {}); - void setLineBlurTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineBlurTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getLineBlur() const; + void setLineBlur(DataDrivenPropertyValue); + void setLineBlurTransition(const TransitionOptions&); + TransitionOptions getLineBlurTransition() const; static PropertyValue> getDefaultLineDasharray(); - PropertyValue> getLineDasharray(const optional& klass = {}) const; - void setLineDasharray(PropertyValue>, const optional& klass = {}); - void setLineDasharrayTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLineDasharrayTransition(const optional& klass = {}) const; + PropertyValue> getLineDasharray() const; + void setLineDasharray(PropertyValue>); + void setLineDasharrayTransition(const TransitionOptions&); + TransitionOptions getLineDasharrayTransition() const; static PropertyValue getDefaultLinePattern(); - PropertyValue getLinePattern(const optional& klass = {}) const; - void setLinePattern(PropertyValue, const optional& klass = {}); - void setLinePatternTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getLinePatternTransition(const optional& klass = {}) const; + PropertyValue getLinePattern() const; + void setLinePattern(PropertyValue); + void setLinePatternTransition(const TransitionOptions&); + TransitionOptions getLinePatternTransition() const; // Private implementation diff --git a/include/mbgl/style/layers/raster_layer.hpp b/include/mbgl/style/layers/raster_layer.hpp index ad9a68f1b..811136470 100644 --- a/include/mbgl/style/layers/raster_layer.hpp +++ b/include/mbgl/style/layers/raster_layer.hpp @@ -32,46 +32,46 @@ public: // Paint properties static PropertyValue getDefaultRasterOpacity(); - PropertyValue getRasterOpacity(const optional& klass = {}) const; - void setRasterOpacity(PropertyValue, const optional& klass = {}); - void setRasterOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getRasterOpacityTransition(const optional& klass = {}) const; + PropertyValue getRasterOpacity() const; + void setRasterOpacity(PropertyValue); + void setRasterOpacityTransition(const TransitionOptions&); + TransitionOptions getRasterOpacityTransition() const; static PropertyValue getDefaultRasterHueRotate(); - PropertyValue getRasterHueRotate(const optional& klass = {}) const; - void setRasterHueRotate(PropertyValue, const optional& klass = {}); - void setRasterHueRotateTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getRasterHueRotateTransition(const optional& klass = {}) const; + PropertyValue getRasterHueRotate() const; + void setRasterHueRotate(PropertyValue); + void setRasterHueRotateTransition(const TransitionOptions&); + TransitionOptions getRasterHueRotateTransition() const; static PropertyValue getDefaultRasterBrightnessMin(); - PropertyValue getRasterBrightnessMin(const optional& klass = {}) const; - void setRasterBrightnessMin(PropertyValue, const optional& klass = {}); - void setRasterBrightnessMinTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getRasterBrightnessMinTransition(const optional& klass = {}) const; + PropertyValue getRasterBrightnessMin() const; + void setRasterBrightnessMin(PropertyValue); + void setRasterBrightnessMinTransition(const TransitionOptions&); + TransitionOptions getRasterBrightnessMinTransition() const; static PropertyValue getDefaultRasterBrightnessMax(); - PropertyValue getRasterBrightnessMax(const optional& klass = {}) const; - void setRasterBrightnessMax(PropertyValue, const optional& klass = {}); - void setRasterBrightnessMaxTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getRasterBrightnessMaxTransition(const optional& klass = {}) const; + PropertyValue getRasterBrightnessMax() const; + void setRasterBrightnessMax(PropertyValue); + void setRasterBrightnessMaxTransition(const TransitionOptions&); + TransitionOptions getRasterBrightnessMaxTransition() const; static PropertyValue getDefaultRasterSaturation(); - PropertyValue getRasterSaturation(const optional& klass = {}) const; - void setRasterSaturation(PropertyValue, const optional& klass = {}); - void setRasterSaturationTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getRasterSaturationTransition(const optional& klass = {}) const; + PropertyValue getRasterSaturation() const; + void setRasterSaturation(PropertyValue); + void setRasterSaturationTransition(const TransitionOptions&); + TransitionOptions getRasterSaturationTransition() const; static PropertyValue getDefaultRasterContrast(); - PropertyValue getRasterContrast(const optional& klass = {}) const; - void setRasterContrast(PropertyValue, const optional& klass = {}); - void setRasterContrastTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getRasterContrastTransition(const optional& klass = {}) const; + PropertyValue getRasterContrast() const; + void setRasterContrast(PropertyValue); + void setRasterContrastTransition(const TransitionOptions&); + TransitionOptions getRasterContrastTransition() const; static PropertyValue getDefaultRasterFadeDuration(); - PropertyValue getRasterFadeDuration(const optional& klass = {}) const; - void setRasterFadeDuration(PropertyValue, const optional& klass = {}); - void setRasterFadeDurationTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getRasterFadeDurationTransition(const optional& klass = {}) const; + PropertyValue getRasterFadeDuration() const; + void setRasterFadeDuration(PropertyValue); + void setRasterFadeDurationTransition(const TransitionOptions&); + TransitionOptions getRasterFadeDurationTransition() const; // Private implementation diff --git a/include/mbgl/style/layers/symbol_layer.hpp b/include/mbgl/style/layers/symbol_layer.hpp index e7df5a92a..8158f267c 100644 --- a/include/mbgl/style/layers/symbol_layer.hpp +++ b/include/mbgl/style/layers/symbol_layer.hpp @@ -177,88 +177,88 @@ public: // Paint properties static DataDrivenPropertyValue getDefaultIconOpacity(); - DataDrivenPropertyValue getIconOpacity(const optional& klass = {}) const; - void setIconOpacity(DataDrivenPropertyValue, const optional& klass = {}); - void setIconOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getIconOpacityTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getIconOpacity() const; + void setIconOpacity(DataDrivenPropertyValue); + void setIconOpacityTransition(const TransitionOptions&); + TransitionOptions getIconOpacityTransition() const; static DataDrivenPropertyValue getDefaultIconColor(); - DataDrivenPropertyValue getIconColor(const optional& klass = {}) const; - void setIconColor(DataDrivenPropertyValue, const optional& klass = {}); - void setIconColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getIconColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getIconColor() const; + void setIconColor(DataDrivenPropertyValue); + void setIconColorTransition(const TransitionOptions&); + TransitionOptions getIconColorTransition() const; static DataDrivenPropertyValue getDefaultIconHaloColor(); - DataDrivenPropertyValue getIconHaloColor(const optional& klass = {}) const; - void setIconHaloColor(DataDrivenPropertyValue, const optional& klass = {}); - void setIconHaloColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getIconHaloColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getIconHaloColor() const; + void setIconHaloColor(DataDrivenPropertyValue); + void setIconHaloColorTransition(const TransitionOptions&); + TransitionOptions getIconHaloColorTransition() const; static DataDrivenPropertyValue getDefaultIconHaloWidth(); - DataDrivenPropertyValue getIconHaloWidth(const optional& klass = {}) const; - void setIconHaloWidth(DataDrivenPropertyValue, const optional& klass = {}); - void setIconHaloWidthTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getIconHaloWidthTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getIconHaloWidth() const; + void setIconHaloWidth(DataDrivenPropertyValue); + void setIconHaloWidthTransition(const TransitionOptions&); + TransitionOptions getIconHaloWidthTransition() const; static DataDrivenPropertyValue getDefaultIconHaloBlur(); - DataDrivenPropertyValue getIconHaloBlur(const optional& klass = {}) const; - void setIconHaloBlur(DataDrivenPropertyValue, const optional& klass = {}); - void setIconHaloBlurTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getIconHaloBlurTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getIconHaloBlur() const; + void setIconHaloBlur(DataDrivenPropertyValue); + void setIconHaloBlurTransition(const TransitionOptions&); + TransitionOptions getIconHaloBlurTransition() const; static PropertyValue> getDefaultIconTranslate(); - PropertyValue> getIconTranslate(const optional& klass = {}) const; - void setIconTranslate(PropertyValue>, const optional& klass = {}); - void setIconTranslateTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getIconTranslateTransition(const optional& klass = {}) const; + PropertyValue> getIconTranslate() const; + void setIconTranslate(PropertyValue>); + void setIconTranslateTransition(const TransitionOptions&); + TransitionOptions getIconTranslateTransition() const; static PropertyValue getDefaultIconTranslateAnchor(); - PropertyValue getIconTranslateAnchor(const optional& klass = {}) const; - void setIconTranslateAnchor(PropertyValue, const optional& klass = {}); - void setIconTranslateAnchorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getIconTranslateAnchorTransition(const optional& klass = {}) const; + PropertyValue getIconTranslateAnchor() const; + void setIconTranslateAnchor(PropertyValue); + void setIconTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getIconTranslateAnchorTransition() const; static DataDrivenPropertyValue getDefaultTextOpacity(); - DataDrivenPropertyValue getTextOpacity(const optional& klass = {}) const; - void setTextOpacity(DataDrivenPropertyValue, const optional& klass = {}); - void setTextOpacityTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getTextOpacityTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getTextOpacity() const; + void setTextOpacity(DataDrivenPropertyValue); + void setTextOpacityTransition(const TransitionOptions&); + TransitionOptions getTextOpacityTransition() const; static DataDrivenPropertyValue getDefaultTextColor(); - DataDrivenPropertyValue getTextColor(const optional& klass = {}) const; - void setTextColor(DataDrivenPropertyValue, const optional& klass = {}); - void setTextColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getTextColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getTextColor() const; + void setTextColor(DataDrivenPropertyValue); + void setTextColorTransition(const TransitionOptions&); + TransitionOptions getTextColorTransition() const; static DataDrivenPropertyValue getDefaultTextHaloColor(); - DataDrivenPropertyValue getTextHaloColor(const optional& klass = {}) const; - void setTextHaloColor(DataDrivenPropertyValue, const optional& klass = {}); - void setTextHaloColorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getTextHaloColorTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getTextHaloColor() const; + void setTextHaloColor(DataDrivenPropertyValue); + void setTextHaloColorTransition(const TransitionOptions&); + TransitionOptions getTextHaloColorTransition() const; static DataDrivenPropertyValue getDefaultTextHaloWidth(); - DataDrivenPropertyValue getTextHaloWidth(const optional& klass = {}) const; - void setTextHaloWidth(DataDrivenPropertyValue, const optional& klass = {}); - void setTextHaloWidthTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getTextHaloWidthTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getTextHaloWidth() const; + void setTextHaloWidth(DataDrivenPropertyValue); + void setTextHaloWidthTransition(const TransitionOptions&); + TransitionOptions getTextHaloWidthTransition() const; static DataDrivenPropertyValue getDefaultTextHaloBlur(); - DataDrivenPropertyValue getTextHaloBlur(const optional& klass = {}) const; - void setTextHaloBlur(DataDrivenPropertyValue, const optional& klass = {}); - void setTextHaloBlurTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getTextHaloBlurTransition(const optional& klass = {}) const; + DataDrivenPropertyValue getTextHaloBlur() const; + void setTextHaloBlur(DataDrivenPropertyValue); + void setTextHaloBlurTransition(const TransitionOptions&); + TransitionOptions getTextHaloBlurTransition() const; static PropertyValue> getDefaultTextTranslate(); - PropertyValue> getTextTranslate(const optional& klass = {}) const; - void setTextTranslate(PropertyValue>, const optional& klass = {}); - void setTextTranslateTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getTextTranslateTransition(const optional& klass = {}) const; + PropertyValue> getTextTranslate() const; + void setTextTranslate(PropertyValue>); + void setTextTranslateTransition(const TransitionOptions&); + TransitionOptions getTextTranslateTransition() const; static PropertyValue getDefaultTextTranslateAnchor(); - PropertyValue getTextTranslateAnchor(const optional& klass = {}) const; - void setTextTranslateAnchor(PropertyValue, const optional& klass = {}); - void setTextTranslateAnchorTransition(const TransitionOptions&, const optional& klass = {}); - TransitionOptions getTextTranslateAnchorTransition(const optional& klass = {}) const; + PropertyValue getTextTranslateAnchor() const; + void setTextTranslateAnchor(PropertyValue); + void setTextTranslateAnchorTransition(const TransitionOptions&); + TransitionOptions getTextTranslateAnchorTransition() const; // Private implementation diff --git a/mapbox-gl-js b/mapbox-gl-js index 94619177e..a99706af3 160000 --- a/mapbox-gl-js +++ b/mapbox-gl-js @@ -1 +1 @@ -Subproject commit 94619177e52614564496c9e5bdd7751fc8ee4267 +Subproject commit a99706af3681a96562c39e30b0cd2e8124caa611 diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index d571c3fd2..5352f9e54 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -91,7 +91,7 @@ namespace android { Value value(env, jvalue); // Convert and set property - optional error = mbgl::style::conversion::setPaintProperty(layer, jni::Make(env, jname), value, mbgl::optional()); + optional error = mbgl::style::conversion::setPaintProperty(layer, jni::Make(env, jname), value); if (error) { mbgl::Log::Error(mbgl::Event::JNI, "Error setting property: " + jni::Make(env, jname) + " " + error->message); return; diff --git a/platform/darwin/docs/guides/For Style Authors.md.ejs b/platform/darwin/docs/guides/For Style Authors.md.ejs index 2d9ce635b..34c1b5ddd 100644 --- a/platform/darwin/docs/guides/For Style Authors.md.ejs +++ b/platform/darwin/docs/guides/For Style Authors.md.ejs @@ -158,7 +158,6 @@ the following terms for concepts defined in the style specification: In the style specification | In the SDK ---------------------------|--------- -class | style class filter | predicate function type | interpolation mode id | identifier diff --git a/platform/darwin/src/MGLStyle.h b/platform/darwin/src/MGLStyle.h index 26434eb49..ccec86323 100644 --- a/platform/darwin/src/MGLStyle.h +++ b/platform/darwin/src/MGLStyle.h @@ -483,40 +483,24 @@ MGL_EXPORT #pragma mark Managing Style Classes /** - Currently active style classes, represented as an array of string identifiers. + Support for style classes has been removed. This property always returns an empty array. */ -@property (nonatomic) NS_ARRAY_OF(NSString *) *styleClasses __attribute__((deprecated("This property will be removed in a future release."))); +@property (nonatomic) NS_ARRAY_OF(NSString *) *styleClasses __attribute__((deprecated("This property is non-functional."))); /** - Returns a Boolean value indicating whether the style class with the given - identifier is currently active. - - @param styleClass The style class to query for. - @return Whether the style class is currently active. + Support for style classes has been removed. This method always returns NO. */ -- (BOOL)hasStyleClass:(NSString *)styleClass __attribute__((deprecated("This method will be removed in a future release."))); +- (BOOL)hasStyleClass:(NSString *)styleClass __attribute__((deprecated("This method is non-functional."))); /** - Activates the style class with the given identifier. - - @param styleClass The style class to activate. + Support for style classes has been removed. This method is a no-op. */ -- (void)addStyleClass:(NSString *)styleClass __attribute__((deprecated("This method will be removed in a future release."))); +- (void)addStyleClass:(NSString *)styleClass __attribute__((deprecated("This method is non-functional."))); /** - Deactivates the style class with the given identifier. - - @note Style class names are not guaranteed to exist across styles or different - versions of the same style. Applications that use this API must first set the - style URL to an explicitly versioned style using a convenience method like - `+[MGLStyle outdoorsStyleURLWithVersion:]`, `MGLMapView`’s “Style URL” - inspectable in Interface Builder, or a manually constructed `NSURL`. This - approach also avoids style class name changes that will occur in the default - style over time. - - @param styleClass The style class to deactivate. + Support for style classes has been removed. This method is a no-op. */ -- (void)removeStyleClass:(NSString *)styleClass __attribute__((deprecated("This method will be removed in a future release."))); +- (void)removeStyleClass:(NSString *)styleClass __attribute__((deprecated("This method is non-functional."))); #pragma mark Managing a Style’s Images diff --git a/platform/darwin/src/MGLStyle.mm b/platform/darwin/src/MGLStyle.mm index af02c31b6..2c54b1163 100644 --- a/platform/darwin/src/MGLStyle.mm +++ b/platform/darwin/src/MGLStyle.mm @@ -469,60 +469,32 @@ static NSURL *MGLStyleURL_emerald; - (NS_ARRAY_OF(NSString *) *)styleClasses { - const std::vector &appliedClasses = self.mapView.mbglMap->getClasses(); - - NSMutableArray *returnArray = [NSMutableArray arrayWithCapacity:appliedClasses.size()]; - - for (auto appliedClass : appliedClasses) { - [returnArray addObject:@(appliedClass.c_str())]; - } - - return returnArray; + return @[]; } - (void)setStyleClasses:(NS_ARRAY_OF(NSString *) *)appliedClasses { - [self setStyleClasses:appliedClasses transitionDuration:0]; } - (void)setStyleClasses:(NS_ARRAY_OF(NSString *) *)appliedClasses transitionDuration:(NSTimeInterval)transitionDuration { - std::vector newAppliedClasses; - - for (NSString *appliedClass in appliedClasses) - { - newAppliedClasses.push_back([appliedClass UTF8String]); - } - - mbgl::style::TransitionOptions transition { { MGLDurationFromTimeInterval(transitionDuration) } }; - self.mapView.mbglMap->setTransitionOptions(transition); - self.mapView.mbglMap->setClasses(newAppliedClasses); } - (NSUInteger)countOfStyleClasses { - const auto &classes = self.mapView.mbglMap->getClasses(); - return classes.size(); + return 0; } - (BOOL)hasStyleClass:(NSString *)styleClass { - return styleClass && self.mapView.mbglMap->hasClass([styleClass UTF8String]); + return NO; } - (void)addStyleClass:(NSString *)styleClass { - if (styleClass) - { - self.mapView.mbglMap->addClass([styleClass UTF8String]); - } } - (void)removeStyleClass:(NSString *)styleClass { - if (styleClass) - { - self.mapView.mbglMap->removeClass([styleClass UTF8String]); - } } #pragma mark Style images diff --git a/platform/glfw/glfw_view.cpp b/platform/glfw/glfw_view.cpp index 1be38e5e4..d3a634711 100644 --- a/platform/glfw/glfw_view.cpp +++ b/platform/glfw/glfw_view.cpp @@ -163,17 +163,6 @@ void GLFWView::onKey(GLFWwindow *window, int key, int /*scancode*/, int action, if (view->changeStyleCallback) view->changeStyleCallback(); break; - case GLFW_KEY_R: - if (!mods) { - static const mbgl::style::TransitionOptions transition { { mbgl::Milliseconds(300) } }; - view->map->setTransitionOptions(transition); - if (view->map->hasClass("night")) { - view->map->removeClass("night"); - } else { - view->map->addClass("night"); - } - } - break; #if not MBGL_USE_GLES2 case GLFW_KEY_B: { auto debug = view->map->getDebug(); diff --git a/platform/ios/CHANGELOG.md b/platform/ios/CHANGELOG.md index 922b7b648..ed28b65ae 100644 --- a/platform/ios/CHANGELOG.md +++ b/platform/ios/CHANGELOG.md @@ -4,6 +4,10 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT ## master +* The previously-deprecated support for style classes has been removed. For interface compatibility, the API methods remain, but they are now non-functional. + +## 3.6.0 + ### Styles * Added support for 3D extrusion of buildings and other polygonal features via the `MGLFillExtrusionStyleLayer` class and the `fill-extrusion` layer type in style JSON. ([#8431](https://github.com/mapbox/mapbox-gl-native/pull/8431)) diff --git a/platform/ios/docs/guides/For Style Authors.md b/platform/ios/docs/guides/For Style Authors.md index fee4d70b3..734e0dc9e 100644 --- a/platform/ios/docs/guides/For Style Authors.md +++ b/platform/ios/docs/guides/For Style Authors.md @@ -107,7 +107,6 @@ the following terms for concepts defined in the style specification: In the style specification | In the SDK ---------------------------|--------- -class | style class filter | predicate function type | interpolation mode id | identifier diff --git a/platform/ios/src/MGLMapView.h b/platform/ios/src/MGLMapView.h index 31320ac97..8d26b1c90 100644 --- a/platform/ios/src/MGLMapView.h +++ b/platform/ios/src/MGLMapView.h @@ -270,13 +270,25 @@ IB_DESIGNABLE */ @property (nonatomic, readonly) UIButton *attributionButton; -@property (nonatomic) NS_ARRAY_OF(NSString *) *styleClasses __attribute__((deprecated("Use style.styleClasses."))); +/** + Support for style classes has been removed. This property always returns an empty array. + */ +@property (nonatomic) NS_ARRAY_OF(NSString *) *styleClasses __attribute__((deprecated("This property is non-functional."))); -- (BOOL)hasStyleClass:(NSString *)styleClass __attribute__((deprecated("Use style.hasStyleClass:."))); +/** + Support for style classes has been removed. This property always returns NO. + */ +- (BOOL)hasStyleClass:(NSString *)styleClass __attribute__((deprecated("This method is non-functional."))); -- (void)addStyleClass:(NSString *)styleClass __attribute__((deprecated("Use style.addStyleClass:."))); +/** + Support for style classes has been removed. This property is a no-op. + */ +- (void)addStyleClass:(NSString *)styleClass __attribute__((deprecated("This method is non-functional."))); -- (void)removeStyleClass:(NSString *)styleClass __attribute__((deprecated("Use style.removeStyleClass:."))); +/** + Support for style classes has been removed. This property is a no-op. + */ +- (void)removeStyleClass:(NSString *)styleClass __attribute__((deprecated("This method is non-functional."))); #pragma mark Displaying the User’s Location diff --git a/platform/macos/CHANGELOG.md b/platform/macos/CHANGELOG.md index 632bcfa44..377c32145 100644 --- a/platform/macos/CHANGELOG.md +++ b/platform/macos/CHANGELOG.md @@ -2,6 +2,10 @@ ## master +* The previously-deprecated support for style classes has been removed. For interface compatibility, the API methods remain, but they are now non-functional. + +## 0.5.0 + ### Styles * Added support for 3D extrusion of buildings and other polygonal features via the `MGLFillExtrusionStyleLayer` class and the `fill-extrusion` layer type in style JSON. ([#8431](https://github.com/mapbox/mapbox-gl-native/pull/8431)) diff --git a/platform/macos/docs/guides/For Style Authors.md b/platform/macos/docs/guides/For Style Authors.md index b9163582b..164b1b58b 100644 --- a/platform/macos/docs/guides/For Style Authors.md +++ b/platform/macos/docs/guides/For Style Authors.md @@ -96,7 +96,6 @@ the following terms for concepts defined in the style specification: In the style specification | In the SDK ---------------------------|--------- -class | style class filter | predicate function type | interpolation mode id | identifier diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index 680de6f90..b174893e7 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -60,7 +60,6 @@ void NodeMap::Init(v8::Local target) { Nan::SetPrototypeMethod(tpl, "release", Release); Nan::SetPrototypeMethod(tpl, "cancel", Cancel); - Nan::SetPrototypeMethod(tpl, "addClass", AddClass); Nan::SetPrototypeMethod(tpl, "addSource", AddSource); Nan::SetPrototypeMethod(tpl, "addLayer", AddLayer); Nan::SetPrototypeMethod(tpl, "removeLayer", RemoveLayer); @@ -376,10 +375,6 @@ void NodeMap::startRender(NodeMap::RenderOptions options) { view = std::make_unique(backend.getContext(), fbSize); } - if (map->getClasses() != options.classes) { - map->setClasses(options.classes); - } - if (map->getZoom() != options.zoom) { map->setZoom(options.zoom); } @@ -546,23 +541,6 @@ void NodeMap::cancel() { renderFinished(); } -void NodeMap::AddClass(const Nan::FunctionCallbackInfo& info) { - auto nodeMap = Nan::ObjectWrap::Unwrap(info.Holder()); - if (!nodeMap->map) return Nan::ThrowError(releasedMessage()); - - if (info.Length() <= 0 || !info[0]->IsString()) { - return Nan::ThrowTypeError("First argument must be a string"); - } - - try { - nodeMap->map->addClass(*Nan::Utf8String(info[0])); - } catch (const std::exception &ex) { - return Nan::ThrowError(ex.what()); - } - - info.GetReturnValue().SetUndefined(); -} - void NodeMap::AddSource(const Nan::FunctionCallbackInfo& info) { using namespace mbgl::style; using namespace mbgl::style::conversion; @@ -763,12 +741,7 @@ void NodeMap::SetPaintProperty(const Nan::FunctionCallbackInfo& info) return Nan::ThrowTypeError("Second argument must be a string"); } - mbgl::optional klass; - if (info.Length() == 4 && info[3]->IsString()) { - klass = std::string(*Nan::Utf8String(info[3])); - } - - mbgl::optional error = setPaintProperty(*layer, *Nan::Utf8String(info[1]), info[2], klass); + mbgl::optional error = setPaintProperty(*layer, *Nan::Utf8String(info[1]), info[2]); if (error) { return Nan::ThrowTypeError(error->message.c_str()); } diff --git a/platform/node/src/node_map.hpp b/platform/node/src/node_map.hpp index cdc8f1e51..7b81ecd89 100644 --- a/platform/node/src/node_map.hpp +++ b/platform/node/src/node_map.hpp @@ -42,7 +42,6 @@ public: static void Render(const Nan::FunctionCallbackInfo&); static void Release(const Nan::FunctionCallbackInfo&); static void Cancel(const Nan::FunctionCallbackInfo&); - static void AddClass(const Nan::FunctionCallbackInfo&); static void AddSource(const Nan::FunctionCallbackInfo&); static void AddLayer(const Nan::FunctionCallbackInfo&); static void RemoveLayer(const Nan::FunctionCallbackInfo&); diff --git a/platform/node/test/js/map.test.js b/platform/node/test/js/map.test.js index 4ab76b937..04d02d055 100644 --- a/platform/node/test/js/map.test.js +++ b/platform/node/test/js/map.test.js @@ -108,7 +108,6 @@ test('Map', function(t) { 'render', 'release', 'cancel', - 'addClass', 'addSource', 'addLayer', 'removeLayer', diff --git a/platform/qt/app/mapwindow.cpp b/platform/qt/app/mapwindow.cpp index aa5561731..03ca052ec 100644 --- a/platform/qt/app/mapwindow.cpp +++ b/platform/qt/app/mapwindow.cpp @@ -79,8 +79,6 @@ void MapWindow::changeStyle() void MapWindow::keyPressEvent(QKeyEvent *ev) { - static const qint64 transitionDuration = 300; - switch (ev->key()) { case Qt::Key_S: changeStyle(); @@ -307,14 +305,6 @@ void MapWindow::keyPressEvent(QKeyEvent *ev) case Qt::Key_Tab: m_map->cycleDebugOptions(); break; - case Qt::Key_R: { - m_map->setTransitionOptions(transitionDuration); - if (m_map->hasClass("night")) { - m_map->removeClass("night"); - } else { - m_map->addClass("night"); - } - } break; default: break; } diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp index 478c15a51..e2fb28398 100644 --- a/platform/qt/include/qmapboxgl.hpp +++ b/platform/qt/include/qmapboxgl.hpp @@ -168,12 +168,6 @@ public: void setGestureInProgress(bool inProgress); - void addClass(const QString &); - void removeClass(const QString &); - bool hasClass(const QString &) const; - void setClasses(const QStringList &); - QStringList getClasses() const; - void setTransitionOptions(qint64 duration, qint64 delay = 0); void addAnnotationIcon(const QString &name, const QImage &sprite); @@ -183,7 +177,7 @@ public: void removeAnnotation(QMapbox::AnnotationID); void setLayoutProperty(const QString &layer, const QString &property, const QVariant &value); - void setPaintProperty(const QString &layer, const QString &property, const QVariant &value, const QString &klass = QString()); + void setPaintProperty(const QString &layer, const QString &property, const QVariant &value); bool isFullyLoaded() const; diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index 80b64f05d..c37b2563b 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -71,16 +71,6 @@ QThreadStorage> loop; // Conversion helper functions. -auto fromQStringList(const QStringList &list) -{ - std::vector strings; - strings.reserve(list.size()); - for (const QString &string : list) { - strings.push_back(string.toStdString()); - } - return strings; -} - mbgl::Size sanitizedSize(const QSize& size) { return mbgl::Size { mbgl::util::max(0u, static_cast(size.width())), @@ -751,69 +741,6 @@ void QMapboxGL::setGestureInProgress(bool progress) d_ptr->mapObj->setGestureInProgress(progress); } -/*! - Adds an \a className to the list of active classes. Layers tagged with a certain class - will only be active when the class is added. - - This was removed from the \l {https://www.mapbox.com/mapbox-gl-style-spec/#layer-paint.*} - {Mapbox style specification} and should no longer be used. - - \deprecated - \sa removeClass() -*/ -void QMapboxGL::addClass(const QString &className) -{ - d_ptr->mapObj->addClass(className.toStdString()); -} - -/*! - Removes a \a className. - - \deprecated - \sa addClass() -*/ -void QMapboxGL::removeClass(const QString &className) -{ - d_ptr->mapObj->removeClass(className.toStdString()); -} - -/*! - Returns true when \a className is active, false otherwise. - - \deprecated - \sa addClass() -*/ -bool QMapboxGL::hasClass(const QString &className) const -{ - return d_ptr->mapObj->hasClass(className.toStdString()); -} - -/*! - Bulk adds a list of \a classNames. - - \deprecated - \sa addClass() -*/ -void QMapboxGL::setClasses(const QStringList &classNames) -{ - d_ptr->mapObj->setClasses(fromQStringList(classNames)); -} - -/*! - Returns a list of active classes. - - \deprecated - \sa setClasses() -*/ -QStringList QMapboxGL::getClasses() const -{ - QStringList classNames; - for (const std::string &mbglClass : d_ptr->mapObj->getClasses()) { - classNames << QString::fromStdString(mbglClass); - } - return classNames; -} - /*! Sets the \a duration and \a delay of style class transitions. Style property values transition to new values with animation when a new class is set. @@ -958,9 +885,6 @@ void QMapboxGL::setLayoutProperty(const QString& layer, const QString& property, as defined by the \l {https://www.mapbox.com/mapbox-gl-style-spec/} {Mapbox style specification} for paint properties. - The argument \a styleClass is deprecated and is used for defining the style class for the paint - property. - For paint properties that take a color as \a value, such as \c fill-color, a string such as \c blue can be passed or a QColor. @@ -1006,7 +930,7 @@ void QMapboxGL::setLayoutProperty(const QString& layer, const QString& property, map->setPaintProperty("route","line-dasharray", lineDashArray); \endcode */ -void QMapboxGL::setPaintProperty(const QString& layer, const QString& property, const QVariant& value, const QString& styleClass) +void QMapboxGL::setPaintProperty(const QString& layer, const QString& property, const QVariant& value) { using namespace mbgl::style; @@ -1016,12 +940,7 @@ void QMapboxGL::setPaintProperty(const QString& layer, const QString& property, return; } - mbgl::optional klass; - if (!styleClass.isEmpty()) { - klass = styleClass.toStdString(); - } - - if (conversion::setPaintProperty(*layer_, property.toStdString(), value, klass)) { + if (conversion::setPaintProperty(*layer_, property.toStdString(), value)) { qWarning() << "Error setting paint property:" << layer << "-" << property; return; } diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index 16254f6e9..c6d3ed991 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -1053,25 +1053,6 @@ bool Map::isFullyLoaded() const { return impl->style ? impl->style->isLoaded() : false; } -void Map::addClass(const std::string& className) { - if (impl->style && impl->style->addClass(className)) { - impl->onUpdate(Update::Classes); - } -} - -void Map::removeClass(const std::string& className) { - if (impl->style && impl->style->removeClass(className)) { - impl->onUpdate(Update::Classes); - } -} - -void Map::setClasses(const std::vector& classNames) { - if (impl->style) { - impl->style->setClasses(classNames); - impl->onUpdate(Update::Classes); - } -} - style::TransitionOptions Map::getTransitionOptions() const { if (impl->style) { return impl->style->getTransitionOptions(); @@ -1085,17 +1066,6 @@ void Map::setTransitionOptions(const style::TransitionOptions& options) { } } -bool Map::hasClass(const std::string& className) const { - return impl->style ? impl->style->hasClass(className) : false; -} - -std::vector Map::getClasses() const { - if (impl->style) { - return impl->style->getClasses(); - } - return {}; -} - void Map::setSourceTileCacheSize(size_t size) { if (size != impl->sourceCacheSize) { impl->sourceCacheSize = size; diff --git a/src/mbgl/map/update.hpp b/src/mbgl/map/update.hpp index 29f2583f7..82d98284f 100644 --- a/src/mbgl/map/update.hpp +++ b/src/mbgl/map/update.hpp @@ -7,7 +7,6 @@ namespace mbgl { enum class Update { Nothing = 0, Repaint = 1 << 0, - Classes = 1 << 2, AnnotationStyle = 1 << 6, AnnotationData = 1 << 7 }; diff --git a/src/mbgl/renderer/transition_parameters.hpp b/src/mbgl/renderer/transition_parameters.hpp index 573845fa2..c47aa2e35 100644 --- a/src/mbgl/renderer/transition_parameters.hpp +++ b/src/mbgl/renderer/transition_parameters.hpp @@ -1,7 +1,6 @@ #pragma once #include -#include #include #include @@ -10,7 +9,6 @@ namespace mbgl { class TransitionParameters { public: - std::vector classes; TimePoint now; style::TransitionOptions transition; }; diff --git a/src/mbgl/style/class_dictionary.cpp b/src/mbgl/style/class_dictionary.cpp deleted file mode 100644 index 4474b2852..000000000 --- a/src/mbgl/style/class_dictionary.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include - -#include - -namespace mbgl { -namespace style { - -ClassDictionary::ClassDictionary() = default; - -ClassDictionary &ClassDictionary::Get() { - static pthread_once_t store_once = PTHREAD_ONCE_INIT; - static pthread_key_t store_key; - - // Create the key. - pthread_once(&store_once, []() { - pthread_key_create(&store_key, [](void *ptr) { - delete reinterpret_cast(ptr); - }); - }); - - auto *ptr = reinterpret_cast(pthread_getspecific(store_key)); - if (ptr == nullptr) { - ptr = new ClassDictionary(); - pthread_setspecific(store_key, ptr); - } - - return *ptr; -} - -ClassID ClassDictionary::lookup(const std::string &class_name) { - auto it = store.find(class_name); - if (it == store.end()) { - // Insert the class name into the store. - auto id = ClassID(uint32_t(ClassID::Named) + offset++); - store.emplace(class_name, id); - return id; - } else { - return it->second; - } -} - -ClassID ClassDictionary::normalize(ClassID id) { - if (id >= ClassID::Named) { - return ClassID::Named; - } else { - return id; - } -} - -} // namespace style -} // namespace mbgl diff --git a/src/mbgl/style/class_dictionary.hpp b/src/mbgl/style/class_dictionary.hpp deleted file mode 100644 index 37eb48824..000000000 --- a/src/mbgl/style/class_dictionary.hpp +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -namespace mbgl { -namespace style { - -enum class ClassID : uint32_t { - Default = 1, // These values are from the default style for a layer - Named = 2 // These values (and all subsequent IDs) are from a named style from the layer -}; - -class ClassDictionary { -private: - ClassDictionary(); - -public: - static ClassDictionary &Get(); - - // Returns an ID for a class name. If the class name does not yet have an ID, one is - // auto-generated and stored for future reference. - ClassID lookup(const std::string &class_name); - - // Returns either Fallback, Default or Named, depending on the type of the class id. - ClassID normalize(ClassID id); - -private: - std::unordered_map store = { { "", ClassID::Default } }; - uint32_t offset = 0; -}; - -} // namespace style -} // namespace mbgl - -namespace std { - -// Explicitly define std::hash because GCC doesn't automatically use std::hash<> of -// the underlying enum type. - -template <> -struct hash { -public: - size_t operator()(const mbgl::style::ClassID id) const { - using T = std::underlying_type_t; - return std::hash()(static_cast(id)); - } -}; - -} // namespace std diff --git a/src/mbgl/style/layers/background_layer.cpp b/src/mbgl/style/layers/background_layer.cpp index 6c9be9652..c4b22aa0e 100644 --- a/src/mbgl/style/layers/background_layer.cpp +++ b/src/mbgl/style/layers/background_layer.cpp @@ -70,81 +70,81 @@ PropertyValue BackgroundLayer::getDefaultBackgroundColor() { return { Color::black() }; } -PropertyValue BackgroundLayer::getBackgroundColor(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue BackgroundLayer::getBackgroundColor() const { + return impl().paint.template get().value; } -void BackgroundLayer::setBackgroundColor(PropertyValue value, const optional& klass) { - if (value == getBackgroundColor(klass)) +void BackgroundLayer::setBackgroundColor(PropertyValue value) { + if (value == getBackgroundColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void BackgroundLayer::setBackgroundColorTransition(const TransitionOptions& value, const optional& klass) { +void BackgroundLayer::setBackgroundColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions BackgroundLayer::getBackgroundColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions BackgroundLayer::getBackgroundColorTransition() const { + return impl().paint.template get().options; } PropertyValue BackgroundLayer::getDefaultBackgroundPattern() { return { "" }; } -PropertyValue BackgroundLayer::getBackgroundPattern(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue BackgroundLayer::getBackgroundPattern() const { + return impl().paint.template get().value; } -void BackgroundLayer::setBackgroundPattern(PropertyValue value, const optional& klass) { - if (value == getBackgroundPattern(klass)) +void BackgroundLayer::setBackgroundPattern(PropertyValue value) { + if (value == getBackgroundPattern()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void BackgroundLayer::setBackgroundPatternTransition(const TransitionOptions& value, const optional& klass) { +void BackgroundLayer::setBackgroundPatternTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions BackgroundLayer::getBackgroundPatternTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions BackgroundLayer::getBackgroundPatternTransition() const { + return impl().paint.template get().options; } PropertyValue BackgroundLayer::getDefaultBackgroundOpacity() { return { 1 }; } -PropertyValue BackgroundLayer::getBackgroundOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue BackgroundLayer::getBackgroundOpacity() const { + return impl().paint.template get().value; } -void BackgroundLayer::setBackgroundOpacity(PropertyValue value, const optional& klass) { - if (value == getBackgroundOpacity(klass)) +void BackgroundLayer::setBackgroundOpacity(PropertyValue value) { + if (value == getBackgroundOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void BackgroundLayer::setBackgroundOpacityTransition(const TransitionOptions& value, const optional& klass) { +void BackgroundLayer::setBackgroundOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions BackgroundLayer::getBackgroundOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions BackgroundLayer::getBackgroundOpacityTransition() const { + return impl().paint.template get().options; } } // namespace style diff --git a/src/mbgl/style/layers/circle_layer.cpp b/src/mbgl/style/layers/circle_layer.cpp index 1f64aa7ca..e5c4c3349 100644 --- a/src/mbgl/style/layers/circle_layer.cpp +++ b/src/mbgl/style/layers/circle_layer.cpp @@ -98,15 +98,15 @@ DataDrivenPropertyValue CircleLayer::getDefaultCircleRadius() { return { 5 }; } -DataDrivenPropertyValue CircleLayer::getCircleRadius(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue CircleLayer::getCircleRadius() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleRadius(DataDrivenPropertyValue value, const optional& klass) { - if (value == getCircleRadius(klass)) +void CircleLayer::setCircleRadius(DataDrivenPropertyValue value) { + if (value == getCircleRadius()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -115,29 +115,29 @@ void CircleLayer::setCircleRadius(DataDrivenPropertyValue value, const op } } -void CircleLayer::setCircleRadiusTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleRadiusTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleRadiusTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleRadiusTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue CircleLayer::getDefaultCircleColor() { return { Color::black() }; } -DataDrivenPropertyValue CircleLayer::getCircleColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue CircleLayer::getCircleColor() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getCircleColor(klass)) +void CircleLayer::setCircleColor(DataDrivenPropertyValue value) { + if (value == getCircleColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -146,29 +146,29 @@ void CircleLayer::setCircleColor(DataDrivenPropertyValue value, const opt } } -void CircleLayer::setCircleColorTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleColorTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue CircleLayer::getDefaultCircleBlur() { return { 0 }; } -DataDrivenPropertyValue CircleLayer::getCircleBlur(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue CircleLayer::getCircleBlur() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleBlur(DataDrivenPropertyValue value, const optional& klass) { - if (value == getCircleBlur(klass)) +void CircleLayer::setCircleBlur(DataDrivenPropertyValue value) { + if (value == getCircleBlur()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -177,29 +177,29 @@ void CircleLayer::setCircleBlur(DataDrivenPropertyValue value, const opti } } -void CircleLayer::setCircleBlurTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleBlurTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleBlurTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleBlurTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue CircleLayer::getDefaultCircleOpacity() { return { 1 }; } -DataDrivenPropertyValue CircleLayer::getCircleOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue CircleLayer::getCircleOpacity() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleOpacity(DataDrivenPropertyValue value, const optional& klass) { - if (value == getCircleOpacity(klass)) +void CircleLayer::setCircleOpacity(DataDrivenPropertyValue value) { + if (value == getCircleOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -208,110 +208,110 @@ void CircleLayer::setCircleOpacity(DataDrivenPropertyValue value, const o } } -void CircleLayer::setCircleOpacityTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleOpacityTransition() const { + return impl().paint.template get().options; } PropertyValue> CircleLayer::getDefaultCircleTranslate() { return { {{ 0, 0 }} }; } -PropertyValue> CircleLayer::getCircleTranslate(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue> CircleLayer::getCircleTranslate() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleTranslate(PropertyValue> value, const optional& klass) { - if (value == getCircleTranslate(klass)) +void CircleLayer::setCircleTranslate(PropertyValue> value) { + if (value == getCircleTranslate()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void CircleLayer::setCircleTranslateTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleTranslateTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleTranslateTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleTranslateTransition() const { + return impl().paint.template get().options; } PropertyValue CircleLayer::getDefaultCircleTranslateAnchor() { return { TranslateAnchorType::Map }; } -PropertyValue CircleLayer::getCircleTranslateAnchor(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue CircleLayer::getCircleTranslateAnchor() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleTranslateAnchor(PropertyValue value, const optional& klass) { - if (value == getCircleTranslateAnchor(klass)) +void CircleLayer::setCircleTranslateAnchor(PropertyValue value) { + if (value == getCircleTranslateAnchor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void CircleLayer::setCircleTranslateAnchorTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleTranslateAnchorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleTranslateAnchorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleTranslateAnchorTransition() const { + return impl().paint.template get().options; } PropertyValue CircleLayer::getDefaultCirclePitchScale() { return { CirclePitchScaleType::Map }; } -PropertyValue CircleLayer::getCirclePitchScale(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue CircleLayer::getCirclePitchScale() const { + return impl().paint.template get().value; } -void CircleLayer::setCirclePitchScale(PropertyValue value, const optional& klass) { - if (value == getCirclePitchScale(klass)) +void CircleLayer::setCirclePitchScale(PropertyValue value) { + if (value == getCirclePitchScale()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void CircleLayer::setCirclePitchScaleTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCirclePitchScaleTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCirclePitchScaleTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCirclePitchScaleTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue CircleLayer::getDefaultCircleStrokeWidth() { return { 0 }; } -DataDrivenPropertyValue CircleLayer::getCircleStrokeWidth(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue CircleLayer::getCircleStrokeWidth() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleStrokeWidth(DataDrivenPropertyValue value, const optional& klass) { - if (value == getCircleStrokeWidth(klass)) +void CircleLayer::setCircleStrokeWidth(DataDrivenPropertyValue value) { + if (value == getCircleStrokeWidth()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -320,29 +320,29 @@ void CircleLayer::setCircleStrokeWidth(DataDrivenPropertyValue value, con } } -void CircleLayer::setCircleStrokeWidthTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleStrokeWidthTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleStrokeWidthTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleStrokeWidthTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue CircleLayer::getDefaultCircleStrokeColor() { return { Color::black() }; } -DataDrivenPropertyValue CircleLayer::getCircleStrokeColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue CircleLayer::getCircleStrokeColor() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleStrokeColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getCircleStrokeColor(klass)) +void CircleLayer::setCircleStrokeColor(DataDrivenPropertyValue value) { + if (value == getCircleStrokeColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -351,29 +351,29 @@ void CircleLayer::setCircleStrokeColor(DataDrivenPropertyValue value, con } } -void CircleLayer::setCircleStrokeColorTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleStrokeColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleStrokeColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleStrokeColorTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue CircleLayer::getDefaultCircleStrokeOpacity() { return { 1 }; } -DataDrivenPropertyValue CircleLayer::getCircleStrokeOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue CircleLayer::getCircleStrokeOpacity() const { + return impl().paint.template get().value; } -void CircleLayer::setCircleStrokeOpacity(DataDrivenPropertyValue value, const optional& klass) { - if (value == getCircleStrokeOpacity(klass)) +void CircleLayer::setCircleStrokeOpacity(DataDrivenPropertyValue value) { + if (value == getCircleStrokeOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -382,14 +382,14 @@ void CircleLayer::setCircleStrokeOpacity(DataDrivenPropertyValue value, c } } -void CircleLayer::setCircleStrokeOpacityTransition(const TransitionOptions& value, const optional& klass) { +void CircleLayer::setCircleStrokeOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions CircleLayer::getCircleStrokeOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions CircleLayer::getCircleStrokeOpacityTransition() const { + return impl().paint.template get().options; } } // namespace style diff --git a/src/mbgl/style/layers/fill_extrusion_layer.cpp b/src/mbgl/style/layers/fill_extrusion_layer.cpp index 37ae79850..4a5dc592e 100644 --- a/src/mbgl/style/layers/fill_extrusion_layer.cpp +++ b/src/mbgl/style/layers/fill_extrusion_layer.cpp @@ -98,42 +98,42 @@ PropertyValue FillExtrusionLayer::getDefaultFillExtrusionOpacity() { return { 1 }; } -PropertyValue FillExtrusionLayer::getFillExtrusionOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue FillExtrusionLayer::getFillExtrusionOpacity() const { + return impl().paint.template get().value; } -void FillExtrusionLayer::setFillExtrusionOpacity(PropertyValue value, const optional& klass) { - if (value == getFillExtrusionOpacity(klass)) +void FillExtrusionLayer::setFillExtrusionOpacity(PropertyValue value) { + if (value == getFillExtrusionOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void FillExtrusionLayer::setFillExtrusionOpacityTransition(const TransitionOptions& value, const optional& klass) { +void FillExtrusionLayer::setFillExtrusionOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillExtrusionLayer::getFillExtrusionOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillExtrusionLayer::getFillExtrusionOpacityTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue FillExtrusionLayer::getDefaultFillExtrusionColor() { return { Color::black() }; } -DataDrivenPropertyValue FillExtrusionLayer::getFillExtrusionColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue FillExtrusionLayer::getFillExtrusionColor() const { + return impl().paint.template get().value; } -void FillExtrusionLayer::setFillExtrusionColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getFillExtrusionColor(klass)) +void FillExtrusionLayer::setFillExtrusionColor(DataDrivenPropertyValue value) { + if (value == getFillExtrusionColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -142,110 +142,110 @@ void FillExtrusionLayer::setFillExtrusionColor(DataDrivenPropertyValue va } } -void FillExtrusionLayer::setFillExtrusionColorTransition(const TransitionOptions& value, const optional& klass) { +void FillExtrusionLayer::setFillExtrusionColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillExtrusionLayer::getFillExtrusionColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillExtrusionLayer::getFillExtrusionColorTransition() const { + return impl().paint.template get().options; } PropertyValue> FillExtrusionLayer::getDefaultFillExtrusionTranslate() { return { {{ 0, 0 }} }; } -PropertyValue> FillExtrusionLayer::getFillExtrusionTranslate(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue> FillExtrusionLayer::getFillExtrusionTranslate() const { + return impl().paint.template get().value; } -void FillExtrusionLayer::setFillExtrusionTranslate(PropertyValue> value, const optional& klass) { - if (value == getFillExtrusionTranslate(klass)) +void FillExtrusionLayer::setFillExtrusionTranslate(PropertyValue> value) { + if (value == getFillExtrusionTranslate()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void FillExtrusionLayer::setFillExtrusionTranslateTransition(const TransitionOptions& value, const optional& klass) { +void FillExtrusionLayer::setFillExtrusionTranslateTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateTransition() const { + return impl().paint.template get().options; } PropertyValue FillExtrusionLayer::getDefaultFillExtrusionTranslateAnchor() { return { TranslateAnchorType::Map }; } -PropertyValue FillExtrusionLayer::getFillExtrusionTranslateAnchor(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue FillExtrusionLayer::getFillExtrusionTranslateAnchor() const { + return impl().paint.template get().value; } -void FillExtrusionLayer::setFillExtrusionTranslateAnchor(PropertyValue value, const optional& klass) { - if (value == getFillExtrusionTranslateAnchor(klass)) +void FillExtrusionLayer::setFillExtrusionTranslateAnchor(PropertyValue value) { + if (value == getFillExtrusionTranslateAnchor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void FillExtrusionLayer::setFillExtrusionTranslateAnchorTransition(const TransitionOptions& value, const optional& klass) { +void FillExtrusionLayer::setFillExtrusionTranslateAnchorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateAnchorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateAnchorTransition() const { + return impl().paint.template get().options; } PropertyValue FillExtrusionLayer::getDefaultFillExtrusionPattern() { return { "" }; } -PropertyValue FillExtrusionLayer::getFillExtrusionPattern(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue FillExtrusionLayer::getFillExtrusionPattern() const { + return impl().paint.template get().value; } -void FillExtrusionLayer::setFillExtrusionPattern(PropertyValue value, const optional& klass) { - if (value == getFillExtrusionPattern(klass)) +void FillExtrusionLayer::setFillExtrusionPattern(PropertyValue value) { + if (value == getFillExtrusionPattern()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void FillExtrusionLayer::setFillExtrusionPatternTransition(const TransitionOptions& value, const optional& klass) { +void FillExtrusionLayer::setFillExtrusionPatternTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillExtrusionLayer::getFillExtrusionPatternTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillExtrusionLayer::getFillExtrusionPatternTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue FillExtrusionLayer::getDefaultFillExtrusionHeight() { return { 0 }; } -DataDrivenPropertyValue FillExtrusionLayer::getFillExtrusionHeight(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue FillExtrusionLayer::getFillExtrusionHeight() const { + return impl().paint.template get().value; } -void FillExtrusionLayer::setFillExtrusionHeight(DataDrivenPropertyValue value, const optional& klass) { - if (value == getFillExtrusionHeight(klass)) +void FillExtrusionLayer::setFillExtrusionHeight(DataDrivenPropertyValue value) { + if (value == getFillExtrusionHeight()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -254,29 +254,29 @@ void FillExtrusionLayer::setFillExtrusionHeight(DataDrivenPropertyValue v } } -void FillExtrusionLayer::setFillExtrusionHeightTransition(const TransitionOptions& value, const optional& klass) { +void FillExtrusionLayer::setFillExtrusionHeightTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillExtrusionLayer::getFillExtrusionHeightTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillExtrusionLayer::getFillExtrusionHeightTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue FillExtrusionLayer::getDefaultFillExtrusionBase() { return { 0 }; } -DataDrivenPropertyValue FillExtrusionLayer::getFillExtrusionBase(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue FillExtrusionLayer::getFillExtrusionBase() const { + return impl().paint.template get().value; } -void FillExtrusionLayer::setFillExtrusionBase(DataDrivenPropertyValue value, const optional& klass) { - if (value == getFillExtrusionBase(klass)) +void FillExtrusionLayer::setFillExtrusionBase(DataDrivenPropertyValue value) { + if (value == getFillExtrusionBase()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -285,14 +285,14 @@ void FillExtrusionLayer::setFillExtrusionBase(DataDrivenPropertyValue val } } -void FillExtrusionLayer::setFillExtrusionBaseTransition(const TransitionOptions& value, const optional& klass) { +void FillExtrusionLayer::setFillExtrusionBaseTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillExtrusionLayer::getFillExtrusionBaseTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillExtrusionLayer::getFillExtrusionBaseTransition() const { + return impl().paint.template get().options; } } // namespace style diff --git a/src/mbgl/style/layers/fill_layer.cpp b/src/mbgl/style/layers/fill_layer.cpp index 5e3df1d54..b98c32545 100644 --- a/src/mbgl/style/layers/fill_layer.cpp +++ b/src/mbgl/style/layers/fill_layer.cpp @@ -98,42 +98,42 @@ PropertyValue FillLayer::getDefaultFillAntialias() { return { true }; } -PropertyValue FillLayer::getFillAntialias(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue FillLayer::getFillAntialias() const { + return impl().paint.template get().value; } -void FillLayer::setFillAntialias(PropertyValue value, const optional& klass) { - if (value == getFillAntialias(klass)) +void FillLayer::setFillAntialias(PropertyValue value) { + if (value == getFillAntialias()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void FillLayer::setFillAntialiasTransition(const TransitionOptions& value, const optional& klass) { +void FillLayer::setFillAntialiasTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillLayer::getFillAntialiasTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillLayer::getFillAntialiasTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue FillLayer::getDefaultFillOpacity() { return { 1 }; } -DataDrivenPropertyValue FillLayer::getFillOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue FillLayer::getFillOpacity() const { + return impl().paint.template get().value; } -void FillLayer::setFillOpacity(DataDrivenPropertyValue value, const optional& klass) { - if (value == getFillOpacity(klass)) +void FillLayer::setFillOpacity(DataDrivenPropertyValue value) { + if (value == getFillOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -142,29 +142,29 @@ void FillLayer::setFillOpacity(DataDrivenPropertyValue value, const optio } } -void FillLayer::setFillOpacityTransition(const TransitionOptions& value, const optional& klass) { +void FillLayer::setFillOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillLayer::getFillOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillLayer::getFillOpacityTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue FillLayer::getDefaultFillColor() { return { Color::black() }; } -DataDrivenPropertyValue FillLayer::getFillColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue FillLayer::getFillColor() const { + return impl().paint.template get().value; } -void FillLayer::setFillColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getFillColor(klass)) +void FillLayer::setFillColor(DataDrivenPropertyValue value) { + if (value == getFillColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -173,29 +173,29 @@ void FillLayer::setFillColor(DataDrivenPropertyValue value, const optiona } } -void FillLayer::setFillColorTransition(const TransitionOptions& value, const optional& klass) { +void FillLayer::setFillColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillLayer::getFillColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillLayer::getFillColorTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue FillLayer::getDefaultFillOutlineColor() { return { {} }; } -DataDrivenPropertyValue FillLayer::getFillOutlineColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue FillLayer::getFillOutlineColor() const { + return impl().paint.template get().value; } -void FillLayer::setFillOutlineColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getFillOutlineColor(klass)) +void FillLayer::setFillOutlineColor(DataDrivenPropertyValue value) { + if (value == getFillOutlineColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -204,95 +204,95 @@ void FillLayer::setFillOutlineColor(DataDrivenPropertyValue value, const } } -void FillLayer::setFillOutlineColorTransition(const TransitionOptions& value, const optional& klass) { +void FillLayer::setFillOutlineColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillLayer::getFillOutlineColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillLayer::getFillOutlineColorTransition() const { + return impl().paint.template get().options; } PropertyValue> FillLayer::getDefaultFillTranslate() { return { {{ 0, 0 }} }; } -PropertyValue> FillLayer::getFillTranslate(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue> FillLayer::getFillTranslate() const { + return impl().paint.template get().value; } -void FillLayer::setFillTranslate(PropertyValue> value, const optional& klass) { - if (value == getFillTranslate(klass)) +void FillLayer::setFillTranslate(PropertyValue> value) { + if (value == getFillTranslate()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void FillLayer::setFillTranslateTransition(const TransitionOptions& value, const optional& klass) { +void FillLayer::setFillTranslateTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillLayer::getFillTranslateTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillLayer::getFillTranslateTransition() const { + return impl().paint.template get().options; } PropertyValue FillLayer::getDefaultFillTranslateAnchor() { return { TranslateAnchorType::Map }; } -PropertyValue FillLayer::getFillTranslateAnchor(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue FillLayer::getFillTranslateAnchor() const { + return impl().paint.template get().value; } -void FillLayer::setFillTranslateAnchor(PropertyValue value, const optional& klass) { - if (value == getFillTranslateAnchor(klass)) +void FillLayer::setFillTranslateAnchor(PropertyValue value) { + if (value == getFillTranslateAnchor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void FillLayer::setFillTranslateAnchorTransition(const TransitionOptions& value, const optional& klass) { +void FillLayer::setFillTranslateAnchorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillLayer::getFillTranslateAnchorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillLayer::getFillTranslateAnchorTransition() const { + return impl().paint.template get().options; } PropertyValue FillLayer::getDefaultFillPattern() { return { "" }; } -PropertyValue FillLayer::getFillPattern(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue FillLayer::getFillPattern() const { + return impl().paint.template get().value; } -void FillLayer::setFillPattern(PropertyValue value, const optional& klass) { - if (value == getFillPattern(klass)) +void FillLayer::setFillPattern(PropertyValue value) { + if (value == getFillPattern()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void FillLayer::setFillPatternTransition(const TransitionOptions& value, const optional& klass) { +void FillLayer::setFillPatternTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions FillLayer::getFillPatternTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions FillLayer::getFillPatternTransition() const { + return impl().paint.template get().options; } } // namespace style diff --git a/src/mbgl/style/layers/layer.cpp.ejs b/src/mbgl/style/layers/layer.cpp.ejs index 4f747792c..b9c3e64cb 100644 --- a/src/mbgl/style/layers/layer.cpp.ejs +++ b/src/mbgl/style/layers/layer.cpp.ejs @@ -137,15 +137,15 @@ void <%- camelize(type) %>Layer::set<%- camelize(property.name) %>(<%- propertyV return { <%- defaultValue(property) %> }; } -<%- propertyValueType(property) %> <%- camelize(type) %>Layer::get<%- camelize(property.name) %>(const optional& klass) const { - return impl().paint.template get<<%- camelize(property.name) %>>().get(klass); +<%- propertyValueType(property) %> <%- camelize(type) %>Layer::get<%- camelize(property.name) %>() const { + return impl().paint.template get<<%- camelize(property.name) %>>().value; } -void <%- camelize(type) %>Layer::set<%- camelize(property.name) %>(<%- propertyValueType(property) %> value, const optional& klass) { - if (value == get<%- camelize(property.name) %>(klass)) +void <%- camelize(type) %>Layer::set<%- camelize(property.name) %>(<%- propertyValueType(property) %> value) { + if (value == get<%- camelize(property.name) %>()) return; auto impl_ = mutableImpl(); - impl_->paint.template get<<%- camelize(property.name) %>>().set(value, klass); + impl_->paint.template get<<%- camelize(property.name) %>>().value = value; baseImpl = std::move(impl_); <% if (isDataDriven(property)) { -%> if (value.isDataDriven()) { @@ -158,14 +158,14 @@ void <%- camelize(type) %>Layer::set<%- camelize(property.name) %>(<%- propertyV <% } -%> } -void <%- camelize(type) %>Layer::set<%- camelize(property.name) %>Transition(const TransitionOptions& value, const optional& klass) { +void <%- camelize(type) %>Layer::set<%- camelize(property.name) %>Transition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get<<%- camelize(property.name) %>>().setTransition(value, klass); + impl_->paint.template get<<%- camelize(property.name) %>>().options = options; baseImpl = std::move(impl_); } -TransitionOptions <%- camelize(type) %>Layer::get<%- camelize(property.name) %>Transition(const optional& klass) const { - return impl().paint.template get<<%- camelize(property.name) %>>().getTransition(klass); +TransitionOptions <%- camelize(type) %>Layer::get<%- camelize(property.name) %>Transition() const { + return impl().paint.template get<<%- camelize(property.name) %>>().options; } <% } -%> diff --git a/src/mbgl/style/layers/line_layer.cpp b/src/mbgl/style/layers/line_layer.cpp index 286289b28..96f1fa4d1 100644 --- a/src/mbgl/style/layers/line_layer.cpp +++ b/src/mbgl/style/layers/line_layer.cpp @@ -163,15 +163,15 @@ DataDrivenPropertyValue LineLayer::getDefaultLineOpacity() { return { 1 }; } -DataDrivenPropertyValue LineLayer::getLineOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue LineLayer::getLineOpacity() const { + return impl().paint.template get().value; } -void LineLayer::setLineOpacity(DataDrivenPropertyValue value, const optional& klass) { - if (value == getLineOpacity(klass)) +void LineLayer::setLineOpacity(DataDrivenPropertyValue value) { + if (value == getLineOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -180,29 +180,29 @@ void LineLayer::setLineOpacity(DataDrivenPropertyValue value, const optio } } -void LineLayer::setLineOpacityTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineOpacityTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue LineLayer::getDefaultLineColor() { return { Color::black() }; } -DataDrivenPropertyValue LineLayer::getLineColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue LineLayer::getLineColor() const { + return impl().paint.template get().value; } -void LineLayer::setLineColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getLineColor(klass)) +void LineLayer::setLineColor(DataDrivenPropertyValue value) { + if (value == getLineColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -211,110 +211,110 @@ void LineLayer::setLineColor(DataDrivenPropertyValue value, const optiona } } -void LineLayer::setLineColorTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineColorTransition() const { + return impl().paint.template get().options; } PropertyValue> LineLayer::getDefaultLineTranslate() { return { {{ 0, 0 }} }; } -PropertyValue> LineLayer::getLineTranslate(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue> LineLayer::getLineTranslate() const { + return impl().paint.template get().value; } -void LineLayer::setLineTranslate(PropertyValue> value, const optional& klass) { - if (value == getLineTranslate(klass)) +void LineLayer::setLineTranslate(PropertyValue> value) { + if (value == getLineTranslate()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void LineLayer::setLineTranslateTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineTranslateTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineTranslateTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineTranslateTransition() const { + return impl().paint.template get().options; } PropertyValue LineLayer::getDefaultLineTranslateAnchor() { return { TranslateAnchorType::Map }; } -PropertyValue LineLayer::getLineTranslateAnchor(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue LineLayer::getLineTranslateAnchor() const { + return impl().paint.template get().value; } -void LineLayer::setLineTranslateAnchor(PropertyValue value, const optional& klass) { - if (value == getLineTranslateAnchor(klass)) +void LineLayer::setLineTranslateAnchor(PropertyValue value) { + if (value == getLineTranslateAnchor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void LineLayer::setLineTranslateAnchorTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineTranslateAnchorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineTranslateAnchorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineTranslateAnchorTransition() const { + return impl().paint.template get().options; } PropertyValue LineLayer::getDefaultLineWidth() { return { 1 }; } -PropertyValue LineLayer::getLineWidth(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue LineLayer::getLineWidth() const { + return impl().paint.template get().value; } -void LineLayer::setLineWidth(PropertyValue value, const optional& klass) { - if (value == getLineWidth(klass)) +void LineLayer::setLineWidth(PropertyValue value) { + if (value == getLineWidth()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void LineLayer::setLineWidthTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineWidthTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineWidthTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineWidthTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue LineLayer::getDefaultLineGapWidth() { return { 0 }; } -DataDrivenPropertyValue LineLayer::getLineGapWidth(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue LineLayer::getLineGapWidth() const { + return impl().paint.template get().value; } -void LineLayer::setLineGapWidth(DataDrivenPropertyValue value, const optional& klass) { - if (value == getLineGapWidth(klass)) +void LineLayer::setLineGapWidth(DataDrivenPropertyValue value) { + if (value == getLineGapWidth()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -323,29 +323,29 @@ void LineLayer::setLineGapWidth(DataDrivenPropertyValue value, const opti } } -void LineLayer::setLineGapWidthTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineGapWidthTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineGapWidthTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineGapWidthTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue LineLayer::getDefaultLineOffset() { return { 0 }; } -DataDrivenPropertyValue LineLayer::getLineOffset(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue LineLayer::getLineOffset() const { + return impl().paint.template get().value; } -void LineLayer::setLineOffset(DataDrivenPropertyValue value, const optional& klass) { - if (value == getLineOffset(klass)) +void LineLayer::setLineOffset(DataDrivenPropertyValue value) { + if (value == getLineOffset()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -354,29 +354,29 @@ void LineLayer::setLineOffset(DataDrivenPropertyValue value, const option } } -void LineLayer::setLineOffsetTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineOffsetTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineOffsetTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineOffsetTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue LineLayer::getDefaultLineBlur() { return { 0 }; } -DataDrivenPropertyValue LineLayer::getLineBlur(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue LineLayer::getLineBlur() const { + return impl().paint.template get().value; } -void LineLayer::setLineBlur(DataDrivenPropertyValue value, const optional& klass) { - if (value == getLineBlur(klass)) +void LineLayer::setLineBlur(DataDrivenPropertyValue value) { + if (value == getLineBlur()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -385,68 +385,68 @@ void LineLayer::setLineBlur(DataDrivenPropertyValue value, const optional } } -void LineLayer::setLineBlurTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineBlurTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineBlurTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineBlurTransition() const { + return impl().paint.template get().options; } PropertyValue> LineLayer::getDefaultLineDasharray() { return { { } }; } -PropertyValue> LineLayer::getLineDasharray(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue> LineLayer::getLineDasharray() const { + return impl().paint.template get().value; } -void LineLayer::setLineDasharray(PropertyValue> value, const optional& klass) { - if (value == getLineDasharray(klass)) +void LineLayer::setLineDasharray(PropertyValue> value) { + if (value == getLineDasharray()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void LineLayer::setLineDasharrayTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLineDasharrayTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLineDasharrayTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLineDasharrayTransition() const { + return impl().paint.template get().options; } PropertyValue LineLayer::getDefaultLinePattern() { return { "" }; } -PropertyValue LineLayer::getLinePattern(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue LineLayer::getLinePattern() const { + return impl().paint.template get().value; } -void LineLayer::setLinePattern(PropertyValue value, const optional& klass) { - if (value == getLinePattern(klass)) +void LineLayer::setLinePattern(PropertyValue value) { + if (value == getLinePattern()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void LineLayer::setLinePatternTransition(const TransitionOptions& value, const optional& klass) { +void LineLayer::setLinePatternTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions LineLayer::getLinePatternTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions LineLayer::getLinePatternTransition() const { + return impl().paint.template get().options; } } // namespace style diff --git a/src/mbgl/style/layers/raster_layer.cpp b/src/mbgl/style/layers/raster_layer.cpp index fc28672ab..a7a32768b 100644 --- a/src/mbgl/style/layers/raster_layer.cpp +++ b/src/mbgl/style/layers/raster_layer.cpp @@ -76,189 +76,189 @@ PropertyValue RasterLayer::getDefaultRasterOpacity() { return { 1 }; } -PropertyValue RasterLayer::getRasterOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue RasterLayer::getRasterOpacity() const { + return impl().paint.template get().value; } -void RasterLayer::setRasterOpacity(PropertyValue value, const optional& klass) { - if (value == getRasterOpacity(klass)) +void RasterLayer::setRasterOpacity(PropertyValue value) { + if (value == getRasterOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void RasterLayer::setRasterOpacityTransition(const TransitionOptions& value, const optional& klass) { +void RasterLayer::setRasterOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions RasterLayer::getRasterOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions RasterLayer::getRasterOpacityTransition() const { + return impl().paint.template get().options; } PropertyValue RasterLayer::getDefaultRasterHueRotate() { return { 0 }; } -PropertyValue RasterLayer::getRasterHueRotate(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue RasterLayer::getRasterHueRotate() const { + return impl().paint.template get().value; } -void RasterLayer::setRasterHueRotate(PropertyValue value, const optional& klass) { - if (value == getRasterHueRotate(klass)) +void RasterLayer::setRasterHueRotate(PropertyValue value) { + if (value == getRasterHueRotate()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void RasterLayer::setRasterHueRotateTransition(const TransitionOptions& value, const optional& klass) { +void RasterLayer::setRasterHueRotateTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions RasterLayer::getRasterHueRotateTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions RasterLayer::getRasterHueRotateTransition() const { + return impl().paint.template get().options; } PropertyValue RasterLayer::getDefaultRasterBrightnessMin() { return { 0 }; } -PropertyValue RasterLayer::getRasterBrightnessMin(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue RasterLayer::getRasterBrightnessMin() const { + return impl().paint.template get().value; } -void RasterLayer::setRasterBrightnessMin(PropertyValue value, const optional& klass) { - if (value == getRasterBrightnessMin(klass)) +void RasterLayer::setRasterBrightnessMin(PropertyValue value) { + if (value == getRasterBrightnessMin()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void RasterLayer::setRasterBrightnessMinTransition(const TransitionOptions& value, const optional& klass) { +void RasterLayer::setRasterBrightnessMinTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions RasterLayer::getRasterBrightnessMinTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions RasterLayer::getRasterBrightnessMinTransition() const { + return impl().paint.template get().options; } PropertyValue RasterLayer::getDefaultRasterBrightnessMax() { return { 1 }; } -PropertyValue RasterLayer::getRasterBrightnessMax(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue RasterLayer::getRasterBrightnessMax() const { + return impl().paint.template get().value; } -void RasterLayer::setRasterBrightnessMax(PropertyValue value, const optional& klass) { - if (value == getRasterBrightnessMax(klass)) +void RasterLayer::setRasterBrightnessMax(PropertyValue value) { + if (value == getRasterBrightnessMax()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void RasterLayer::setRasterBrightnessMaxTransition(const TransitionOptions& value, const optional& klass) { +void RasterLayer::setRasterBrightnessMaxTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions RasterLayer::getRasterBrightnessMaxTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions RasterLayer::getRasterBrightnessMaxTransition() const { + return impl().paint.template get().options; } PropertyValue RasterLayer::getDefaultRasterSaturation() { return { 0 }; } -PropertyValue RasterLayer::getRasterSaturation(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue RasterLayer::getRasterSaturation() const { + return impl().paint.template get().value; } -void RasterLayer::setRasterSaturation(PropertyValue value, const optional& klass) { - if (value == getRasterSaturation(klass)) +void RasterLayer::setRasterSaturation(PropertyValue value) { + if (value == getRasterSaturation()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void RasterLayer::setRasterSaturationTransition(const TransitionOptions& value, const optional& klass) { +void RasterLayer::setRasterSaturationTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions RasterLayer::getRasterSaturationTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions RasterLayer::getRasterSaturationTransition() const { + return impl().paint.template get().options; } PropertyValue RasterLayer::getDefaultRasterContrast() { return { 0 }; } -PropertyValue RasterLayer::getRasterContrast(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue RasterLayer::getRasterContrast() const { + return impl().paint.template get().value; } -void RasterLayer::setRasterContrast(PropertyValue value, const optional& klass) { - if (value == getRasterContrast(klass)) +void RasterLayer::setRasterContrast(PropertyValue value) { + if (value == getRasterContrast()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void RasterLayer::setRasterContrastTransition(const TransitionOptions& value, const optional& klass) { +void RasterLayer::setRasterContrastTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions RasterLayer::getRasterContrastTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions RasterLayer::getRasterContrastTransition() const { + return impl().paint.template get().options; } PropertyValue RasterLayer::getDefaultRasterFadeDuration() { return { 300 }; } -PropertyValue RasterLayer::getRasterFadeDuration(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue RasterLayer::getRasterFadeDuration() const { + return impl().paint.template get().value; } -void RasterLayer::setRasterFadeDuration(PropertyValue value, const optional& klass) { - if (value == getRasterFadeDuration(klass)) +void RasterLayer::setRasterFadeDuration(PropertyValue value) { + if (value == getRasterFadeDuration()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void RasterLayer::setRasterFadeDurationTransition(const TransitionOptions& value, const optional& klass) { +void RasterLayer::setRasterFadeDurationTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions RasterLayer::getRasterFadeDurationTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions RasterLayer::getRasterFadeDurationTransition() const { + return impl().paint.template get().options; } } // namespace style diff --git a/src/mbgl/style/layers/symbol_layer.cpp b/src/mbgl/style/layers/symbol_layer.cpp index d21014dda..b2f9ca754 100644 --- a/src/mbgl/style/layers/symbol_layer.cpp +++ b/src/mbgl/style/layers/symbol_layer.cpp @@ -643,15 +643,15 @@ DataDrivenPropertyValue SymbolLayer::getDefaultIconOpacity() { return { 1 }; } -DataDrivenPropertyValue SymbolLayer::getIconOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getIconOpacity() const { + return impl().paint.template get().value; } -void SymbolLayer::setIconOpacity(DataDrivenPropertyValue value, const optional& klass) { - if (value == getIconOpacity(klass)) +void SymbolLayer::setIconOpacity(DataDrivenPropertyValue value) { + if (value == getIconOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -660,29 +660,29 @@ void SymbolLayer::setIconOpacity(DataDrivenPropertyValue value, const opt } } -void SymbolLayer::setIconOpacityTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setIconOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getIconOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getIconOpacityTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultIconColor() { return { Color::black() }; } -DataDrivenPropertyValue SymbolLayer::getIconColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getIconColor() const { + return impl().paint.template get().value; } -void SymbolLayer::setIconColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getIconColor(klass)) +void SymbolLayer::setIconColor(DataDrivenPropertyValue value) { + if (value == getIconColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -691,29 +691,29 @@ void SymbolLayer::setIconColor(DataDrivenPropertyValue value, const optio } } -void SymbolLayer::setIconColorTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setIconColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getIconColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getIconColorTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultIconHaloColor() { return { {} }; } -DataDrivenPropertyValue SymbolLayer::getIconHaloColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getIconHaloColor() const { + return impl().paint.template get().value; } -void SymbolLayer::setIconHaloColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getIconHaloColor(klass)) +void SymbolLayer::setIconHaloColor(DataDrivenPropertyValue value) { + if (value == getIconHaloColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -722,29 +722,29 @@ void SymbolLayer::setIconHaloColor(DataDrivenPropertyValue value, const o } } -void SymbolLayer::setIconHaloColorTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setIconHaloColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getIconHaloColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getIconHaloColorTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultIconHaloWidth() { return { 0 }; } -DataDrivenPropertyValue SymbolLayer::getIconHaloWidth(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getIconHaloWidth() const { + return impl().paint.template get().value; } -void SymbolLayer::setIconHaloWidth(DataDrivenPropertyValue value, const optional& klass) { - if (value == getIconHaloWidth(klass)) +void SymbolLayer::setIconHaloWidth(DataDrivenPropertyValue value) { + if (value == getIconHaloWidth()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -753,29 +753,29 @@ void SymbolLayer::setIconHaloWidth(DataDrivenPropertyValue value, const o } } -void SymbolLayer::setIconHaloWidthTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setIconHaloWidthTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getIconHaloWidthTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getIconHaloWidthTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultIconHaloBlur() { return { 0 }; } -DataDrivenPropertyValue SymbolLayer::getIconHaloBlur(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getIconHaloBlur() const { + return impl().paint.template get().value; } -void SymbolLayer::setIconHaloBlur(DataDrivenPropertyValue value, const optional& klass) { - if (value == getIconHaloBlur(klass)) +void SymbolLayer::setIconHaloBlur(DataDrivenPropertyValue value) { + if (value == getIconHaloBlur()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -784,83 +784,83 @@ void SymbolLayer::setIconHaloBlur(DataDrivenPropertyValue value, const op } } -void SymbolLayer::setIconHaloBlurTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setIconHaloBlurTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getIconHaloBlurTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getIconHaloBlurTransition() const { + return impl().paint.template get().options; } PropertyValue> SymbolLayer::getDefaultIconTranslate() { return { {{ 0, 0 }} }; } -PropertyValue> SymbolLayer::getIconTranslate(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue> SymbolLayer::getIconTranslate() const { + return impl().paint.template get().value; } -void SymbolLayer::setIconTranslate(PropertyValue> value, const optional& klass) { - if (value == getIconTranslate(klass)) +void SymbolLayer::setIconTranslate(PropertyValue> value) { + if (value == getIconTranslate()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void SymbolLayer::setIconTranslateTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setIconTranslateTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getIconTranslateTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getIconTranslateTransition() const { + return impl().paint.template get().options; } PropertyValue SymbolLayer::getDefaultIconTranslateAnchor() { return { TranslateAnchorType::Map }; } -PropertyValue SymbolLayer::getIconTranslateAnchor(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue SymbolLayer::getIconTranslateAnchor() const { + return impl().paint.template get().value; } -void SymbolLayer::setIconTranslateAnchor(PropertyValue value, const optional& klass) { - if (value == getIconTranslateAnchor(klass)) +void SymbolLayer::setIconTranslateAnchor(PropertyValue value) { + if (value == getIconTranslateAnchor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void SymbolLayer::setIconTranslateAnchorTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setIconTranslateAnchorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getIconTranslateAnchorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getIconTranslateAnchorTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultTextOpacity() { return { 1 }; } -DataDrivenPropertyValue SymbolLayer::getTextOpacity(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getTextOpacity() const { + return impl().paint.template get().value; } -void SymbolLayer::setTextOpacity(DataDrivenPropertyValue value, const optional& klass) { - if (value == getTextOpacity(klass)) +void SymbolLayer::setTextOpacity(DataDrivenPropertyValue value) { + if (value == getTextOpacity()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -869,29 +869,29 @@ void SymbolLayer::setTextOpacity(DataDrivenPropertyValue value, const opt } } -void SymbolLayer::setTextOpacityTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setTextOpacityTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getTextOpacityTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getTextOpacityTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultTextColor() { return { Color::black() }; } -DataDrivenPropertyValue SymbolLayer::getTextColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getTextColor() const { + return impl().paint.template get().value; } -void SymbolLayer::setTextColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getTextColor(klass)) +void SymbolLayer::setTextColor(DataDrivenPropertyValue value) { + if (value == getTextColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -900,29 +900,29 @@ void SymbolLayer::setTextColor(DataDrivenPropertyValue value, const optio } } -void SymbolLayer::setTextColorTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setTextColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getTextColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getTextColorTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultTextHaloColor() { return { {} }; } -DataDrivenPropertyValue SymbolLayer::getTextHaloColor(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getTextHaloColor() const { + return impl().paint.template get().value; } -void SymbolLayer::setTextHaloColor(DataDrivenPropertyValue value, const optional& klass) { - if (value == getTextHaloColor(klass)) +void SymbolLayer::setTextHaloColor(DataDrivenPropertyValue value) { + if (value == getTextHaloColor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -931,29 +931,29 @@ void SymbolLayer::setTextHaloColor(DataDrivenPropertyValue value, const o } } -void SymbolLayer::setTextHaloColorTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setTextHaloColorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getTextHaloColorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getTextHaloColorTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultTextHaloWidth() { return { 0 }; } -DataDrivenPropertyValue SymbolLayer::getTextHaloWidth(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getTextHaloWidth() const { + return impl().paint.template get().value; } -void SymbolLayer::setTextHaloWidth(DataDrivenPropertyValue value, const optional& klass) { - if (value == getTextHaloWidth(klass)) +void SymbolLayer::setTextHaloWidth(DataDrivenPropertyValue value) { + if (value == getTextHaloWidth()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -962,29 +962,29 @@ void SymbolLayer::setTextHaloWidth(DataDrivenPropertyValue value, const o } } -void SymbolLayer::setTextHaloWidthTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setTextHaloWidthTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getTextHaloWidthTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getTextHaloWidthTransition() const { + return impl().paint.template get().options; } DataDrivenPropertyValue SymbolLayer::getDefaultTextHaloBlur() { return { 0 }; } -DataDrivenPropertyValue SymbolLayer::getTextHaloBlur(const optional& klass) const { - return impl().paint.template get().get(klass); +DataDrivenPropertyValue SymbolLayer::getTextHaloBlur() const { + return impl().paint.template get().value; } -void SymbolLayer::setTextHaloBlur(DataDrivenPropertyValue value, const optional& klass) { - if (value == getTextHaloBlur(klass)) +void SymbolLayer::setTextHaloBlur(DataDrivenPropertyValue value) { + if (value == getTextHaloBlur()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); if (value.isDataDriven()) { observer->onLayerDataDrivenPaintPropertyChanged(*this); @@ -993,68 +993,68 @@ void SymbolLayer::setTextHaloBlur(DataDrivenPropertyValue value, const op } } -void SymbolLayer::setTextHaloBlurTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setTextHaloBlurTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getTextHaloBlurTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getTextHaloBlurTransition() const { + return impl().paint.template get().options; } PropertyValue> SymbolLayer::getDefaultTextTranslate() { return { {{ 0, 0 }} }; } -PropertyValue> SymbolLayer::getTextTranslate(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue> SymbolLayer::getTextTranslate() const { + return impl().paint.template get().value; } -void SymbolLayer::setTextTranslate(PropertyValue> value, const optional& klass) { - if (value == getTextTranslate(klass)) +void SymbolLayer::setTextTranslate(PropertyValue> value) { + if (value == getTextTranslate()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void SymbolLayer::setTextTranslateTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setTextTranslateTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getTextTranslateTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getTextTranslateTransition() const { + return impl().paint.template get().options; } PropertyValue SymbolLayer::getDefaultTextTranslateAnchor() { return { TranslateAnchorType::Map }; } -PropertyValue SymbolLayer::getTextTranslateAnchor(const optional& klass) const { - return impl().paint.template get().get(klass); +PropertyValue SymbolLayer::getTextTranslateAnchor() const { + return impl().paint.template get().value; } -void SymbolLayer::setTextTranslateAnchor(PropertyValue value, const optional& klass) { - if (value == getTextTranslateAnchor(klass)) +void SymbolLayer::setTextTranslateAnchor(PropertyValue value) { + if (value == getTextTranslateAnchor()) return; auto impl_ = mutableImpl(); - impl_->paint.template get().set(value, klass); + impl_->paint.template get().value = value; baseImpl = std::move(impl_); observer->onLayerPaintPropertyChanged(*this); } -void SymbolLayer::setTextTranslateAnchorTransition(const TransitionOptions& value, const optional& klass) { +void SymbolLayer::setTextTranslateAnchorTransition(const TransitionOptions& options) { auto impl_ = mutableImpl(); - impl_->paint.template get().setTransition(value, klass); + impl_->paint.template get().options = options; baseImpl = std::move(impl_); } -TransitionOptions SymbolLayer::getTextTranslateAnchorTransition(const optional& klass) const { - return impl().paint.template get().getTransition(klass); +TransitionOptions SymbolLayer::getTextTranslateAnchorTransition() const { + return impl().paint.template get().options; } } // namespace style diff --git a/src/mbgl/style/paint_property.hpp b/src/mbgl/style/paint_property.hpp index 80d54abce..cb86fd1a3 100644 --- a/src/mbgl/style/paint_property.hpp +++ b/src/mbgl/style/paint_property.hpp @@ -15,7 +15,7 @@ namespace style { template class PaintProperty { public: - using TransitionableType = Cascading>; + using TransitionableType = Transitionable>; using UnevaluatedType = Transitioning>; using EvaluatorType = PropertyEvaluator; using PossiblyEvaluatedType = T; @@ -26,7 +26,7 @@ public: template class DataDrivenPaintProperty { public: - using TransitionableType = Cascading>; + using TransitionableType = Transitionable>; using UnevaluatedType = Transitioning>; using EvaluatorType = DataDrivenPropertyEvaluator; using PossiblyEvaluatedType = PossiblyEvaluatedPropertyValue; @@ -39,7 +39,7 @@ public: template class CrossFadedPaintProperty { public: - using TransitionableType = Cascading>; + using TransitionableType = Transitionable>; using UnevaluatedType = Transitioning>; using EvaluatorType = CrossFadedPropertyEvaluator; using PossiblyEvaluatedType = Faded; diff --git a/src/mbgl/style/properties.hpp b/src/mbgl/style/properties.hpp index cd69ffb9b..678d38563 100644 --- a/src/mbgl/style/properties.hpp +++ b/src/mbgl/style/properties.hpp @@ -92,63 +92,6 @@ public: } }; -template -class Cascading { -public: - bool isUndefined() const { - return values.find(ClassID::Default) == values.end(); - } - - const Value& get(const optional& klass) const { - static const Value staticValue{}; - const auto it = values.find(klass ? ClassDictionary::Get().lookup(*klass) : ClassID::Default); - return it == values.end() ? staticValue : it->second; - } - - void set(const Value& value_, const optional& klass) { - values[klass ? ClassDictionary::Get().lookup(*klass) : ClassID::Default] = value_; - } - - const TransitionOptions& getTransition(const optional& klass) const { - static const TransitionOptions staticValue{}; - const auto it = transitions.find(klass ? ClassDictionary::Get().lookup(*klass) : ClassID::Default); - return it == transitions.end() ? staticValue : it->second; - } - - void setTransition(const TransitionOptions& transition, const optional& klass) { - transitions[klass ? ClassDictionary::Get().lookup(*klass) : ClassID::Default] = transition; - } - - Transitioning transition(const TransitionParameters& params, Transitioning prior) const { - TransitionOptions transition; - Value value; - - for (const auto classID : params.classes) { - if (values.find(classID) != values.end()) { - value = values.at(classID); - break; - } - } - - for (const auto classID : params.classes) { - if (transitions.find(classID) != transitions.end()) { - transition = transitions.at(classID).reverseMerge(transition); - break; - } - } - - return Transitioning(std::move(value), - std::move(prior), - transition.reverseMerge(params.transition), - params.now); - } - -private: - std::map values; - std::map transitions; -}; - - template struct IsDataDriven : std::integral_constant {}; diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index 962ba0f39..f601c4126 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -93,33 +92,6 @@ Style::~Style() { } } -bool Style::addClass(const std::string& className) { - if (hasClass(className)) return false; - classes.push_back(className); - return true; -} - -bool Style::hasClass(const std::string& className) const { - return std::find(classes.begin(), classes.end(), className) != classes.end(); -} - -bool Style::removeClass(const std::string& className) { - const auto it = std::find(classes.begin(), classes.end(), className); - if (it != classes.end()) { - classes.erase(it); - return true; - } - return false; -} - -void Style::setClasses(const std::vector& classNames) { - classes = classNames; -} - -std::vector Style::getClasses() const { - return classes; -} - void Style::setTransitionOptions(const TransitionOptions& options) { transitionOptions = options; } @@ -132,7 +104,6 @@ void Style::setJSON(const std::string& json) { sources.clear(); renderSources.clear(); layers.clear(); - classes.clear(); transitionOptions = {}; updateBatch = {}; @@ -333,16 +304,8 @@ double Style::getDefaultPitch() const { void Style::update(const UpdateParameters& parameters) { const bool zoomChanged = zoomHistory.update(parameters.transformState.getZoom(), parameters.timePoint); - const bool classesChanged = parameters.updateFlags & Update::Classes; - - std::vector classIDs; - for (const auto& className : classes) { - classIDs.push_back(ClassDictionary::Get().lookup(className)); - } - classIDs.push_back(ClassID::Default); const TransitionParameters transitionParameters { - classIDs, parameters.timePoint, parameters.mode == MapMode::Continuous ? transitionOptions : TransitionOptions() }; @@ -432,11 +395,11 @@ void Style::update(const UpdateParameters& parameters) { const bool layerAdded = layerDiff.added.count(entry.first); const bool layerChanged = layerDiff.changed.count(entry.first); - if (classesChanged || layerAdded || layerChanged) { + if (layerAdded || layerChanged) { layer.transition(transitionParameters); } - if (classesChanged || layerAdded || layerChanged || zoomChanged || layer.hasTransition()) { + if (layerAdded || layerChanged || zoomChanged || layer.hasTransition()) { layer.evaluate(evaluationParameters); } } diff --git a/src/mbgl/style/style.hpp b/src/mbgl/style/style.hpp index fb724e2b4..b4ff4f9ac 100644 --- a/src/mbgl/style/style.hpp +++ b/src/mbgl/style/style.hpp @@ -93,16 +93,9 @@ public: double getDefaultBearing() const; double getDefaultPitch() const; - bool addClass(const std::string&); - bool removeClass(const std::string&); - void setClasses(const std::vector&); - TransitionOptions getTransitionOptions() const; void setTransitionOptions(const TransitionOptions&); - bool hasClass(const std::string&) const; - std::vector getClasses() const; - void setLight(std::unique_ptr); Light* getLight() const; const RenderLight& getRenderLight() const; @@ -134,7 +127,6 @@ public: private: std::vector> sources; std::vector> layers; - std::vector classes; TransitionOptions transitionOptions; std::unique_ptr light; diff --git a/src/mbgl/tile/geometry_tile_worker.cpp b/src/mbgl/tile/geometry_tile_worker.cpp index 1dfc739ad..1d683b3a1 100644 --- a/src/mbgl/tile/geometry_tile_worker.cpp +++ b/src/mbgl/tile/geometry_tile_worker.cpp @@ -249,7 +249,6 @@ static std::vector> toRenderLayers(const std::vecto renderLayers.push_back(RenderLayer::create(layer)); renderLayers.back()->transition(TransitionParameters { - { ClassID::Default }, Clock::time_point::max(), TransitionOptions() }); diff --git a/test/map/map.test.cpp b/test/map/map.test.cpp index 6809fefb6..2b7c3c2e3 100644 --- a/test/map/map.test.cpp +++ b/test/map/map.test.cpp @@ -439,40 +439,6 @@ TEST(Map, DisabledSources) { test::checkImage("test/fixtures/map/disabled_layers/second", test::render(map, test.view)); } -TEST(Map, Classes) { - MapTest test; - - Map map(test.backend, test.view.getSize(), 1, test.fileSource, test.threadPool, MapMode::Still); - map.setStyleJSON(util::read_file("test/fixtures/api/empty.json")); - - EXPECT_FALSE(map.getTransitionOptions().duration); - - auto duration = mbgl::Duration(mbgl::Milliseconds(300)); - map.setTransitionOptions({ duration }); - EXPECT_EQ(map.getTransitionOptions().duration, duration); - - map.addClass("test"); - EXPECT_TRUE(map.hasClass("test")); - - map.removeClass("test"); - EXPECT_TRUE(map.getClasses().empty()); - - std::vector classes = { "foo", "bar" }; - map.setClasses(classes); - EXPECT_FALSE(map.hasClass("test")); - EXPECT_TRUE(map.hasClass("foo")); - EXPECT_TRUE(map.hasClass("bar")); - - // Does nothing - same style JSON. - map.setStyleJSON(util::read_file("test/fixtures/api/empty.json")); - EXPECT_TRUE(map.hasClass("foo")); - EXPECT_EQ(map.getTransitionOptions().duration, duration); - - map.setStyleJSON(util::read_file("test/fixtures/api/water.json")); - EXPECT_TRUE(map.getClasses().empty()); - EXPECT_FALSE(map.getTransitionOptions().duration); -} - TEST(Map, AddImage) { MapTest test; diff --git a/test/style/conversion/layer.test.cpp b/test/style/conversion/layer.test.cpp index 22be61e80..d51d7d33e 100644 --- a/test/style/conversion/layer.test.cpp +++ b/test/style/conversion/layer.test.cpp @@ -27,21 +27,11 @@ TEST(StyleConversion, LayerTransition) { "duration": 400, "delay": 500 } - }, - "paint.class": { - "background-color-transition": { - "duration": 100 - } } })JSON"); ASSERT_EQ(400ms, *layer->as()->impl().paint - .get().getTransition({}).duration); + .get().options.duration); ASSERT_EQ(500ms, *layer->as()->impl().paint - .get().getTransition({}).delay); - - ASSERT_EQ(100ms, *layer->as()->impl().paint - .get().getTransition({"class"}).duration); - ASSERT_FALSE(bool(layer->as()->impl().paint - .get().getTransition({"class"}).delay)); + .get().options.delay); }