summaryrefslogtreecommitdiff
path: root/src/mbgl/map/transform_state.cpp
diff options
context:
space:
mode:
authorJuha Alanen <juha.alanen@mapbox.com>2020-02-18 17:28:29 +0200
committerJuha Alanen <juha.alanen@mapbox.com>2020-02-25 16:54:44 +0200
commitfdf6bb3e34859ac042e125b6ed48580e3e2a32c1 (patch)
tree55709bc7cefed0a293d006f1c453df71633d8b71 /src/mbgl/map/transform_state.cpp
parentf105100943478eee209c7044c3054fc158bef0a6 (diff)
downloadqtlocation-mapboxgl-fdf6bb3e34859ac042e125b6ed48580e3e2a32c1.tar.gz
[core] Add min and max pitch options
Diffstat (limited to 'src/mbgl/map/transform_state.cpp')
-rw-r--r--src/mbgl/map/transform_state.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/mbgl/map/transform_state.cpp b/src/mbgl/map/transform_state.cpp
index c8f1c7f594..c5bb38653a 100644
--- a/src/mbgl/map/transform_state.cpp
+++ b/src/mbgl/map/transform_state.cpp
@@ -1,11 +1,12 @@
#include <mbgl/map/transform_state.hpp>
+#include <mbgl/math/clamp.hpp>
+#include <mbgl/math/log2.hpp>
#include <mbgl/tile/tile_id.hpp>
#include <mbgl/util/constants.hpp>
#include <mbgl/util/interpolate.hpp>
+#include <mbgl/util/logging.hpp>
#include <mbgl/util/projection.hpp>
#include <mbgl/util/tile_coordinate.hpp>
-#include <mbgl/math/log2.hpp>
-#include <mbgl/math/clamp.hpp>
namespace mbgl {
TransformState::TransformState(ConstrainMode constrainMode_, ViewportMode viewportMode_)
@@ -340,6 +341,30 @@ double TransformState::getMaxZoom() const {
return scaleZoom(max_scale);
}
+void TransformState::setMinPitch(const double pitch_) {
+ if (pitch_ <= maxPitch) {
+ minPitch = util::clamp(pitch_, util::PITCH_MIN, maxPitch);
+ } else {
+ Log::Warning(Event::General, "Trying to set minimum pitch to larger than maximum pitch, no changes made.");
+ }
+}
+
+double TransformState::getMinPitch() const {
+ return minPitch;
+}
+
+void TransformState::setMaxPitch(const double pitch_) {
+ if (pitch_ >= minPitch) {
+ maxPitch = util::clamp(pitch_, minPitch, util::PITCH_MAX);
+ } else {
+ Log::Warning(Event::General, "Trying to set maximum pitch to smaller than minimum pitch, no changes made.");
+ }
+}
+
+double TransformState::getMaxPitch() const {
+ return maxPitch;
+}
+
#pragma mark - Scale
double TransformState::getScale() const {
return scale;