diff options
Diffstat (limited to 'src/mbgl/style/expression/is_constant.cpp')
-rw-r--r-- | src/mbgl/style/expression/is_constant.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mbgl/style/expression/is_constant.cpp b/src/mbgl/style/expression/is_constant.cpp index 4c4684c86a..eb823bc77c 100644 --- a/src/mbgl/style/expression/is_constant.cpp +++ b/src/mbgl/style/expression/is_constant.cpp @@ -49,6 +49,19 @@ bool isZoomConstant(const Expression& e) { return isGlobalPropertyConstant(e, std::array<std::string, 1>{{"zoom"}}); } +bool isRuntimeConstant(const Expression& expression) { + if (expression.getKind() == Kind::ImageExpression) { + return false; + } + + bool runtimeConstant = true; + expression.eachChild([&](const Expression& e) { + if (runtimeConstant && !isRuntimeConstant(e)) { + runtimeConstant = false; + } + }); + return runtimeConstant; +} } // namespace expression } // namespace style |