diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2019-03-07 23:24:52 +0200 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2019-03-08 18:37:41 +0200 |
commit | 2144e3f3b0b8f08b65c854225d7360847633f689 (patch) | |
tree | 16cadc63b1c3d438c5ddd4bf67aadb2e72e23130 /platform/default/src | |
parent | 2f88e8257b83b77f6c06c86c99f542976e7d5199 (diff) | |
download | qtlocation-mapboxgl-upstream/map-refactor.tar.gz |
[core] Implement platform::Factory::sharedFileSource()upstream/map-refactor
Diffstat (limited to 'platform/default/src')
-rw-r--r-- | platform/default/src/mbgl/gl/headless_frontend.cpp | 8 | ||||
-rw-r--r-- | platform/default/src/mbgl/map/map_snapshotter.cpp | 15 | ||||
-rw-r--r-- | platform/default/src/mbgl/storage/file_source_options.cpp | 55 |
3 files changed, 65 insertions, 13 deletions
diff --git a/platform/default/src/mbgl/gl/headless_frontend.cpp b/platform/default/src/mbgl/gl/headless_frontend.cpp index 71cd656e59..c1f8205fdb 100644 --- a/platform/default/src/mbgl/gl/headless_frontend.cpp +++ b/platform/default/src/mbgl/gl/headless_frontend.cpp @@ -8,11 +8,11 @@ namespace mbgl { -HeadlessFrontend::HeadlessFrontend(float pixelRatio_, FileSource& fileSource, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily) - : HeadlessFrontend({ 256, 256 }, pixelRatio_, fileSource, programCacheDir, mode, localFontFamily) { +HeadlessFrontend::HeadlessFrontend(float pixelRatio_, const FileSourceOptions& fileSourceOptions, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily) + : HeadlessFrontend({ 256, 256 }, pixelRatio_, fileSourceOptions, programCacheDir, mode, localFontFamily) { } -HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, FileSource& fileSource, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily) +HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, const FileSourceOptions& fileSourceOptions, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily) : size(size_), pixelRatio(pixelRatio_), backend({ static_cast<uint32_t>(size.width * pixelRatio), @@ -23,7 +23,7 @@ HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, FileSource& fi renderer->render(*updateParameters); } }), - renderer(std::make_unique<Renderer>(backend, pixelRatio, fileSource, mode, programCacheDir, localFontFamily)) { + renderer(std::make_unique<Renderer>(backend, pixelRatio, fileSourceOptions, mode, programCacheDir, localFontFamily)) { } HeadlessFrontend::~HeadlessFrontend() = default; diff --git a/platform/default/src/mbgl/map/map_snapshotter.cpp b/platform/default/src/mbgl/map/map_snapshotter.cpp index 9532b01b7e..4d3dc75724 100644 --- a/platform/default/src/mbgl/map/map_snapshotter.cpp +++ b/platform/default/src/mbgl/map/map_snapshotter.cpp @@ -5,7 +5,6 @@ #include <mbgl/map/map.hpp> #include <mbgl/map/map_options.hpp> #include <mbgl/map/transform_state.hpp> -#include <mbgl/storage/file_source.hpp> #include <mbgl/style/style.hpp> #include <mbgl/util/event.hpp> #include <mbgl/map/transform.hpp> @@ -14,8 +13,7 @@ namespace mbgl { class MapSnapshotter::Impl { public: - Impl(FileSource*, - const std::pair<bool, std::string> style, + Impl(const std::pair<bool, std::string> style, const Size&, const float pixelRatio, const optional<CameraOptions> cameraOptions, @@ -45,7 +43,7 @@ private: Map map; }; -MapSnapshotter::Impl::Impl(FileSource* fileSource, +MapSnapshotter::Impl::Impl( const std::pair<bool, std::string> style, const Size& size, const float pixelRatio, @@ -53,8 +51,8 @@ MapSnapshotter::Impl::Impl(FileSource* fileSource, const optional<LatLngBounds> region, const optional<std::string> programCacheDir, const optional<std::string> localFontFamily) - , frontend(size, pixelRatio, programCacheDir, GLContextMode::Unique, localFontFamily) - , map(frontend, MapObserver::nullObserver(), size, pixelRatio, *fileSource, MapOptions().withMapMode(MapMode::Static)) { + : frontend(size, pixelRatio, FileSourceOptions(), programCacheDir, GLContextMode::Unique, localFontFamily) + , map(frontend, MapObserver::nullObserver(), size, pixelRatio, MapOptions().withMapMode(MapMode::Static), FileSourceOptions()) { if (style.first) { map.getStyle().loadJSON(style.second); @@ -160,15 +158,14 @@ LatLngBounds MapSnapshotter::Impl::getRegion() const { return map.latLngBoundsForCamera(getCameraOptions()); } -MapSnapshotter::MapSnapshotter(FileSource* fileSource, - const std::pair<bool, std::string> style, +MapSnapshotter::MapSnapshotter(const std::pair<bool, std::string> style, const Size& size, const float pixelRatio, const optional<CameraOptions> cameraOptions, const optional<LatLngBounds> region, const optional<std::string> programCacheDir, const optional<std::string> localFontFamily) - : impl(std::make_unique<util::Thread<MapSnapshotter::Impl>>("Map Snapshotter", fileSource, style, size, pixelRatio, cameraOptions, region, programCacheDir, localFontFamily)) { + : impl(std::make_unique<util::Thread<MapSnapshotter::Impl>>("Map Snapshotter", style, size, pixelRatio, cameraOptions, region, programCacheDir, localFontFamily)) { } MapSnapshotter::~MapSnapshotter() = default; diff --git a/platform/default/src/mbgl/storage/file_source_options.cpp b/platform/default/src/mbgl/storage/file_source_options.cpp new file mode 100644 index 0000000000..782c90f768 --- /dev/null +++ b/platform/default/src/mbgl/storage/file_source_options.cpp @@ -0,0 +1,55 @@ +#include <mbgl/storage/file_source_options.hpp> +#include <mbgl/util/constants.hpp> + +#include <cassert> + +namespace mbgl { + +class FileSourceOptions::Impl { +public: + std::string accessToken; + std::string cachePath { ":memory:" }; + std::string assetRoot { "." }; + uint64_t maximumSize{mbgl::util::DEFAULT_MAX_CACHE_SIZE}; +}; + +FileSourceOptions::FileSourceOptions() : impl_(std::make_shared<FileSourceOptions::Impl>()) {} +FileSourceOptions::~FileSourceOptions() = default; + +FileSourceOptions& FileSourceOptions::withAccessToken(std::string accessToken) { + impl_->accessToken = std::move(accessToken); + return *this; +} + +const std::string& FileSourceOptions::accessToken() const { + return impl_->accessToken; +} + +FileSourceOptions& FileSourceOptions::withCachePath(std::string path) { + impl_->cachePath = std::move(path); + return *this; +} + +const std::string& FileSourceOptions::cachePath() const { + return impl_->cachePath; +} + +FileSourceOptions& FileSourceOptions::withAssetRoot(std::string path) { + impl_->assetRoot = std::move(path); + return *this; +} + +const std::string& FileSourceOptions::assetRoot() const { + return impl_->assetRoot; +} + +FileSourceOptions& FileSourceOptions::withMaximumCacheSize(uint64_t size) { + impl_->maximumSize = size; + return *this; +} + +uint64_t FileSourceOptions::maximumCacheSize() const { + return impl_->maximumSize; +} + +} // namespace mbgl
\ No newline at end of file |