diff options
Diffstat (limited to 'src/mbgl/map/map_options.cpp')
-rw-r--r-- | src/mbgl/map/map_options.cpp | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/mbgl/map/map_options.cpp b/src/mbgl/map/map_options.cpp new file mode 100644 index 0000000000..daf65c3077 --- /dev/null +++ b/src/mbgl/map/map_options.cpp @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2019 - Mapbox, Inc. + * + * You may use this code with your Mapbox account and under the + * Mapbox Terms of Service (https://www.mapbox.com/tos/). + * + * All other rights reserved. + */ + +#include <mbgl/map/map_options.hpp> +#include <mbgl/util/constants.hpp> + +#include <cassert> + +namespace mbgl { + +class MapOptions::Impl { +public: + MapMode mapMode = MapMode::Continuous; + ConstrainMode constrainMode = ConstrainMode::HeightOnly; + ViewportMode viewportMode = ViewportMode::Default; + std::string cachePath; + std::string assertRoot; + uint64_t maximumSize{mbgl::util::DEFAULT_MAX_CACHE_SIZE}; + bool crossSourceCollisions = true; +}; + +MapOptions::MapOptions() : impl_(std::make_shared<MapOptions::Impl>()) {} +MapOptions::~MapOptions() = default; + +MapOptions& MapOptions::withMapMode(MapMode mode) { + impl_->mapMode = mode; + return *this; +} + +MapMode MapOptions::mapMode() const { + return impl_->mapMode; +} + +MapOptions& MapOptions::withConstrainMode(ConstrainMode mode) { + impl_->constrainMode = mode; + return *this; +} + +ConstrainMode MapOptions::constrainMode() const { + return impl_->constrainMode; +} + +MapOptions& MapOptions::withViewportMode(ViewportMode mode) { + impl_->viewportMode = mode; + return *this; +} + +ViewportMode MapOptions::viewportMode() const { + return impl_->viewportMode; +} + +MapOptions& MapOptions::withCachePath(std::string path) { + impl_->cachePath = std::move(path); + return *this; +} + +const std::string& MapOptions::cachePath() const { + return impl_->cachePath; +} + +MapOptions& MapOptions::withAssetRoot(std::string path) { + impl_->assertRoot = std::move(path); + return *this; +} + +const std::string& MapOptions::assetRoot() const { + return impl_->assertRoot; +} + +MapOptions& MapOptions::withMaximumCacheSize(uint64_t size) { + impl_->maximumSize = size; + return *this; +} + +uint64_t MapOptions::maximumCacheSize() const { + return impl_->maximumSize; +} + +MapOptions& MapOptions::withCrossSourceCollisions(bool enableCollisions) { + impl_->crossSourceCollisions = enableCollisions; + return *this; +} + +bool MapOptions::crossSourceCollisions() const { + return impl_->crossSourceCollisions; +} + +} // namespace mbgl |