summaryrefslogtreecommitdiff
path: root/src/mbgl/map/map_options.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/map/map_options.cpp')
-rw-r--r--src/mbgl/map/map_options.cpp94
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