summaryrefslogtreecommitdiff
path: root/src/mbgl/map/map_context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/map/map_context.cpp')
-rw-r--r--src/mbgl/map/map_context.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/mbgl/map/map_context.cpp b/src/mbgl/map/map_context.cpp
index 32cf760afa..17d91ab861 100644
--- a/src/mbgl/map/map_context.cpp
+++ b/src/mbgl/map/map_context.cpp
@@ -243,7 +243,7 @@ bool MapContext::renderSync(const TransformState& state, const FrameData& frame)
glObjectStore.performCleanup();
if (!painter) painter = std::make_unique<Painter>(data, transformState);
- painter->render(*style, frame);
+ painter->render(*style, frame, data.getAnnotationManager()->getSpriteAtlas());
if (data.mode == MapMode::Still) {
callback(nullptr, std::move(view.readStillImage()));
@@ -269,12 +269,7 @@ bool MapContext::isLoaded() const {
double MapContext::getTopOffsetPixelsForAnnotationSymbol(const std::string& symbol) {
assert(util::ThreadContext::currentlyOn(util::ThreadType::Map));
- auto sprite = style->spriteStore->getSprite(symbol);
- if (sprite) {
- return -sprite->height / 2;
- } else {
- return 0;
- }
+ return data.getAnnotationManager()->getTopOffsetPixelsForAnnotationSymbol(symbol);
}
void MapContext::setSourceTileCacheSize(size_t size) {
@@ -299,14 +294,8 @@ void MapContext::onLowMemory() {
}
void MapContext::setSprite(const std::string& name, std::shared_ptr<const SpriteImage> sprite) {
- if (!style) {
- Log::Info(Event::Sprite, "Ignoring sprite without stylesheet");
- return;
- }
-
- style->spriteStore->setSprite(name, sprite);
-
- style->spriteAtlas->updateDirty();
+ assert(util::ThreadContext::currentlyOn(util::ThreadType::Map));
+ data.getAnnotationManager()->setSprite(name, sprite);
}
void MapContext::onTileDataChanged() {