diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-09-08 12:31:36 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-09-14 13:41:56 -0700 |
commit | c8217a873940264387a7d8101f968798ac7d543e (patch) | |
tree | bf3e32b78cad4681974afa99eb14b6b579dd0343 /cmake | |
parent | 0bdd968d2b6eb0a12c5f2879a6a8801c96a35d85 (diff) | |
download | qtlocation-mapboxgl-c8217a873940264387a7d8101f968798ac7d543e.tar.gz |
[core] Extract SymbolLayout from SymbolBucket
SymbolLayout lives on the worker thread and contains the persistent data needed for repeated placement. SymbolBucket contains the data generated during placement, and is transferred to the main thread for rendering.
This eliminates the risky sharing of GeometryTile::buckets between the main thread and worker thread during TileWorker::redoPlacement.
While here, rationalize the names of states a SymbolLayout may be in:
* Pending: Waiting for the necessary glyphs or icons to be available.
* Prepared: The potential positions of text and icons have been determined.
* Placed: The final positions have been determined, taking into account prior layers.
In TileWorker, all SymbolLayouts are stored in a single vector. Each SymbolLayout knows what state it is in, and TileWorker can easily determine how much progress it can make toward a final result.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/core-files.cmake | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/cmake/core-files.cmake b/cmake/core-files.cmake index eafe513d22..20aa4dfd0c 100644 --- a/cmake/core-files.cmake +++ b/cmake/core-files.cmake @@ -79,6 +79,10 @@ set(MBGL_CORE_FILES src/mbgl/gl/object_store.cpp src/mbgl/gl/object_store.hpp + # layout + src/mbgl/layout/symbol_layout.cpp + src/mbgl/layout/symbol_layout.hpp + # map include/mbgl/map/camera.hpp include/mbgl/map/map.hpp @@ -250,6 +254,7 @@ set(MBGL_CORE_FILES src/mbgl/style/tile_source_impl.cpp src/mbgl/style/tile_source_impl.hpp src/mbgl/style/types.cpp + src/mbgl/style/update_batch.hpp src/mbgl/style/update_parameters.hpp # style/conversion |