diff options
author | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2020-02-03 12:32:16 +0200 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2020-02-03 12:32:16 +0200 |
commit | 7df86111beb1254c9f7b5e1d7471d40a44c1d0cf (patch) | |
tree | c98f3890643b052d3816e12b6ebbb0473e7832a2 | |
parent | 1688130809a892ff199b8fd54d558a1299b7152a (diff) | |
download | qtlocation-mapboxgl-7df86111beb1254c9f7b5e1d7471d40a44c1d0cf.tar.gz |
[core] Add getSharedExpression to property expressionupstream/alexshalamov_prop_expr_getShared
New method can be used for aggregating property expressions from
multiple properties(layers) into single match / case expression.
-rw-r--r-- | include/mbgl/style/property_expression.hpp | 5 | ||||
-rw-r--r-- | src/mbgl/style/property_expression.cpp | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/mbgl/style/property_expression.hpp b/include/mbgl/style/property_expression.hpp index 7dcd818dde..7439ac9ca1 100644 --- a/include/mbgl/style/property_expression.hpp +++ b/include/mbgl/style/property_expression.hpp @@ -21,6 +21,11 @@ public: Range<float> getCoveringStops(const float, const float) const noexcept; const expression::Expression& getExpression() const noexcept; + // Can be used for aggregating property expressions from multiple + // properties(layers) into single match / case expression. Method may + // be removed if a better way of aggregation is found. + std::shared_ptr<const expression::Expression> getSharedExpression() const noexcept; + bool useIntegerZoom = false; protected: diff --git a/src/mbgl/style/property_expression.cpp b/src/mbgl/style/property_expression.cpp index d531181e71..8d603e4b15 100644 --- a/src/mbgl/style/property_expression.cpp +++ b/src/mbgl/style/property_expression.cpp @@ -54,5 +54,9 @@ const expression::Expression& PropertyExpressionBase::getExpression() const noex return *expression; } +std::shared_ptr<const expression::Expression> PropertyExpressionBase::getSharedExpression() const noexcept { + return expression; +} + } // namespace style } // namespace mbgl |