summaryrefslogtreecommitdiff
path: root/src/mbgl/annotation
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-04-26 12:42:17 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-04-26 16:29:44 -0700
commit1c42daa152c1e7302c0997c00e206cf7c4b33d73 (patch)
treeedc0115651ed5e2931c8362016d2e7da5928f3ea /src/mbgl/annotation
parentea0e45b4019ea18c03718e67a3397202080a644a (diff)
downloadqtlocation-mapboxgl-1c42daa152c1e7302c0997c00e206cf7c4b33d73.tar.gz
[core] Tweak handling of annotation special case SpriteAtlas
* Simplify SymbolLayout; it never needs to care about more than one SpriteAtlas. * Move the reference from SymbolLayer::Impl to SymbolBucket. This is a prerequisite for making layer Impls immutable.
Diffstat (limited to 'src/mbgl/annotation')
-rw-r--r--src/mbgl/annotation/annotation_manager.cpp2
-rw-r--r--src/mbgl/annotation/annotation_manager.hpp2
-rw-r--r--src/mbgl/annotation/annotation_tile.cpp5
3 files changed, 6 insertions, 3 deletions
diff --git a/src/mbgl/annotation/annotation_manager.cpp b/src/mbgl/annotation/annotation_manager.cpp
index 049c900b95..88153f5fb7 100644
--- a/src/mbgl/annotation/annotation_manager.cpp
+++ b/src/mbgl/annotation/annotation_manager.cpp
@@ -175,8 +175,6 @@ void AnnotationManager::updateStyle(Style& style) {
layer->setIconAllowOverlap(true);
layer->setIconIgnorePlacement(true);
- layer->impl->spriteAtlas = &spriteAtlas;
-
style.addLayer(std::move(layer));
}
diff --git a/src/mbgl/annotation/annotation_manager.hpp b/src/mbgl/annotation/annotation_manager.hpp
index 5e2994c44e..0ab43bec15 100644
--- a/src/mbgl/annotation/annotation_manager.hpp
+++ b/src/mbgl/annotation/annotation_manager.hpp
@@ -75,6 +75,8 @@ private:
std::unordered_set<std::string> obsoleteShapeAnnotationLayers;
std::unordered_set<AnnotationTile*> tiles;
SpriteAtlas spriteAtlas;
+
+ friend class AnnotationTile;
};
} // namespace mbgl
diff --git a/src/mbgl/annotation/annotation_tile.cpp b/src/mbgl/annotation/annotation_tile.cpp
index 9d28f67785..fd182b70bc 100644
--- a/src/mbgl/annotation/annotation_tile.cpp
+++ b/src/mbgl/annotation/annotation_tile.cpp
@@ -3,6 +3,7 @@
#include <mbgl/util/constants.hpp>
#include <mbgl/storage/file_source.hpp>
#include <mbgl/style/update_parameters.hpp>
+#include <mbgl/style/style.hpp>
#include <utility>
@@ -10,7 +11,9 @@ namespace mbgl {
AnnotationTile::AnnotationTile(const OverscaledTileID& overscaledTileID,
const style::UpdateParameters& parameters)
- : GeometryTile(overscaledTileID, AnnotationManager::SourceID, parameters),
+ : GeometryTile(overscaledTileID, AnnotationManager::SourceID, parameters,
+ *parameters.style.glyphAtlas,
+ parameters.annotationManager.spriteAtlas),
annotationManager(parameters.annotationManager) {
annotationManager.addTile(*this);
}