summaryrefslogtreecommitdiff
path: root/include/mbgl/map/projection_mode.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/map/projection_mode.hpp')
-rw-r--r--include/mbgl/map/projection_mode.hpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/mbgl/map/projection_mode.hpp b/include/mbgl/map/projection_mode.hpp
new file mode 100644
index 0000000000..4617371e15
--- /dev/null
+++ b/include/mbgl/map/projection_mode.hpp
@@ -0,0 +1,34 @@
+#pragma once
+
+#include <mbgl/util/optional.hpp>
+
+#include <functional>
+
+namespace mbgl {
+
+/**
+ * @brief Holds values for Axonometric rendering. All fields are
+ * optional.
+ */
+struct ProjectionMode {
+ ProjectionMode& withAxonometric(bool o) { axonometric = o; return *this; }
+ ProjectionMode& withXSkew(double o) { xSkew = o; return *this; }
+ ProjectionMode& withYSkew(double o) { ySkew = o; return *this; }
+
+ /**
+ * @brief Set to True to enable axonometric rendering, false otherwise.
+ */
+ optional<bool> axonometric;
+
+ /**
+ * @brief The X skew value represents how much to skew on the x-axis.
+ */
+ optional<double> xSkew;
+
+ /**
+ * @brief The Y skew value represents how much to skew on the y-axis.
+ */
+ optional<double> ySkew;
+};
+
+} // namespace mbgl