summaryrefslogtreecommitdiff
path: root/src/mbgl/sprite/sprite_store.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/sprite/sprite_store.cpp')
-rw-r--r--src/mbgl/sprite/sprite_store.cpp36
1 files changed, 15 insertions, 21 deletions
diff --git a/src/mbgl/sprite/sprite_store.cpp b/src/mbgl/sprite/sprite_store.cpp
index e051b969a1..15a345cc4d 100644
--- a/src/mbgl/sprite/sprite_store.cpp
+++ b/src/mbgl/sprite/sprite_store.cpp
@@ -32,14 +32,10 @@ void SpriteStore::setURL(const std::string& url) {
return;
}
- std::string spriteURL(url + (pixelRatio > 1 ? "@2x" : "") + ".png");
- std::string jsonURL(url + (pixelRatio > 1 ? "@2x" : "") + ".json");
-
loader = std::make_unique<Loader>();
FileSource* fs = util::ThreadContext::getFileSource();
- loader->jsonRequest = fs->request({ Resource::Kind::SpriteJSON, jsonURL },
- [this, jsonURL](Response res) {
+ loader->jsonRequest = fs->request(Resource::spriteJSON(url, pixelRatio), [this](Response res) {
if (res.error) {
observer->onSpriteError(std::make_exception_ptr(std::runtime_error(res.error->message)));
return;
@@ -57,24 +53,22 @@ void SpriteStore::setURL(const std::string& url) {
}
});
- loader->spriteRequest =
- fs->request({ Resource::Kind::SpriteImage, spriteURL },
- [this, spriteURL](Response res) {
- if (res.error) {
- observer->onSpriteError(std::make_exception_ptr(std::runtime_error(res.error->message)));
- return;
- }
+ loader->spriteRequest = fs->request(Resource::spriteImage(url, pixelRatio), [this](Response res) {
+ if (res.error) {
+ observer->onSpriteError(std::make_exception_ptr(std::runtime_error(res.error->message)));
+ return;
+ }
- if (res.notModified) {
- // We got the same data back as last time. Abort early.
- return;
- }
+ if (res.notModified) {
+ // We got the same data back as last time. Abort early.
+ return;
+ }
- if (!loader->image || *loader->image != *res.data) {
- loader->image = res.data;
- emitSpriteLoadedIfComplete();
- }
- });
+ if (!loader->image || *loader->image != *res.data) {
+ loader->image = res.data;
+ emitSpriteLoadedIfComplete();
+ }
+ });
}
void SpriteStore::emitSpriteLoadedIfComplete() {