diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-02-28 14:11:15 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-03-03 16:13:48 +0200 |
commit | dea10633197fbcf949e48ffc0a46fd75bbcb057d (patch) | |
tree | c708ae9d384ed4221f3f8b112b5d53d2d1e94c38 /src/mbgl/text/placement.cpp | |
parent | ffe95ec7d3e4f8bf5274b308d39e5a5a6bd13339 (diff) | |
download | qtlocation-mapboxgl-dea10633197fbcf949e48ffc0a46fd75bbcb057d.tar.gz |
[core] Encapsulate placement code handling symbols sort ranges
Diffstat (limited to 'src/mbgl/text/placement.cpp')
-rw-r--r-- | src/mbgl/text/placement.cpp | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/src/mbgl/text/placement.cpp b/src/mbgl/text/placement.cpp index 57cf1f0f1f..398e0f9e03 100644 --- a/src/mbgl/text/placement.cpp +++ b/src/mbgl/text/placement.cpp @@ -113,12 +113,7 @@ void Placement::placeLayer(const RenderLayer& layer) { std::set<uint32_t> seenCrossTileIDs; for (const auto& item : layer.getPlacementData()) { Bucket& bucket = item.bucket; - BucketPlacementParameters params{item.tile, - layer.baseImpl->source, - item.featureIndex, - item.sortKey, - item.symbolInstanceStart, - item.symbolInstanceEnd}; + BucketPlacementParameters params{item.tile, layer.baseImpl->source, item.featureIndex, item.sortKeyRange}; bucket.place(*this, params, seenCrossTileIDs); } } @@ -661,12 +656,8 @@ void Placement::placeBucket(const SymbolBucket& bucket, } } else { - auto beginIt = bucket.symbolInstances.begin() + params.symbolInstanceStart; - auto endIt = bucket.symbolInstances.begin() + params.symbolInstanceEnd; - assert(params.symbolInstanceStart < params.symbolInstanceEnd); - assert(params.symbolInstanceEnd <= bucket.symbolInstances.size()); - for (auto it = beginIt; it != endIt; ++it) { - placeSymbol(*it); + for (const SymbolInstance& symbol : bucket.getSymbols(params.sortKeyRange)) { + placeSymbol(symbol); } } |