diff options
author | Chris Loer <chris.loer@gmail.com> | 2017-03-31 14:53:18 -0700 |
---|---|---|
committer | Chris Loer <chris.loer@mapbox.com> | 2017-04-04 11:33:12 -0700 |
commit | 5cdf838a387cae446dba500ac49a1c5524bf7949 (patch) | |
tree | 3b438034a7842c36a7804096785fca1a6ad6fa80 /src/mbgl/text/glyph_pbf.hpp | |
parent | 64beba3accb0f2088b2e01fad710f915c81d99c7 (diff) | |
download | qtlocation-mapboxgl-5cdf838a387cae446dba500ac49a1c5524bf7949.tar.gz |
[core] De-mutex GlyphAtlas and SpriteAtlas
- Expose glyph and icon information to workers via message interface.
- Glyph/SpriteAtlas track which tiles have outstanding requests
and send messages to them when glyphs/icons become available.
- Remove obsolete "updateSymbolDependentTiles" pathway
- Symbol preparation for a tile now depends on all glyphs becoming
available before it can start.
- Start tracking individual icons needed for a tile, although we don't
do anything with the information yet.
- Introduce typedef for GlyphID
Diffstat (limited to 'src/mbgl/text/glyph_pbf.hpp')
-rw-r--r-- | src/mbgl/text/glyph_pbf.hpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mbgl/text/glyph_pbf.hpp b/src/mbgl/text/glyph_pbf.hpp index 7412ebe411..d5b89cd107 100644 --- a/src/mbgl/text/glyph_pbf.hpp +++ b/src/mbgl/text/glyph_pbf.hpp @@ -8,10 +8,12 @@ #include <functional> #include <string> #include <memory> +#include <unordered_map> namespace mbgl { class GlyphAtlas; +class GlyphRequestor; class GlyphAtlasObserver; class AsyncRequest; class FileSource; @@ -29,10 +31,10 @@ public: return parsed; } -private: - std::atomic<bool> parsed; + bool parsed; std::unique_ptr<AsyncRequest> req; GlyphAtlasObserver* observer = nullptr; + std::unordered_map<GlyphRequestor*, std::shared_ptr<GlyphDependencies>> requestors; }; } // namespace mbgl |