diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-16 14:37:40 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-19 18:15:33 +0300 |
commit | f2ad89c463c6110d89caacd2ae62e85efb78af17 (patch) | |
tree | 831adee6ca63ce6a9678a8ee42c44fc9bc5ad126 /src/mbgl/renderer/layers/render_symbol_layer.cpp | |
parent | 44fd6dcf7c0ef477a8108f878834cadf01a625f2 (diff) | |
download | qtlocation-mapboxgl-f2ad89c463c6110d89caacd2ae62e85efb78af17.tar.gz |
[core] Remove RenderLayerSymbolInterface
Diffstat (limited to 'src/mbgl/renderer/layers/render_symbol_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 35 |
1 files changed, 10 insertions, 25 deletions
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index 219ea43430..644056f24d 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -412,22 +412,6 @@ bool RenderSymbolLayer::hasCrossfade() const { return false; } -const std::string& RenderSymbolLayer::layerID() const { - return RenderLayer::getID(); -} - -const RenderLayerSymbolInterface* RenderSymbolLayer::getSymbolInterface() const { - return this; -} - -const std::vector<std::reference_wrapper<RenderTile>>& RenderSymbolLayer::getRenderTiles() const { - return renderTiles; -} - -SymbolBucket* RenderSymbolLayer::getSymbolBucket(const RenderTile& renderTile) const { - return renderTile.tile.getBucket<SymbolBucket>(*baseImpl); -} - void RenderSymbolLayer::upload(gfx::UploadPass& uploadPass, UploadParameters& uploadParameters) { for (const RenderTile& tile : renderTiles) { const LayerRenderData* renderData = tile.tile.getLayerRenderData(*baseImpl); @@ -670,17 +654,18 @@ style::TextPaintProperties::PossiblyEvaluated RenderSymbolLayer::textPaintProper void RenderSymbolLayer::setRenderTiles(RenderTiles tiles, const TransformState& state) { renderTiles = std::move(tiles); - // Sort symbol tiles in opposite y position, so tiles with overlapping symbols are drawn - // on top of each other, with lower symbols being drawn on top of higher symbols. - std::sort(renderTiles.begin(), renderTiles.end(), [&state](const auto& a, const auto& b) { - Point<float> pa(a.get().id.canonical.x, a.get().id.canonical.y); - Point<float> pb(b.get().id.canonical.x, b.get().id.canonical.y); + const auto comp = [bearing = state.getBearing()](const RenderTile& a, const RenderTile& b) { + Point<float> pa(a.id.canonical.x, a.id.canonical.y); + Point<float> pb(b.id.canonical.x, b.id.canonical.y); - auto par = util::rotate(pa, state.getBearing()); - auto pbr = util::rotate(pb, state.getBearing()); + auto par = util::rotate(pa, bearing); + auto pbr = util::rotate(pb, bearing); - return std::tie(b.get().id.canonical.z, par.y, par.x) < std::tie(a.get().id.canonical.z, pbr.y, pbr.x); - }); + return std::tie(b.id.canonical.z, par.y, par.x) < std::tie(a.id.canonical.z, pbr.y, pbr.x); + }; + // Sort symbol tiles in opposite y position, so tiles with overlapping symbols are drawn + // on top of each other, with lower symbols being drawn on top of higher symbols. + std::sort(renderTiles.begin(), renderTiles.end(), comp); placementData.clear(); for (RenderTile& renderTile : renderTiles) { |