From 132356be6d48fcdb1749fe6130f03fe88e619461 Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Fri, 1 Mar 2019 10:14:07 +0200 Subject: [core] Organize Map::{move,pitch,scale,rotate}By --- include/mbgl/map/map.hpp | 16 ++++------------ src/mbgl/map/map.cpp | 26 +++++++++----------------- 2 files changed, 13 insertions(+), 29 deletions(-) diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp index 3d7223308b..55f2ab2895 100644 --- a/include/mbgl/map/map.hpp +++ b/include/mbgl/map/map.hpp @@ -68,20 +68,15 @@ public: void jumpTo(const CameraOptions&); void easeTo(const CameraOptions&, const AnimationOptions&); void flyTo(const CameraOptions&, const AnimationOptions&); + void moveBy(const ScreenCoordinate&, const AnimationOptions& = {}); + void scaleBy(double scale, optional anchor, const AnimationOptions& animation = {}); + void pitchBy(double pitch, const AnimationOptions& animation = {}); + void rotateBy(const ScreenCoordinate& first, const ScreenCoordinate& second, const AnimationOptions& = {}); CameraOptions cameraForLatLngBounds(const LatLngBounds&, const EdgeInsets&, optional bearing = {}, optional pitch = {}) const; CameraOptions cameraForLatLngs(const std::vector&, const EdgeInsets&, optional bearing = {}, optional pitch = {}) const; CameraOptions cameraForGeometry(const Geometry&, const EdgeInsets&, optional bearing = {}, optional pitch = {}) const; LatLngBounds latLngBoundsForCamera(const CameraOptions&) const; - // Position - void moveBy(const ScreenCoordinate&, const AnimationOptions& = {}); - - // Zoom - void scaleBy(double scale, optional anchor, const AnimationOptions& animation = {}); - - // Pitch - void pitchBy(double pitch, const AnimationOptions& animation = {}); - // Bounds void setLatLngBounds(optional); optional getLatLngBounds() const; @@ -94,9 +89,6 @@ public: void setMaxPitch(double); double getMaxPitch() const; - // Rotation - void rotateBy(const ScreenCoordinate& first, const ScreenCoordinate& second, const AnimationOptions& = {}); - // North Orientation void setNorthOrientation(NorthOrientation); NorthOrientation getNorthOrientation() const; diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index e2b56b8d55..7fe99e3867 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -159,21 +159,27 @@ void Map::flyTo(const CameraOptions& camera, const AnimationOptions& animation) impl->onUpdate(); } -#pragma mark - Position - void Map::moveBy(const ScreenCoordinate& point, const AnimationOptions& animation) { impl->cameraMutated = true; impl->transform.moveBy(point, animation); impl->onUpdate(); } -#pragma mark - Zoom +void Map::pitchBy(double pitch, const AnimationOptions& animation) { + easeTo(CameraOptions().withPitch((impl->transform.getPitch() * util::RAD2DEG) - pitch), animation); +} void Map::scaleBy(double scale, optional anchor, const AnimationOptions& animation) { const double zoom = impl->transform.getZoom() + impl->transform.getState().scaleZoom(scale); easeTo(CameraOptions().withZoom(zoom).withAnchor(anchor), animation); } +void Map::rotateBy(const ScreenCoordinate& first, const ScreenCoordinate& second, const AnimationOptions& animation) { + impl->cameraMutated = true; + impl->transform.rotateBy(first, second, animation); + impl->onUpdate(); +} + CameraOptions Map::cameraForLatLngBounds(const LatLngBounds& bounds, const EdgeInsets& padding, optional bearing, optional pitch) const { return cameraForLatLngs({ bounds.northwest(), @@ -270,12 +276,6 @@ LatLngBounds Map::latLngBoundsForCamera(const CameraOptions& camera) const { ); } -#pragma mark - Pitch - -void Map::pitchBy(double pitch, const AnimationOptions& animation) { - easeTo(CameraOptions().withPitch((impl->transform.getPitch() * util::RAD2DEG) - pitch), animation); -} - #pragma mark - Bounds optional Map::getLatLngBounds() const { @@ -343,14 +343,6 @@ Size Map::getSize() const { return impl->transform.getState().getSize(); } -#pragma mark - Rotation - -void Map::rotateBy(const ScreenCoordinate& first, const ScreenCoordinate& second, const AnimationOptions& animation) { - impl->cameraMutated = true; - impl->transform.rotateBy(first, second, animation); - impl->onUpdate(); -} - #pragma mark - North Orientation void Map::setNorthOrientation(NorthOrientation orientation) { -- cgit v1.2.1