summaryrefslogtreecommitdiff
path: root/src/mbgl/style/layers/fill_layer_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/layers/fill_layer_impl.cpp')
-rw-r--r--src/mbgl/style/layers/fill_layer_impl.cpp50
1 files changed, 3 insertions, 47 deletions
diff --git a/src/mbgl/style/layers/fill_layer_impl.cpp b/src/mbgl/style/layers/fill_layer_impl.cpp
index 19675ca9fb..6ec55a58e3 100644
--- a/src/mbgl/style/layers/fill_layer_impl.cpp
+++ b/src/mbgl/style/layers/fill_layer_impl.cpp
@@ -1,55 +1,11 @@
#include <mbgl/style/layers/fill_layer_impl.hpp>
-#include <mbgl/renderer/fill_bucket.hpp>
-#include <mbgl/geometry/feature_index.hpp>
-#include <mbgl/util/math.hpp>
-#include <mbgl/util/intersection_tests.hpp>
+#include <mbgl/renderer/render_fill_layer.hpp>
namespace mbgl {
namespace style {
-void FillLayer::Impl::cascade(const CascadeParameters& parameters) {
- paint.cascade(parameters);
-}
-
-bool FillLayer::Impl::evaluate(const PropertyEvaluationParameters& parameters) {
- paint.evaluate(parameters);
-
- if (paint.unevaluated.get<FillOutlineColor>().isUndefined()) {
- paint.evaluated.get<FillOutlineColor>() = paint.evaluated.get<FillColor>();
- }
-
- passes = RenderPass::None;
-
- if (paint.evaluated.get<FillAntialias>()) {
- passes |= RenderPass::Translucent;
- }
-
- if (!paint.unevaluated.get<FillPattern>().isUndefined()
- || paint.evaluated.get<FillColor>().constantOr(Color()).a < 1.0f
- || paint.evaluated.get<FillOpacity>().constantOr(0) < 1.0f) {
- passes |= RenderPass::Translucent;
- } else {
- passes |= RenderPass::Opaque;
- }
-
- return paint.hasTransition();
-}
-
-std::unique_ptr<Bucket> FillLayer::Impl::createBucket(const BucketParameters& parameters, const std::vector<const Layer*>& layers) const {
- return std::make_unique<FillBucket>(parameters, layers);
-}
-
-bool FillLayer::Impl::queryIntersectsFeature(
- const GeometryCoordinates& queryGeometry,
- const GeometryTileFeature& feature,
- const float,
- const float bearing,
- const float pixelsToTileUnits) const {
-
- auto translatedQueryGeometry = FeatureIndex::translateQueryGeometry(
- queryGeometry, paint.evaluated.get<FillTranslate>(), paint.evaluated.get<FillTranslateAnchor>(), bearing, pixelsToTileUnits);
-
- return util::polygonIntersectsMultiPolygon(translatedQueryGeometry.value_or(queryGeometry), feature.getGeometries());
+std::unique_ptr<RenderLayer> FillLayer::Impl::createRenderLayer() const {
+ return std::make_unique<RenderFillLayer>(*this);
}
} // namespace style