summaryrefslogtreecommitdiff
path: root/src/mbgl/map/transform.cpp
diff options
context:
space:
mode:
authorSudarsana Babu Nagineni <sudarsana.babu@mapbox.com>2019-03-06 14:30:23 +0200
committerSudarsana Babu Nagineni <sudarsana.babu@mapbox.com>2019-03-08 17:36:40 +0200
commit744d92e7636ffcba7aea7a302315326b1098d8dc (patch)
tree11df789f9b6dc0913b3d95f1debbfd87c9225a6a /src/mbgl/map/transform.cpp
parentc6598fc5da063f9b60204639cd619647cbbc89da (diff)
downloadqtlocation-mapboxgl-744d92e7636ffcba7aea7a302315326b1098d8dc.tar.gz
[core] consolidate Axonometric rendering API
Instead of having individual APIs for setting axonometric and skew options, create ProjectionMode struct that holds all the relevant options for Axonometric rendering and introduce setter/getter on the Map for those options.
Diffstat (limited to 'src/mbgl/map/transform.cpp')
-rw-r--r--src/mbgl/map/transform.cpp29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/mbgl/map/transform.cpp b/src/mbgl/map/transform.cpp
index 96aa5d2f4a..e60ce7a1bd 100644
--- a/src/mbgl/map/transform.cpp
+++ b/src/mbgl/map/transform.cpp
@@ -435,28 +435,17 @@ ViewportMode Transform::getViewportMode() const {
#pragma mark - Projection mode
-void Transform::setAxonometric(bool axonometric) {
- state.axonometric = axonometric;
+void Transform::setProjectionMode(const ProjectionMode& options) {
+ state.axonometric = options.axonometric.value_or(state.axonometric);
+ state.xSkew = options.xSkew.value_or(state.xSkew);
+ state.ySkew = options.ySkew.value_or(state.ySkew);
}
-bool Transform::getAxonometric() const {
- return state.axonometric;
-}
-
-void Transform::setXSkew(double xSkew) {
- state.xSkew = xSkew;
-}
-
-double Transform::getXSkew() const {
- return state.xSkew;
-}
-
-void Transform::setYSkew(double ySkew) {
- state.ySkew = ySkew;
-}
-
-double Transform::getYSkew() const {
- return state.ySkew;
+ProjectionMode Transform::getProjectionMode() const {
+ return ProjectionMode()
+ .withAxonometric(state.axonometric)
+ .withXSkew(state.xSkew)
+ .withYSkew(state.ySkew);
}
#pragma mark - Transition