diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-08-11 16:57:33 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-08-11 16:57:33 +0200 |
commit | 7a98ad4cf949dd1279719bf926bd08da0133210f (patch) | |
tree | 66ef1177038f1edefc08cc72a78cb49421b01e5c /src/map/sprite.cpp | |
parent | e39ae931b9890bbe23013049df132243af454c49 (diff) | |
parent | 225b5e01cbadc46727f77ccf185c711b5f6956a7 (diff) | |
download | qtlocation-mapboxgl-7a98ad4cf949dd1279719bf926bd08da0133210f.tar.gz |
Merge pull request #407 from mapbox/filesource
Use style.json directory as base path for loading sprite images
Diffstat (limited to 'src/map/sprite.cpp')
-rw-r--r-- | src/map/sprite.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/map/sprite.cpp b/src/map/sprite.cpp index 68453de52b..f396fec07d 100644 --- a/src/map/sprite.cpp +++ b/src/map/sprite.cpp @@ -5,6 +5,7 @@ #include <string> #include <mbgl/platform/platform.hpp> +#include <mbgl/util/filesource.hpp> #include <mbgl/util/uv.hpp> #include <mbgl/util/std.hpp> @@ -20,9 +21,9 @@ SpritePosition::SpritePosition(uint16_t x, uint16_t y, uint16_t width, uint16_t pixelRatio(pixelRatio) { } -std::shared_ptr<Sprite> Sprite::Create(const std::string& base_url, float pixelRatio) { +std::shared_ptr<Sprite> Sprite::Create(const std::string& base_url, float pixelRatio, const std::shared_ptr<FileSource> &fileSource) { std::shared_ptr<Sprite> sprite(std::make_shared<Sprite>(Key(), base_url, pixelRatio)); - sprite->load(); + sprite->load(fileSource); return sprite; } @@ -49,7 +50,7 @@ Sprite::operator bool() const { // Note: This is a separate function that must be called exactly once after creation // The reason this isn't part of the constructor is that calling shared_from_this() in // the constructor fails. -void Sprite::load() { +void Sprite::load(const std::shared_ptr<FileSource> &fileSource) { if (!valid) { // Treat a non-existent sprite as a successfully loaded empty sprite. loadedImage = true; @@ -60,7 +61,7 @@ void Sprite::load() { std::shared_ptr<Sprite> sprite = shared_from_this(); - platform::request_http(jsonURL, [sprite](platform::Response *res) { + fileSource->load(ResourceType::JSON, jsonURL, [sprite](platform::Response *res) { if (res->code == 200) { sprite->body.swap(res->body); sprite->parseJSON(); @@ -73,7 +74,7 @@ void Sprite::load() { } }); - platform::request_http(spriteURL, [sprite](platform::Response *res) { + fileSource->load(ResourceType::Image, spriteURL, [sprite](platform::Response *res) { if (res->code == 200) { sprite->image.swap(res->body); sprite->parseImage(); |