diff options
author | Juha Alanen <juha.alanen@mapbox.com> | 2020-02-18 17:28:29 +0200 |
---|---|---|
committer | Juha Alanen <juha.alanen@mapbox.com> | 2020-02-25 16:54:44 +0200 |
commit | fdf6bb3e34859ac042e125b6ed48580e3e2a32c1 (patch) | |
tree | 55709bc7cefed0a293d006f1c453df71633d8b71 /src/mbgl/map/transform_state.cpp | |
parent | f105100943478eee209c7044c3054fc158bef0a6 (diff) | |
download | qtlocation-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.cpp | 29 |
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; |