summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers/render_symbol_layer.cpp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-07-18 09:45:04 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-07-19 09:31:07 -0700
commit5c24636c26ae8e01ec2b9bf65d7b08054bb43b1d (patch)
tree31a5c1a3f8a63406d3d28fcb542d5d708a13b5b5 /src/mbgl/renderer/layers/render_symbol_layer.cpp
parent4954da23e76d1dcf87c65804d154ca034193cb4b (diff)
downloadqtlocation-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.cpp19
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>(),