From 8dfba0ef0b92c9ec3f84a4263b96e4e35c8fab30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguye=CC=82=CC=83n?= Date: Mon, 18 Jan 2016 16:01:08 -0800 Subject: [PATCH] [ios] Flip points, not edge insets --- include/mbgl/util/geo.hpp | 2 -- src/mbgl/map/transform.cpp | 14 +++++++------- src/mbgl/util/geo.cpp | 5 ----- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/include/mbgl/util/geo.hpp b/include/mbgl/util/geo.hpp index db7d9c792..b16d51c02 100644 --- a/include/mbgl/util/geo.hpp +++ b/include/mbgl/util/geo.hpp @@ -138,8 +138,6 @@ struct EdgeInsets { } PrecisionPoint getCenter(uint16_t width, uint16_t height) const; - - void flip(); }; } // namespace mbgl diff --git a/src/mbgl/map/transform.cpp b/src/mbgl/map/transform.cpp index f7c84ff5f..6ec387ac2 100644 --- a/src/mbgl/map/transform.cpp +++ b/src/mbgl/map/transform.cpp @@ -96,7 +96,6 @@ void Transform::easeTo(const CameraOptions& camera, const AnimationOptions& anim padding = *camera.padding; } const LatLng startLatLng = getLatLng(padding); - padding.flip(); const PrecisionPoint startPoint = { state.lngX(startLatLng.longitude), state.latY(startLatLng.latitude), @@ -106,6 +105,8 @@ void Transform::easeTo(const CameraOptions& camera, const AnimationOptions& anim state.lngX(latLng.longitude), state.latY(latLng.latitude), }; + PrecisionPoint center = padding.getCenter(state.width, state.height); + center.y = state.height - center.y; // Constrain camera options. zoom = util::clamp(zoom, state.getMinZoom(), state.getMaxZoom()); @@ -148,7 +149,7 @@ void Transform::easeTo(const CameraOptions& camera, const AnimationOptions& anim } if (padding) { - state.moveLatLng(frameLatLng, padding.getCenter(state.width, state.height)); + state.moveLatLng(frameLatLng, center); } return update; }, duration); @@ -178,7 +179,6 @@ void Transform::flyTo(const CameraOptions &camera, const AnimationOptions &anima padding = *camera.padding; } const LatLng startLatLng = getLatLng(padding); - padding.flip(); const PrecisionPoint startPoint = { state.lngX(startLatLng.longitude), state.latY(startLatLng.latitude), @@ -188,6 +188,8 @@ void Transform::flyTo(const CameraOptions &camera, const AnimationOptions &anima state.lngX(latLng.longitude), state.latY(latLng.latitude), }; + PrecisionPoint center = padding.getCenter(state.width, state.height); + center.y = state.height - center.y; // Constrain camera options. zoom = util::clamp(zoom, state.getMinZoom(), state.getMaxZoom()); @@ -321,7 +323,7 @@ void Transform::flyTo(const CameraOptions &camera, const AnimationOptions &anima } if (padding) { - state.moveLatLng(frameLatLng, padding.getCenter(state.width, state.height)); + state.moveLatLng(frameLatLng, center); } return Update::Zoom; }, duration); @@ -412,9 +414,7 @@ void Transform::setLatLngZoom(const LatLng& latLng, double zoom, const EdgeInset LatLng Transform::getLatLng(const EdgeInsets& padding) const { if (padding) { - EdgeInsets flippedPadding = padding; - flippedPadding.flip(); - return state.pointToLatLng(flippedPadding.getCenter(state.width, state.height)); + return pointToLatLng(padding.getCenter(state.width, state.height)); } else { return state.getLatLng(); } diff --git a/src/mbgl/util/geo.cpp b/src/mbgl/util/geo.cpp index a0ba44c4a..25e795e4e 100644 --- a/src/mbgl/util/geo.cpp +++ b/src/mbgl/util/geo.cpp @@ -35,9 +35,4 @@ PrecisionPoint EdgeInsets::getCenter(uint16_t width, uint16_t height) const { }; } -void EdgeInsets::flip() { - std::swap(top, bottom); - std::swap(left, right); -} - } // end namespace mbgl