diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-07-18 09:45:04 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-07-19 09:31:07 -0700 |
commit | 5c24636c26ae8e01ec2b9bf65d7b08054bb43b1d (patch) | |
tree | 31a5c1a3f8a63406d3d28fcb542d5d708a13b5b5 /src/mbgl/renderer/layers/render_symbol_layer.cpp | |
parent | 4954da23e76d1dcf87c65804d154ca034193cb4b (diff) | |
download | qtlocation-mapboxgl-5c24636c26ae8e01ec2b9bf65d7b08054bb43b1d.tar.gz |
[core] Eliminate Bucket::render
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>(), |