diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-15 14:24:26 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-19 18:15:33 +0300 |
commit | 0e45138547e906a0a3d918e9ace262e53d35fb46 (patch) | |
tree | e12a7f16cc440b48f1ce5563340ac15876c31def /src/mbgl/renderer/buckets/symbol_bucket.cpp | |
parent | 52a69044e8a5dfc1df518673e83909b184040615 (diff) | |
download | qtlocation-mapboxgl-0e45138547e906a0a3d918e9ace262e53d35fb46.tar.gz |
[core] RenderLayerSymbolInterface is not used in CrossTileSymbolIndex
Diffstat (limited to 'src/mbgl/renderer/buckets/symbol_bucket.cpp')
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mbgl/renderer/buckets/symbol_bucket.cpp b/src/mbgl/renderer/buckets/symbol_bucket.cpp index f290288114..3192e694c8 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.cpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.cpp @@ -2,11 +2,15 @@ #include <mbgl/renderer/layers/render_symbol_layer.hpp> #include <mbgl/renderer/bucket_parameters.hpp> #include <mbgl/style/layers/symbol_layer_impl.hpp> +#include <mbgl/text/cross_tile_symbol_index.hpp> #include <mbgl/text/glyph_atlas.hpp> namespace mbgl { using namespace style; +namespace { + std::atomic<uint32_t> maxBucketInstanceId; +} // namespace SymbolBucket::SymbolBucket(style::SymbolLayoutProperties::PossiblyEvaluated layout_, const std::map<std::string, Immutable<style::LayerProperties>>& paintProperties_, @@ -27,7 +31,8 @@ SymbolBucket::SymbolBucket(style::SymbolLayoutProperties::PossiblyEvaluated layo symbolInstances(std::move(symbolInstances_)), textSizeBinder(SymbolSizeBinder::create(zoom, textSize, TextSize::defaultValue())), iconSizeBinder(SymbolSizeBinder::create(zoom, iconSize, IconSize::defaultValue())), - tilePixelRatio(tilePixelRatio_) { + tilePixelRatio(tilePixelRatio_), + bucketInstanceId(++maxBucketInstanceId) { for (const auto& pair : paintProperties_) { const auto& evaluated = getEvaluated<SymbolLayerProperties>(pair.second); @@ -239,4 +244,9 @@ bool SymbolBucket::hasFormatSectionOverrides() const { return *hasFormatSectionOverrides_; } +std::pair<uint32_t, bool> SymbolBucket::registerAtCrossTileIndex(CrossTileSymbolLayerIndex& index, const OverscaledTileID& tileID, uint32_t& maxCrossTileID) { + bool added = index.addBucket(tileID, *this, maxCrossTileID); + return std::make_pair(bucketInstanceId, added); +} + } // namespace mbgl |