summaryrefslogtreecommitdiff
path: root/src/mbgl/map/transform.hpp
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2016-01-10 17:28:21 -0800
committerMinh Nguyễn <mxn@1ec5.org>2016-01-14 00:39:18 -0800
commitd26b956a48dc2da9333b40d8d2c4371c63b372a2 (patch)
tree630a714a50e23cc0338fda687fddcfa832fa62a5 /src/mbgl/map/transform.hpp
parent27b308a23482660d705eb82457a21213bc12599e (diff)
downloadqtlocation-mapboxgl-d26b956a48dc2da9333b40d8d2c4371c63b372a2.tar.gz
[core] Cleaned up Transform
Eliminated many redundant methods on Transform. Minimized usage of TransformState::x and TransformState::y. Added convenient constructors for AnimationOptions. When scaling, passing in view’s origin as the anchor no longer anchors the scaling operation at the view’s center. To specify no anchor, use NaN. Increased precision of worldSize(), now that it’s used much more heavily in transform methods.
Diffstat (limited to 'src/mbgl/map/transform.hpp')
-rw-r--r--src/mbgl/map/transform.hpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/mbgl/map/transform.hpp b/src/mbgl/map/transform.hpp
index 7e0e85c2be..52e3b3e627 100644
--- a/src/mbgl/map/transform.hpp
+++ b/src/mbgl/map/transform.hpp
@@ -25,10 +25,10 @@ public:
bool resize(std::array<uint16_t, 2> size);
void jumpTo(const CameraOptions&);
- void easeTo(const CameraOptions&, const AnimationOptions&);
+ void easeTo(const CameraOptions&, const AnimationOptions& = {});
/** Smoothly zoom out, pan, and zoom back into the given camera along a
great circle, as though the viewer is aboard a supersonic jetcopter. */
- void flyTo(const CameraOptions&, const AnimationOptions&);
+ void flyTo(const CameraOptions&, const AnimationOptions& = {});
// Position
void moveBy(const PrecisionPoint&, const Duration& = Duration::zero());
@@ -38,8 +38,8 @@ public:
LatLng getLatLng() const { return state.getLatLng(); }
// Zoom
- void scaleBy(double ds, const PrecisionPoint& center = { 0, 0 }, const Duration& = Duration::zero());
- void setScale(double scale, const PrecisionPoint& center = { 0, 0 }, const Duration& = Duration::zero());
+ void scaleBy(double ds, const PrecisionPoint& center = {NAN, NAN}, const Duration& = Duration::zero());
+ void setScale(double scale, const PrecisionPoint& center = {NAN, NAN}, const Duration& = Duration::zero());
void setZoom(double zoom, const Duration& = Duration::zero());
double getZoom() const;
double getScale() const;
@@ -47,7 +47,7 @@ public:
// Angle
void rotateBy(const PrecisionPoint& first, const PrecisionPoint& second, const Duration& = Duration::zero());
void setAngle(double angle, const Duration& = Duration::zero());
- void setAngle(double angle, const PrecisionPoint& center);
+ void setAngle(double angle, const PrecisionPoint& center, const Duration& = Duration::zero());
double getAngle() const;
// Pitch
@@ -74,11 +74,6 @@ public:
bool isPanning() const { return state.isPanning(); }
private:
- void _moveBy(const PrecisionPoint&, const Duration& = Duration::zero());
- void _setScale(double scale, const PrecisionPoint& center, const Duration& = Duration::zero());
- void _easeTo(const CameraOptions&, const AnimationOptions&, double new_scale, double new_angle, double xn, double yn);
- void _setAngle(double angle, const Duration& = Duration::zero());
-
View &view;
TransformState state;