diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2014-11-21 15:54:14 -0800 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2014-11-26 15:13:13 -0800 |
commit | 8c3e39a5167991e628db981e73eb39f69dd4f86a (patch) | |
tree | 05e6d938288f154dda02bc0b882b34ab24e57ef0 /src | |
parent | 8e33076bf116584b1ed0b9bdafdff2f0438afc26 (diff) | |
download | qtlocation-mapboxgl-8c3e39a5167991e628db981e73eb39f69dd4f86a.tar.gz |
Eliminate Map::getGlyphStore()
Diffstat (limited to 'src')
-rw-r--r-- | src/map/map.cpp | 2 | ||||
-rw-r--r-- | src/map/source.cpp | 19 | ||||
-rw-r--r-- | src/map/tile_parser.cpp | 5 | ||||
-rw-r--r-- | src/map/vector_tile_data.cpp | 9 |
4 files changed, 22 insertions, 13 deletions
diff --git a/src/map/map.cpp b/src/map/map.cpp index 355a36c56d..fbfc6abd3a 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -642,7 +642,7 @@ void Map::updateSources(const util::ptr<StyleLayerGroup> &group) { void Map::updateTiles() { for (const util::ptr<StyleSource> &source : getActiveSources()) { - source->source->update(*this, glyphAtlas, spriteAtlas, *fileSource); + source->source->update(*this, glyphAtlas, *glyphStore, spriteAtlas, *fileSource); } } diff --git a/src/map/source.cpp b/src/map/source.cpp index 6b1ab2a403..b11b9dd460 100644 --- a/src/map/source.cpp +++ b/src/map/source.cpp @@ -61,9 +61,11 @@ void Source::load(Map& map, FileSource& fileSource) { }); } -bool Source::update(Map& map, GlyphAtlas& glyphAtlas, SpriteAtlas& spriteAtlas, FileSource& fileSource) { +bool Source::update(Map& map, + GlyphAtlas& glyphAtlas, GlyphStore& glyphStore, + SpriteAtlas& spriteAtlas, FileSource& fileSource) { if (loaded && map.getTime() > updated) { - return updateTiles(map, glyphAtlas, spriteAtlas, fileSource); + return updateTiles(map, glyphAtlas, glyphStore, spriteAtlas, fileSource); } else { return false; } @@ -159,7 +161,10 @@ TileData::State Source::hasTile(const Tile::ID& id) { return TileData::State::invalid; } -TileData::State Source::addTile(Map& map, GlyphAtlas& glyphAtlas, SpriteAtlas& spriteAtlas, FileSource& fileSource, const Tile::ID& id) { +TileData::State Source::addTile(Map& map, + GlyphAtlas& glyphAtlas, GlyphStore& glyphStore, + SpriteAtlas& spriteAtlas, + FileSource& fileSource, const Tile::ID& id) { const TileData::State state = hasTile(id); if (state != TileData::State::invalid) { @@ -187,7 +192,7 @@ TileData::State Source::addTile(Map& map, GlyphAtlas& glyphAtlas, SpriteAtlas& s if (!new_tile.data) { // If we don't find working tile data, we're just going to load it. if (info->type == SourceType::Vector) { - new_tile.data = std::make_shared<VectorTileData>(normalized_id, map, glyphAtlas, spriteAtlas, info); + new_tile.data = std::make_shared<VectorTileData>(normalized_id, map, glyphAtlas, glyphStore, spriteAtlas, info); } else if (info->type == SourceType::Raster) { new_tile.data = std::make_shared<RasterTileData>(normalized_id, map, info); } else { @@ -281,7 +286,9 @@ bool Source::findLoadedParent(const Tile::ID& id, int32_t minCoveringZoom, std:: return false; } -bool Source::updateTiles(Map& map, GlyphAtlas& glyphAtlas, SpriteAtlas& spriteAtlas, FileSource& fileSource) { +bool Source::updateTiles(Map& map, + GlyphAtlas& glyphAtlas, GlyphStore& glyphStore, + SpriteAtlas& spriteAtlas, FileSource& fileSource) { bool changed = false; int32_t zoom = std::floor(getZoom(map.getState())); @@ -298,7 +305,7 @@ bool Source::updateTiles(Map& map, GlyphAtlas& glyphAtlas, SpriteAtlas& spriteAt // Add existing child/parent tiles if the actual tile is not yet loaded for (const Tile::ID& id : required) { - const TileData::State state = addTile(map, glyphAtlas, spriteAtlas, fileSource, id); + const TileData::State state = addTile(map, glyphAtlas, glyphStore, spriteAtlas, fileSource, id); if (state != TileData::State::parsed) { // The tile we require is not yet loaded. Try to find a parent or diff --git a/src/map/tile_parser.cpp b/src/map/tile_parser.cpp index e707cde620..768b7da9fd 100644 --- a/src/map/tile_parser.cpp +++ b/src/map/tile_parser.cpp @@ -32,7 +32,7 @@ TileParser::~TileParser() = default; TileParser::TileParser(const std::string &data, VectorTileData &tile_, const util::ptr<const Style> &style_, GlyphAtlas & glyphAtlas_, - const util::ptr<GlyphStore> &glyphStore_, + GlyphStore & glyphStore_, SpriteAtlas & spriteAtlas_, const util::ptr<Sprite> &sprite_) : vector_data(pbf((const uint8_t *)data.data(), data.size())), @@ -45,7 +45,6 @@ TileParser::TileParser(const std::string &data, VectorTileData &tile_, collision(std::make_unique<Collision>(tile.id.z, 4096, tile.source->tile_size, tile.depth)) { assert(&tile != nullptr); assert(style); - assert(glyphStore); assert(sprite); assert(collision); } @@ -167,7 +166,7 @@ std::unique_ptr<Bucket> TileParser::createLineBucket(const VectorTileLayer& laye std::unique_ptr<Bucket> TileParser::createSymbolBucket(const VectorTileLayer& layer, const FilterExpression &filter, const StyleBucketSymbol &symbol) { std::unique_ptr<SymbolBucket> bucket = std::make_unique<SymbolBucket>(symbol, *collision); - bucket->addFeatures(layer, filter, tile.id, spriteAtlas, *sprite, glyphAtlas, *glyphStore); + bucket->addFeatures(layer, filter, tile.id, spriteAtlas, *sprite, glyphAtlas, glyphStore); return obsolete() ? nullptr : std::move(bucket); } diff --git a/src/map/vector_tile_data.cpp b/src/map/vector_tile_data.cpp index 93b3e953cb..d2f73269c0 100644 --- a/src/map/vector_tile_data.cpp +++ b/src/map/vector_tile_data.cpp @@ -9,10 +9,12 @@ using namespace mbgl; VectorTileData::VectorTileData(Tile::ID const& id_, Map &map_, - GlyphAtlas& glyphAtlas_, SpriteAtlas& spriteAtlas_, + GlyphAtlas& glyphAtlas_, GlyphStore& glyphStore_, + SpriteAtlas& spriteAtlas_, const util::ptr<SourceInfo> &source_) : TileData(id_, map_, source_), glyphAtlas(glyphAtlas_), + glyphStore(glyphStore_), spriteAtlas(spriteAtlas_), depth(id.z >= source->max_zoom ? map.getMaxZoom() - id.z : 1) { } @@ -31,8 +33,9 @@ void VectorTileData::parse() { // Parsing creates state that is encapsulated in TileParser. While parsing, // the TileParser object writes results into this objects. All other state // is going to be discarded afterwards. - TileParser parser(data, *this, map.getStyle(), glyphAtlas, - map.getGlyphStore(), spriteAtlas, map.getSprite()); + TileParser parser(data, *this, map.getStyle(), + glyphAtlas, glyphStore, + spriteAtlas, map.getSprite()); parser.parse(); } catch (const std::exception& ex) { #if defined(DEBUG) |