diff options
Diffstat (limited to 'src/mbgl/renderer/layers/render_symbol_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index 2af7b2f7ca..f04f7d34f3 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -1,9 +1,12 @@ #include <mbgl/renderer/layers/render_symbol_layer.hpp> -#include <mbgl/layout/symbol_layout.hpp> -#include <mbgl/renderer/bucket.hpp> +#include <mbgl/renderer/buckets/symbol_bucket.hpp> #include <mbgl/renderer/bucket_parameters.hpp> #include <mbgl/renderer/property_evaluation_parameters.hpp> +#include <mbgl/renderer/painter.hpp> +#include <mbgl/renderer/render_tile.hpp> +#include <mbgl/tile/tile.hpp> #include <mbgl/style/layers/symbol_layer_impl.hpp> +#include <mbgl/layout/symbol_layout.hpp> #include <mbgl/tile/geometry_tile_data.hpp> namespace mbgl { @@ -55,6 +58,18 @@ bool RenderSymbolLayer::hasTransition() const { return unevaluated.hasTransition(); } +void RenderSymbolLayer::render(Painter& painter, PaintParameters& parameters, RenderSource*) { + for (const RenderTile& tile : renderTiles) { + Bucket* bucket = tile.tile.getBucket(*baseImpl); + assert(dynamic_cast<SymbolBucket*>(bucket)); + painter.renderSymbol( + parameters, + *reinterpret_cast<SymbolBucket*>(bucket), + *this, + tile); + } +} + style::IconPaintProperties::PossiblyEvaluated RenderSymbolLayer::iconPaintProperties() const { return style::IconPaintProperties::PossiblyEvaluated { evaluated.get<style::IconOpacity>(), |