summaryrefslogtreecommitdiff
path: root/src/mbgl/annotation
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-04-21 14:52:19 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-04-24 15:52:28 -0700
commit5dd98df50ba1210b1eef0d8d6655713a725f2995 (patch)
treeb289bb3cbad5d1c3076816f4891a057d6089fc93 /src/mbgl/annotation
parent6f708ac5458fe332e25ca398431928b7ff5ba404 (diff)
downloadqtlocation-mapboxgl-5dd98df50ba1210b1eef0d8d6655713a725f2995.tar.gz
[all] Rationalize style::Image
A style has a collection of images, just as it has collections of sources and layers. * Name things appropriately * Use std::unique_ptr
Diffstat (limited to 'src/mbgl/annotation')
-rw-r--r--src/mbgl/annotation/annotation_manager.cpp14
-rw-r--r--src/mbgl/annotation/annotation_manager.hpp7
2 files changed, 11 insertions, 10 deletions
diff --git a/src/mbgl/annotation/annotation_manager.cpp b/src/mbgl/annotation/annotation_manager.cpp
index f2b2b1837f..049c900b95 100644
--- a/src/mbgl/annotation/annotation_manager.cpp
+++ b/src/mbgl/annotation/annotation_manager.cpp
@@ -208,17 +208,17 @@ void AnnotationManager::removeTile(AnnotationTile& tile) {
tiles.erase(&tile);
}
-void AnnotationManager::addIcon(const std::string& name, std::shared_ptr<const SpriteImage> sprite) {
- spriteAtlas.setSprite(name, sprite);
+void AnnotationManager::addImage(const std::string& id, std::unique_ptr<style::Image> image) {
+ spriteAtlas.addImage(id, std::move(image));
}
-void AnnotationManager::removeIcon(const std::string& name) {
- spriteAtlas.removeSprite(name);
+void AnnotationManager::removeImage(const std::string& id) {
+ spriteAtlas.removeImage(id);
}
-double AnnotationManager::getTopOffsetPixelsForIcon(const std::string& name) {
- auto sprite = spriteAtlas.getSprite(name);
- return sprite ? -(sprite->image.size.height / sprite->pixelRatio) / 2 : 0;
+double AnnotationManager::getTopOffsetPixelsForImage(const std::string& id) {
+ const style::Image* image = spriteAtlas.getImage(id);
+ return image ? -(image->image.size.height / image->pixelRatio) / 2 : 0;
}
} // namespace mbgl
diff --git a/src/mbgl/annotation/annotation_manager.hpp b/src/mbgl/annotation/annotation_manager.hpp
index d254a360e0..5e2994c44e 100644
--- a/src/mbgl/annotation/annotation_manager.hpp
+++ b/src/mbgl/annotation/annotation_manager.hpp
@@ -20,6 +20,7 @@ class ShapeAnnotationImpl;
namespace style {
class Style;
+class Image;
} // namespace style
class AnnotationManager : private util::noncopyable {
@@ -31,9 +32,9 @@ public:
Update updateAnnotation(const AnnotationID&, const Annotation&, const uint8_t maxZoom);
void removeAnnotation(const AnnotationID&);
- void addIcon(const std::string& name, std::shared_ptr<const SpriteImage>);
- void removeIcon(const std::string& name);
- double getTopOffsetPixelsForIcon(const std::string& name);
+ void addImage(const std::string&, std::unique_ptr<style::Image>);
+ void removeImage(const std::string&);
+ double getTopOffsetPixelsForImage(const std::string&);
SpriteAtlas& getSpriteAtlas() { return spriteAtlas; }
void updateStyle(style::Style&);