diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-04-07 23:24:17 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-04-17 17:21:41 +0300 |
commit | 7a7192516ffa9b4ed5b94b60961a4dc74fcf6e64 (patch) | |
tree | 432a69b7a31b833304ccafcffe83b0cfe00d3c1f /src/mbgl/layout/symbol_layout.cpp | |
parent | 4b21560cf59877125ea0bdae1a2546ab06f1efb2 (diff) | |
download | qtlocation-mapboxgl-7a7192516ffa9b4ed5b94b60961a4dc74fcf6e64.tar.gz |
[core] Introduce `LayerRenderData`. Source::update() accepts layer properties.
Diffstat (limited to 'src/mbgl/layout/symbol_layout.cpp')
-rw-r--r-- | src/mbgl/layout/symbol_layout.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index 0eb98f7569..d8d143632c 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -12,6 +12,7 @@ #include <mbgl/util/i18n.hpp> #include <mbgl/util/platform.hpp> #include <mbgl/tile/geometry_tile_data.hpp> +#include <mbgl/tile/tile.hpp> #include <mapbox/polylabel.hpp> @@ -106,7 +107,7 @@ SymbolLayout::SymbolLayout(const BucketParameters& parameters, layout.get<TextIgnorePlacement>() || layout.get<IconIgnorePlacement>()); for (const auto& layer : layers) { - layerPaintProperties.emplace(layer->baseImpl->id, toSymbolLayerProperties(layer).evaluated); + layerPaintProperties.emplace(layer->baseImpl->id, layer); } // Determine glyph dependencies @@ -555,7 +556,7 @@ std::vector<float> CalculateTileDistances(const GeometryCoordinates& line, const return tileDistances; } -void SymbolLayout::createBucket(const ImagePositions&, std::unique_ptr<FeatureIndex>&, std::unordered_map<std::string, std::shared_ptr<Bucket>>& buckets, const bool firstLoad, const bool showCollisionBoxes) { +void SymbolLayout::createBucket(const ImagePositions&, std::unique_ptr<FeatureIndex>&, std::unordered_map<std::string, LayerRenderData>& renderData, const bool firstLoad, const bool showCollisionBoxes) { auto bucket = std::make_shared<SymbolBucket>(layout, layerPaintProperties, textSize, iconSize, zoom, sdfIcons, iconsNeedLinear, sortFeaturesByY, bucketLeaderID, std::move(symbolInstances), tilePixelRatio); for (SymbolInstance &symbolInstance : bucket->symbolInstances) { @@ -618,7 +619,7 @@ void SymbolLayout::createBucket(const ImagePositions&, std::unique_ptr<FeatureIn if (!firstLoad) { bucket->justReloaded = true; } - buckets.emplace(pair.first, bucket); + renderData.emplace(pair.first, LayerRenderData{bucket, pair.second}); } } |