diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2015-12-01 13:39:15 -0800 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2015-12-01 15:10:28 -0800 |
commit | 8afa14fa78e628007a983d00efa336674e499735 (patch) | |
tree | 8a003ea8f9e9739af53858af39feb68b367621ae /src | |
parent | 8a66b7047f899b781922986b63ecbe9039fcfafc (diff) | |
download | qtlocation-mapboxgl-8afa14fa78e628007a983d00efa336674e499735.tar.gz |
[core] Map::setSprite ⇢ Map::addAnnotationIcon
Fixes #3084
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/annotation/annotation_manager.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/annotation/annotation_manager.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/map/map.cpp | 24 | ||||
-rw-r--r-- | src/mbgl/map/map_context.cpp | 14 | ||||
-rw-r--r-- | src/mbgl/map/map_context.hpp | 5 |
5 files changed, 23 insertions, 28 deletions
diff --git a/src/mbgl/annotation/annotation_manager.cpp b/src/mbgl/annotation/annotation_manager.cpp index 83cf34ac66..7bff693fb2 100644 --- a/src/mbgl/annotation/annotation_manager.cpp +++ b/src/mbgl/annotation/annotation_manager.cpp @@ -157,12 +157,12 @@ void AnnotationManager::removeTileMonitor(AnnotationTileMonitor& monitor) { monitors.erase(&monitor); } -void AnnotationManager::setSprite(const std::string& name, std::shared_ptr<const SpriteImage> sprite) { +void AnnotationManager::addIcon(const std::string& name, std::shared_ptr<const SpriteImage> sprite) { spriteStore.setSprite(name, sprite); spriteAtlas.updateDirty(); } -double AnnotationManager::getTopOffsetPixelsForAnnotationSymbol(const std::string& name) { +double AnnotationManager::getTopOffsetPixelsForIcon(const std::string& name) { auto sprite = spriteStore.getSprite(name); return sprite ? -sprite->height / 2 : 0; } diff --git a/src/mbgl/annotation/annotation_manager.hpp b/src/mbgl/annotation/annotation_manager.hpp index 9fbbcc57c8..4b5742c6f7 100644 --- a/src/mbgl/annotation/annotation_manager.hpp +++ b/src/mbgl/annotation/annotation_manager.hpp @@ -33,8 +33,8 @@ public: AnnotationIDs getPointAnnotationsInBounds(const LatLngBounds&) const; LatLngBounds getBoundsForAnnotations(const AnnotationIDs&) const; - void setSprite(const std::string& name, std::shared_ptr<const SpriteImage>); - double getTopOffsetPixelsForAnnotationSymbol(const std::string& name); + void addIcon(const std::string& name, std::shared_ptr<const SpriteImage>); + double getTopOffsetPixelsForIcon(const std::string& name); SpriteAtlas& getSpriteAtlas() { return spriteAtlas; } void updateStyle(Style&); diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index 08265ae1e8..69994a8d86 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -367,8 +367,16 @@ LatLng Map::latLngForPixel(const PrecisionPoint& pixel) const { #pragma mark - Annotations -double Map::getTopOffsetPixelsForAnnotationSymbol(const std::string& symbol) { - return context->invokeSync<double>(&MapContext::getTopOffsetPixelsForAnnotationSymbol, symbol); +void Map::addAnnotationIcon(const std::string& name, std::shared_ptr<const SpriteImage> sprite) { + context->invoke(&MapContext::addAnnotationIcon, name, sprite); +} + +void Map::removeAnnotationIcon(const std::string& name) { + addAnnotationIcon(name, nullptr); +} + +double Map::getTopOffsetPixelsForAnnotationIcon(const std::string& symbol) { + return context->invokeSync<double>(&MapContext::getTopOffsetPixelsForAnnotationIcon, symbol); } AnnotationID Map::addPointAnnotation(const PointAnnotation& annotation) { @@ -408,18 +416,6 @@ LatLngBounds Map::getBoundsForAnnotations(const AnnotationIDs& annotations) { return data->getAnnotationManager()->getBoundsForAnnotations(annotations); } - -#pragma mark - Sprites - -void Map::setSprite(const std::string& name, std::shared_ptr<const SpriteImage> sprite) { - context->invoke(&MapContext::setSprite, name, sprite); -} - -void Map::removeSprite(const std::string& name) { - setSprite(name, nullptr); -} - - #pragma mark - Toggles void Map::setDebug(MapDebugOptions mode) { diff --git a/src/mbgl/map/map_context.cpp b/src/mbgl/map/map_context.cpp index 2a338e738b..c78a1b771d 100644 --- a/src/mbgl/map/map_context.cpp +++ b/src/mbgl/map/map_context.cpp @@ -267,9 +267,14 @@ bool MapContext::isLoaded() const { return style->isLoaded(); } -double MapContext::getTopOffsetPixelsForAnnotationSymbol(const std::string& symbol) { +void MapContext::addAnnotationIcon(const std::string& name, std::shared_ptr<const SpriteImage> sprite) { assert(util::ThreadContext::currentlyOn(util::ThreadType::Map)); - return data.getAnnotationManager()->getTopOffsetPixelsForAnnotationSymbol(symbol); + data.getAnnotationManager()->addIcon(name, sprite); +} + +double MapContext::getTopOffsetPixelsForAnnotationIcon(const std::string& name) { + assert(util::ThreadContext::currentlyOn(util::ThreadType::Map)); + return data.getAnnotationManager()->getTopOffsetPixelsForIcon(name); } void MapContext::setSourceTileCacheSize(size_t size) { @@ -289,11 +294,6 @@ void MapContext::onLowMemory() { asyncInvalidate.send(); } -void MapContext::setSprite(const std::string& name, std::shared_ptr<const SpriteImage> sprite) { - assert(util::ThreadContext::currentlyOn(util::ThreadType::Map)); - data.getAnnotationManager()->setSprite(name, sprite); -} - void MapContext::onTileDataChanged() { assert(util::ThreadContext::currentlyOn(util::ThreadType::Map)); updateFlags |= Update::Repaint; diff --git a/src/mbgl/map/map_context.hpp b/src/mbgl/map/map_context.hpp index 06be31ed85..f32054a252 100644 --- a/src/mbgl/map/map_context.hpp +++ b/src/mbgl/map/map_context.hpp @@ -48,7 +48,8 @@ public: bool isLoaded() const; - double getTopOffsetPixelsForAnnotationSymbol(const std::string& symbol); + void addAnnotationIcon(const std::string&, std::shared_ptr<const SpriteImage>); + double getTopOffsetPixelsForAnnotationIcon(const std::string&); void updateAnnotations(); void setSourceTileCacheSize(size_t size); @@ -56,8 +57,6 @@ public: void cleanup(); - void setSprite(const std::string&, std::shared_ptr<const SpriteImage>); - // Style::Observer implementation. void onTileDataChanged() override; void onResourceLoadingFailed(std::exception_ptr error) override; |