summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Wojciechowski <lucas@mapbox.com>2018-02-19 14:03:20 -0800
committerLucas Wojciechowski <lucas@mapbox.com>2018-03-07 11:46:17 -0800
commitd4aac8e8830c401ab8fa8ee6700cc5f60bf56e9a (patch)
treee5de12df5a22990b4970eff5cb21965f30b95717
parent57e1df1513e54d375adf307c4a0cf89d40f58174 (diff)
downloadqtlocation-mapboxgl-d4aac8e8830c401ab8fa8ee6700cc5f60bf56e9a.tar.gz
WIP
-rw-r--r--cmake/core-files.cmake1
-rw-r--r--include/mbgl/style/filter.hpp2
-rw-r--r--include/mbgl/style/filter_evaluator.hpp5
-rw-r--r--src/mbgl/style/filter.cpp17
-rw-r--r--src/mbgl/style/filter_evaluator.cpp4
5 files changed, 18 insertions, 11 deletions
diff --git a/cmake/core-files.cmake b/cmake/core-files.cmake
index 90f74ecf0e..35eb9c9400 100644
--- a/cmake/core-files.cmake
+++ b/cmake/core-files.cmake
@@ -376,6 +376,7 @@ set(MBGL_CORE_FILES
src/mbgl/style/collection.hpp
src/mbgl/style/custom_tile_loader.cpp
src/mbgl/style/custom_tile_loader.hpp
+ src/mbgl/style/filter.cpp
src/mbgl/style/filter_evaluator.cpp
src/mbgl/style/image.cpp
src/mbgl/style/image_impl.cpp
diff --git a/include/mbgl/style/filter.hpp b/include/mbgl/style/filter.hpp
index 5bca3ed47d..a5bd32b71e 100644
--- a/include/mbgl/style/filter.hpp
+++ b/include/mbgl/style/filter.hpp
@@ -275,9 +275,7 @@ class Filter : public FilterBase {
public:
using FilterBase::FilterBase;
- template <class GeometryTileFeature>
bool operator()(const GeometryTileFeature&) const;
-
bool operator()(expression::EvaluationContext context) const;
};
diff --git a/include/mbgl/style/filter_evaluator.hpp b/include/mbgl/style/filter_evaluator.hpp
index d2c680d3bc..a4a4098b3f 100644
--- a/include/mbgl/style/filter_evaluator.hpp
+++ b/include/mbgl/style/filter_evaluator.hpp
@@ -51,10 +51,5 @@ public:
};
-template <class GeometryTileFeature>
-bool Filter::operator()(const GeometryTileFeature& feature) const {
- return operator()(expression::EvaluationContext { &feature });
-}
-
} // namespace style
} // namespace mbgl
diff --git a/src/mbgl/style/filter.cpp b/src/mbgl/style/filter.cpp
new file mode 100644
index 0000000000..4aa8d9622e
--- /dev/null
+++ b/src/mbgl/style/filter.cpp
@@ -0,0 +1,17 @@
+#include <mbgl/style/filter.hpp>
+#include <mbgl/style/filter_evaluator.hpp>
+#include <mbgl/tile/geometry_tile_data.hpp>
+
+namespace mbgl {
+namespace style {
+
+bool Filter::operator()(expression::EvaluationContext context) const {
+ return FilterBase::visit(*this, FilterEvaluator { context });
+}
+
+bool Filter::operator()(const GeometryTileFeature& feature) const {
+ return operator()(expression::EvaluationContext { &feature });
+}
+
+} // namespace style
+} // namespace mbgl
diff --git a/src/mbgl/style/filter_evaluator.cpp b/src/mbgl/style/filter_evaluator.cpp
index 3ec99e6c98..3645a01728 100644
--- a/src/mbgl/style/filter_evaluator.cpp
+++ b/src/mbgl/style/filter_evaluator.cpp
@@ -215,10 +215,6 @@ bool FilterEvaluator::operator()(const NotHasIdentifierFilter&) const {
bool FilterEvaluator::operator()(const ExpressionFilter&) const {
return false;
}
-
-bool Filter::operator()(expression::EvaluationContext context) const {
- return FilterBase::visit(*this, FilterEvaluator { context });
-}
} // namespace style
} // namespace mbgl