diff options
author | Molly Lloyd <molly@mapbox.com> | 2018-08-29 17:27:40 -0700 |
---|---|---|
committer | Molly Lloyd <mollymerp@users.noreply.github.com> | 2018-08-31 13:08:47 -0700 |
commit | d197fc7d8daf06cc2efc35a34fb45d86ea64d65b (patch) | |
tree | 365b09122531ef51b253417191368c14de171eb4 /src/mbgl/renderer | |
parent | f7dcd5d7416f076c3553ccec9844fa77fe0e0ea5 (diff) | |
download | qtlocation-mapboxgl-d197fc7d8daf06cc2efc35a34fb45d86ea64d65b.tar.gz |
[core] simplify dependency layout process and refactor data structures
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp | 10 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp | 5 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_fill_layer.cpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_fill_layer.hpp | 5 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_line_layer.cpp | 10 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_line_layer.hpp | 5 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/render_layer.hpp | 10 |
9 files changed, 30 insertions, 24 deletions
diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp index 08e9d609cd..d6623455e0 100644 --- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp +++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp @@ -33,11 +33,11 @@ std::unique_ptr<Bucket> RenderFillExtrusionLayer::createBucket(const BucketParam } -std::unique_ptr<PatternLayout<FillExtrusionBucket>> -RenderFillExtrusionLayer::createLayout(const BucketParameters& parameters, - const std::vector<const RenderLayer*>& group, - std::unique_ptr<GeometryTileLayer> layer, - ImageDependencies& imageDependencies) const { +std::unique_ptr<Layout> RenderFillExtrusionLayer::createLayout(const BucketParameters& parameters, + const std::vector<const RenderLayer*>& group, + std::unique_ptr<GeometryTileLayer> layer, + GlyphDependencies&, + ImageDependencies& imageDependencies) const { return std::make_unique<PatternLayout<FillExtrusionBucket>>(parameters, group, std::move(layer), imageDependencies); } diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp index 1a721d035b..b9684b73f6 100644 --- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp +++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp @@ -37,9 +37,8 @@ public: const mat4&) const override; std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const override; - - std::unique_ptr<PatternLayout<FillExtrusionBucket>> - createLayout(const BucketParameters&, const std::vector<const RenderLayer*>&, std::unique_ptr<GeometryTileLayer>, ImageDependencies&) const; + std::unique_ptr<Layout> createLayout(const BucketParameters&, const std::vector<const RenderLayer*>&, + std::unique_ptr<GeometryTileLayer>, GlyphDependencies&, ImageDependencies&) const override; // Paint properties style::FillExtrusionPaintProperties::Unevaluated unevaluated; diff --git a/src/mbgl/renderer/layers/render_fill_layer.cpp b/src/mbgl/renderer/layers/render_fill_layer.cpp index 5d7ed02da8..e0edd37988 100644 --- a/src/mbgl/renderer/layers/render_fill_layer.cpp +++ b/src/mbgl/renderer/layers/render_fill_layer.cpp @@ -30,10 +30,11 @@ std::unique_ptr<Bucket> RenderFillLayer::createBucket(const BucketParameters&, c return nullptr; } -std::unique_ptr<PatternLayout<FillBucket>> +std::unique_ptr<Layout> RenderFillLayer::createLayout(const BucketParameters& parameters, const std::vector<const RenderLayer*>& group, std::unique_ptr<GeometryTileLayer> layer, + GlyphDependencies&, ImageDependencies& imageDependencies) const { return std::make_unique<PatternLayout<FillBucket>>(parameters, group, std::move(layer), imageDependencies); } diff --git a/src/mbgl/renderer/layers/render_fill_layer.hpp b/src/mbgl/renderer/layers/render_fill_layer.hpp index 5a3c05387d..41926e1305 100644 --- a/src/mbgl/renderer/layers/render_fill_layer.hpp +++ b/src/mbgl/renderer/layers/render_fill_layer.hpp @@ -33,9 +33,8 @@ public: const mat4&) const override; std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const override; - - std::unique_ptr<PatternLayout<FillBucket>> - createLayout(const BucketParameters&, const std::vector<const RenderLayer*>&, std::unique_ptr<GeometryTileLayer>, ImageDependencies&) const; + std::unique_ptr<Layout> createLayout(const BucketParameters&, const std::vector<const RenderLayer*>&, + std::unique_ptr<GeometryTileLayer>, GlyphDependencies&, ImageDependencies&) const override; // Paint properties style::FillPaintProperties::Unevaluated unevaluated; diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp index ff8a98c950..3adcfc408e 100644 --- a/src/mbgl/renderer/layers/render_line_layer.cpp +++ b/src/mbgl/renderer/layers/render_line_layer.cpp @@ -32,11 +32,11 @@ std::unique_ptr<Bucket> RenderLineLayer::createBucket(const BucketParameters&, c return nullptr; } -std::unique_ptr<PatternLayout<LineBucket>> -RenderLineLayer::createLayout(const BucketParameters& parameters, - const std::vector<const RenderLayer*>& group, - std::unique_ptr<GeometryTileLayer> layer, - ImageDependencies& imageDependencies) const { +std::unique_ptr<Layout> RenderLineLayer::createLayout(const BucketParameters& parameters, + const std::vector<const RenderLayer*>& group, + std::unique_ptr<GeometryTileLayer> layer, + GlyphDependencies&, + ImageDependencies& imageDependencies) const { return std::make_unique<PatternLayout<LineBucket>>(parameters, group, std::move(layer), imageDependencies); } diff --git a/src/mbgl/renderer/layers/render_line_layer.hpp b/src/mbgl/renderer/layers/render_line_layer.hpp index 19ccccfb39..d7786ded34 100644 --- a/src/mbgl/renderer/layers/render_line_layer.hpp +++ b/src/mbgl/renderer/layers/render_line_layer.hpp @@ -46,10 +46,11 @@ public: void updateColorRamp(); std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const override; - std::unique_ptr<PatternLayout<LineBucket>> createLayout(const BucketParameters&, + std::unique_ptr<Layout> createLayout(const BucketParameters&, const std::vector<const RenderLayer*>&, std::unique_ptr<GeometryTileLayer>, - ImageDependencies&) const; + GlyphDependencies&, + ImageDependencies&) const override; // Paint properties style::LinePaintProperties::Unevaluated unevaluated; RenderLinePaintProperties::PossiblyEvaluated evaluated; diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index cf65e29048..7b630a551a 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -36,7 +36,7 @@ std::unique_ptr<Bucket> RenderSymbolLayer::createBucket(const BucketParameters&, return nullptr; } -std::unique_ptr<SymbolLayout> RenderSymbolLayer::createLayout(const BucketParameters& parameters, +std::unique_ptr<Layout> RenderSymbolLayer::createLayout(const BucketParameters& parameters, const std::vector<const RenderLayer*>& group, std::unique_ptr<GeometryTileLayer> layer, GlyphDependencies& glyphDependencies, diff --git a/src/mbgl/renderer/layers/render_symbol_layer.hpp b/src/mbgl/renderer/layers/render_symbol_layer.hpp index efdcf0e932..48e048f271 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.hpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.hpp @@ -74,11 +74,11 @@ public: style::SymbolPropertyValues textPropertyValues(const style::SymbolLayoutProperties::PossiblyEvaluated&) const; std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const override; - std::unique_ptr<SymbolLayout> createLayout(const BucketParameters&, + std::unique_ptr<Layout> createLayout(const BucketParameters&, const std::vector<const RenderLayer*>&, std::unique_ptr<GeometryTileLayer>, GlyphDependencies&, - ImageDependencies&) const; + ImageDependencies&) const override; // Paint properties style::SymbolPaintProperties::Unevaluated unevaluated; diff --git a/src/mbgl/renderer/render_layer.hpp b/src/mbgl/renderer/render_layer.hpp index 9f327c63e5..39e4a23a84 100644 --- a/src/mbgl/renderer/render_layer.hpp +++ b/src/mbgl/renderer/render_layer.hpp @@ -1,5 +1,5 @@ #pragma once - +#include <mbgl/layout/layout.hpp> #include <mbgl/renderer/render_pass.hpp> #include <mbgl/style/layer_impl.hpp> #include <mbgl/style/layer_type.hpp> @@ -79,7 +79,13 @@ public: const mat4&) const { return false; }; virtual std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const = 0; - + virtual std::unique_ptr<Layout> createLayout(const BucketParameters&, + const std::vector<const RenderLayer*>&, + std::unique_ptr<GeometryTileLayer>, + GlyphDependencies&, + ImageDependencies&) const { + return nullptr; + } void setRenderTiles(std::vector<std::reference_wrapper<RenderTile>>); // Private implementation Immutable<style::Layer::Impl> baseImpl; |