diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-04-01 11:29:28 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-04-17 17:21:41 +0300 |
commit | 4b21560cf59877125ea0bdae1a2546ab06f1efb2 (patch) | |
tree | bd7f76fd51c29c63ef7b15964752f9c8c9e3bf38 /src/mbgl/layermanager | |
parent | 1a66a02097f0e3c95a4d06610fc0b7609f6d77b9 (diff) | |
download | qtlocation-mapboxgl-4b21560cf59877125ea0bdae1a2546ab06f1efb2.tar.gz |
[core] Use `style::LayerProperties` in render layers, buckets and layouts.
Diffstat (limited to 'src/mbgl/layermanager')
-rw-r--r-- | src/mbgl/layermanager/circle_layer_factory.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/layermanager/fill_extrusion_layer_factory.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/layermanager/fill_layer_factory.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/layermanager/heatmap_layer_factory.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/layermanager/layer_factory.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/layermanager/layer_manager.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/layermanager/line_layer_factory.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/layermanager/symbol_layer_factory.cpp | 2 |
8 files changed, 22 insertions, 13 deletions
diff --git a/src/mbgl/layermanager/circle_layer_factory.cpp b/src/mbgl/layermanager/circle_layer_factory.cpp index 0ea56e5711..28c64fc400 100644 --- a/src/mbgl/layermanager/circle_layer_factory.cpp +++ b/src/mbgl/layermanager/circle_layer_factory.cpp @@ -24,7 +24,7 @@ std::unique_ptr<style::Layer> CircleLayerFactory::createLayer(const std::string& return layer; } -std::unique_ptr<Bucket> CircleLayerFactory::createBucket(const BucketParameters& parameters, const std::vector<const RenderLayer*>& layers) noexcept { +std::unique_ptr<Bucket> CircleLayerFactory::createBucket(const BucketParameters& parameters, const std::vector<Immutable<style::LayerProperties>>& layers) noexcept { return std::make_unique<CircleBucket>(parameters, layers); } diff --git a/src/mbgl/layermanager/fill_extrusion_layer_factory.cpp b/src/mbgl/layermanager/fill_extrusion_layer_factory.cpp index b2558825ef..bc1647afa4 100644 --- a/src/mbgl/layermanager/fill_extrusion_layer_factory.cpp +++ b/src/mbgl/layermanager/fill_extrusion_layer_factory.cpp @@ -26,8 +26,10 @@ std::unique_ptr<style::Layer> FillExtrusionLayerFactory::createLayer(const std:: std::unique_ptr<Layout> FillExtrusionLayerFactory::createLayout(const LayoutParameters& parameters, std::unique_ptr<GeometryTileLayer> layer, - const std::vector<const RenderLayer*>& group) noexcept { - return std::make_unique<PatternLayout<FillExtrusionBucket>>(parameters.bucketParameters, group, std::move(layer), parameters.imageDependencies); + const std::vector<Immutable<style::LayerProperties>>& group) noexcept { + using namespace style; + using LayoutType = PatternLayout<FillExtrusionBucket, FillExtrusionLayerProperties, FillExtrusionPattern, FillExtrusionPaintProperties::PossiblyEvaluated>; + return std::make_unique<LayoutType>(parameters.bucketParameters, group, std::move(layer), parameters.imageDependencies); } std::unique_ptr<RenderLayer> FillExtrusionLayerFactory::createRenderLayer(Immutable<style::Layer::Impl> impl) noexcept { diff --git a/src/mbgl/layermanager/fill_layer_factory.cpp b/src/mbgl/layermanager/fill_layer_factory.cpp index 60a1818585..f9b59359c5 100644 --- a/src/mbgl/layermanager/fill_layer_factory.cpp +++ b/src/mbgl/layermanager/fill_layer_factory.cpp @@ -27,8 +27,10 @@ std::unique_ptr<style::Layer> FillLayerFactory::createLayer(const std::string& i std::unique_ptr<Layout> FillLayerFactory::createLayout(const LayoutParameters& parameters, std::unique_ptr<GeometryTileLayer> layer, - const std::vector<const RenderLayer*>& group) noexcept { - return std::make_unique<PatternLayout<FillBucket>>(parameters.bucketParameters, group, std::move(layer), parameters.imageDependencies); + const std::vector<Immutable<style::LayerProperties>>& group) noexcept { + using namespace style; + using LayoutType = PatternLayout<FillBucket, FillLayerProperties, FillPattern, FillPaintProperties::PossiblyEvaluated>; + return std::make_unique<LayoutType>(parameters.bucketParameters, group, std::move(layer), parameters.imageDependencies); } std::unique_ptr<RenderLayer> FillLayerFactory::createRenderLayer(Immutable<style::Layer::Impl> impl) noexcept { diff --git a/src/mbgl/layermanager/heatmap_layer_factory.cpp b/src/mbgl/layermanager/heatmap_layer_factory.cpp index 5d6a595b46..1cd5d18f79 100644 --- a/src/mbgl/layermanager/heatmap_layer_factory.cpp +++ b/src/mbgl/layermanager/heatmap_layer_factory.cpp @@ -24,7 +24,7 @@ std::unique_ptr<style::Layer> HeatmapLayerFactory::createLayer(const std::string return layer; } -std::unique_ptr<Bucket> HeatmapLayerFactory::createBucket(const BucketParameters& parameters, const std::vector<const RenderLayer*>& layers) noexcept { +std::unique_ptr<Bucket> HeatmapLayerFactory::createBucket(const BucketParameters& parameters, const std::vector<Immutable<style::LayerProperties>>& layers) noexcept { return std::make_unique<HeatmapBucket>(parameters, layers); } diff --git a/src/mbgl/layermanager/layer_factory.cpp b/src/mbgl/layermanager/layer_factory.cpp index ceeb304f44..f4967b0e5d 100644 --- a/src/mbgl/layermanager/layer_factory.cpp +++ b/src/mbgl/layermanager/layer_factory.cpp @@ -25,12 +25,14 @@ optional<std::string> LayerFactory::getSource(const style::conversion::Convertib return source; } -std::unique_ptr<Bucket> LayerFactory::createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) noexcept { +std::unique_ptr<Bucket> LayerFactory::createBucket(const BucketParameters&, const std::vector<Immutable<style::LayerProperties>>&) noexcept { assert(false); return nullptr; } -std::unique_ptr<Layout> LayerFactory::createLayout(const LayoutParameters&, std::unique_ptr<GeometryTileLayer>, const std::vector<const RenderLayer*>&) noexcept { +std::unique_ptr<Layout> LayerFactory::createLayout(const LayoutParameters&, + std::unique_ptr<GeometryTileLayer>, + const std::vector<Immutable<style::LayerProperties>>&) noexcept { assert(false); return nullptr; } diff --git a/src/mbgl/layermanager/layer_manager.cpp b/src/mbgl/layermanager/layer_manager.cpp index e6195caeba..1e2074cd70 100644 --- a/src/mbgl/layermanager/layer_manager.cpp +++ b/src/mbgl/layermanager/layer_manager.cpp @@ -25,7 +25,8 @@ std::unique_ptr<style::Layer> LayerManager::createLayer( return nullptr; } -std::unique_ptr<Bucket> LayerManager::createBucket(const BucketParameters& parameters, const std::vector<const RenderLayer*>& layers) noexcept { +std::unique_ptr<Bucket> LayerManager::createBucket(const BucketParameters& parameters, + const std::vector<Immutable<style::LayerProperties>>& layers) noexcept { assert(!layers.empty()); assert(parameters.layerType->layout == style::LayerTypeInfo::Layout::NotRequired); LayerFactory* factory = getFactory(parameters.layerType); @@ -35,7 +36,7 @@ std::unique_ptr<Bucket> LayerManager::createBucket(const BucketParameters& param std::unique_ptr<Layout> LayerManager::createLayout(const LayoutParameters& parameters, std::unique_ptr<GeometryTileLayer> tileLayer, - const std::vector<const RenderLayer*>& layers) noexcept { + const std::vector<Immutable<style::LayerProperties>>& layers) noexcept { assert(!layers.empty()); assert(parameters.bucketParameters.layerType->layout == style::LayerTypeInfo::Layout::Required); LayerFactory* factory = getFactory(parameters.bucketParameters.layerType); diff --git a/src/mbgl/layermanager/line_layer_factory.cpp b/src/mbgl/layermanager/line_layer_factory.cpp index 8bf756e159..212fb45665 100644 --- a/src/mbgl/layermanager/line_layer_factory.cpp +++ b/src/mbgl/layermanager/line_layer_factory.cpp @@ -26,8 +26,10 @@ std::unique_ptr<style::Layer> LineLayerFactory::createLayer(const std::string& i std::unique_ptr<Layout> LineLayerFactory::createLayout(const LayoutParameters& parameters, std::unique_ptr<GeometryTileLayer> layer, - const std::vector<const RenderLayer*>& group) noexcept { - return std::make_unique<PatternLayout<LineBucket>>(parameters.bucketParameters, group, std::move(layer), parameters.imageDependencies); + const std::vector<Immutable<style::LayerProperties>>& group) noexcept { + using namespace style; + using LayoutType = PatternLayout<LineBucket, LineLayerProperties, LinePattern, LinePaintProperties::PossiblyEvaluated, LineLayoutProperties::PossiblyEvaluated>; + return std::make_unique<LayoutType>(parameters.bucketParameters, group, std::move(layer), parameters.imageDependencies); } std::unique_ptr<RenderLayer> LineLayerFactory::createRenderLayer(Immutable<style::Layer::Impl> impl) noexcept { diff --git a/src/mbgl/layermanager/symbol_layer_factory.cpp b/src/mbgl/layermanager/symbol_layer_factory.cpp index d992741551..f5a4640db7 100644 --- a/src/mbgl/layermanager/symbol_layer_factory.cpp +++ b/src/mbgl/layermanager/symbol_layer_factory.cpp @@ -26,7 +26,7 @@ std::unique_ptr<style::Layer> SymbolLayerFactory::createLayer(const std::string& std::unique_ptr<Layout> SymbolLayerFactory::createLayout(const LayoutParameters& parameters, std::unique_ptr<GeometryTileLayer> tileLayer, - const std::vector<const RenderLayer*>& group) noexcept { + const std::vector<Immutable<style::LayerProperties>>& group) noexcept { return std::make_unique<SymbolLayout>(parameters.bucketParameters, group, std::move(tileLayer), |