summaryrefslogtreecommitdiff
path: root/src/mbgl/map/resource_loader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/map/resource_loader.cpp')
-rw-r--r--src/mbgl/map/resource_loader.cpp160
1 files changed, 0 insertions, 160 deletions
diff --git a/src/mbgl/map/resource_loader.cpp b/src/mbgl/map/resource_loader.cpp
deleted file mode 100644
index 8e054c0d82..0000000000
--- a/src/mbgl/map/resource_loader.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-#include <mbgl/map/resource_loader.hpp>
-
-#include <mbgl/geometry/sprite_atlas.hpp>
-#include <mbgl/map/environment.hpp>
-#include <mbgl/map/source.hpp>
-#include <mbgl/map/sprite.hpp>
-#include <mbgl/map/transform.hpp>
-#include <mbgl/style/style.hpp>
-
-#include <cassert>
-
-namespace mbgl {
-
-ResourceLoader::ResourceLoader() {
- assert(Environment::currentlyOn(ThreadType::Map));
-}
-
-ResourceLoader::~ResourceLoader() {
- assert(Environment::currentlyOn(ThreadType::Map));
-
- for (const auto& source : style_->sources) {
- source->setObserver(nullptr);
- }
-
- if (sprite_) {
- sprite_->setObserver(nullptr);
- }
-
- if (glyphStore_) {
- glyphStore_->setObserver(nullptr);
- }
-}
-
-void ResourceLoader::setObserver(Observer* observer) {
- assert(Environment::currentlyOn(ThreadType::Map));
- assert(!observer_);
-
- observer_ = observer;
-}
-
-void ResourceLoader::setStyle(Style* style) {
- assert(style);
-
- style_ = style;
-
- for (const auto& source : style->sources) {
- source->setObserver(this);
- source->load();
- }
-}
-
-void ResourceLoader::setGlyphStore(GlyphStore* glyphStore) {
- assert(glyphStore);
-
- if (glyphStore_) {
- glyphStore_->setObserver(nullptr);
- }
-
- glyphStore_ = glyphStore;
- glyphStore_->setObserver(this);
-}
-
-void ResourceLoader::update(MapData& data,
- const TransformState& transform,
- GlyphAtlas& glyphAtlas,
- SpriteAtlas& spriteAtlas,
- TexturePool& texturePool) {
- if (!style_) {
- return;
- }
-
- const float pixelRatio = transform.getPixelRatio();
- if (!sprite_ || !sprite_->hasPixelRatio(pixelRatio)) {
- sprite_ = std::make_unique<Sprite>(style_->getSpriteURL(), pixelRatio);
- sprite_->setObserver(this);
-
- spriteAtlas.resize(pixelRatio);
- spriteAtlas.setSprite(sprite_);
- }
-
- bool allTilesUpdated = true;
- for (const auto& source : style_->sources) {
- if (!source->update(data, transform, *style_, glyphAtlas, *glyphStore_,
- spriteAtlas, sprite_, texturePool, shouldReparsePartialTiles_)) {
- allTilesUpdated = false;
- }
- }
-
- // We can only stop updating "partial" tiles when all of them
- // were notified of the arrival of the new resources.
- if (allTilesUpdated) {
- shouldReparsePartialTiles_ = false;
- }
-}
-
-void ResourceLoader::onGlyphRangeLoaded() {
- shouldReparsePartialTiles_ = true;
-
- emitTileDataChanged();
-}
-
-void ResourceLoader::onGlyphRangeLoadingFailed(std::exception_ptr error) {
- emitResourceLoadingFailed(error);
-}
-
-void ResourceLoader::onSourceLoaded() {
- emitTileDataChanged();
-}
-
-void ResourceLoader::onSourceLoadingFailed(std::exception_ptr error) {
- emitResourceLoadingFailed(error);
-}
-
-void ResourceLoader::onTileLoaded(bool isNewTile) {
- if (isNewTile) {
- shouldReparsePartialTiles_ = true;
- }
-
- emitTileDataChanged();
-}
-
-void ResourceLoader::onTileLoadingFailed(std::exception_ptr error) {
- emitResourceLoadingFailed(error);
-}
-
-void ResourceLoader::onSpriteLoaded() {
- shouldReparsePartialTiles_ = true;
-
- emitTileDataChanged();
-}
-
-void ResourceLoader::onSpriteLoadingFailed(std::exception_ptr error) {
- emitResourceLoadingFailed(error);
-}
-
-void ResourceLoader::emitTileDataChanged() {
- assert(Environment::currentlyOn(ThreadType::Map));
-
- if (observer_) {
- observer_->onTileDataChanged();
- }
-}
-
-void ResourceLoader::emitResourceLoadingFailed(std::exception_ptr error) {
- assert(Environment::currentlyOn(ThreadType::Map));
-
- try {
- if (error) {
- std::rethrow_exception(error);
- }
- } catch(const std::exception& e) {
- Log::Error(Event::ResourceLoader, e.what());
- }
-
- if (observer_) {
- observer_->onResourceLoadingFailed(error);
- }
-}
-
-}