summaryrefslogtreecommitdiff
path: root/src/mbgl/style/expression/is_constant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/expression/is_constant.cpp')
-rw-r--r--src/mbgl/style/expression/is_constant.cpp13
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