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/layout/symbol_layout.cpp | |
parent | 1a66a02097f0e3c95a4d06610fc0b7609f6d77b9 (diff) | |
download | qtlocation-mapboxgl-4b21560cf59877125ea0bdae1a2546ab06f1efb2.tar.gz |
[core] Use `style::LayerProperties` in render layers, buckets and layouts.
Diffstat (limited to 'src/mbgl/layout/symbol_layout.cpp')
-rw-r--r-- | src/mbgl/layout/symbol_layout.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index 03cfe506ec..0eb98f7569 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -40,16 +40,18 @@ expression::Value sectionOptionsToValue(const SectionOptions& options) { } return result; } -} // namespace +inline const SymbolLayerProperties& toSymbolLayerProperties(const Immutable<LayerProperties>& layer) { + return static_cast<const SymbolLayerProperties&>(*layer); +} +} // namespace SymbolLayout::SymbolLayout(const BucketParameters& parameters, - const std::vector<const RenderLayer*>& layers, + const std::vector<Immutable<style::LayerProperties>>& layers, std::unique_ptr<GeometryTileLayer> sourceLayer_, ImageDependencies& imageDependencies, GlyphDependencies& glyphDependencies) - : Layout(), - bucketLeaderID(layers.at(0)->getID()), + : bucketLeaderID(layers.front()->baseImpl->id), sourceLayer(std::move(sourceLayer_)), overscaling(parameters.tileID.overscaleFactor()), zoom(parameters.tileID.overscaledZ), @@ -57,11 +59,11 @@ SymbolLayout::SymbolLayout(const BucketParameters& parameters, pixelRatio(parameters.pixelRatio), tileSize(util::tileSize * overscaling), tilePixelRatio(float(util::EXTENT) / tileSize), - textSize(toRenderSymbolLayer(layers.at(0))->impl().layout.get<TextSize>()), - iconSize(toRenderSymbolLayer(layers.at(0))->impl().layout.get<IconSize>()) + textSize(toSymbolLayerProperties(layers.at(0)).layerImpl().layout.get<TextSize>()), + iconSize(toSymbolLayerProperties(layers.at(0)).layerImpl().layout.get<IconSize>()) { - const SymbolLayer::Impl& leader = toRenderSymbolLayer(layers.at(0))->impl(); + const SymbolLayer::Impl& leader = toSymbolLayerProperties(layers.at(0)).layerImpl(); layout = leader.layout.evaluate(PropertyEvaluationParameters(zoom)); @@ -104,7 +106,7 @@ SymbolLayout::SymbolLayout(const BucketParameters& parameters, layout.get<TextIgnorePlacement>() || layout.get<IconIgnorePlacement>()); for (const auto& layer : layers) { - layerPaintProperties.emplace(layer->getID(), toRenderSymbolLayer(layer)->evaluated); + layerPaintProperties.emplace(layer->baseImpl->id, toSymbolLayerProperties(layer).evaluated); } // Determine glyph dependencies |