diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-04-21 14:52:19 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-04-24 15:52:28 -0700 |
commit | 5dd98df50ba1210b1eef0d8d6655713a725f2995 (patch) | |
tree | b289bb3cbad5d1c3076816f4891a057d6089fc93 /src/mbgl/annotation | |
parent | 6f708ac5458fe332e25ca398431928b7ff5ba404 (diff) | |
download | qtlocation-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.cpp | 14 | ||||
-rw-r--r-- | src/mbgl/annotation/annotation_manager.hpp | 7 |
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&); |