summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2015-11-20 02:14:55 -0800
committerMinh Nguyễn <mxn@1ec5.org>2015-11-25 15:20:25 -0800
commit2de0a351a0635192bd05116cebdf0103c2638d05 (patch)
tree72679c82e2bf718c329fc83a9249c352305a9173 /src
parente3992c41c354e70f2c6762690b428f0ebbe362f4 (diff)
downloadqtlocation-mapboxgl-2de0a351a0635192bd05116cebdf0103c2638d05.tar.gz
[core] [iOS] Completion handlers for animated methods
Added transition frame and finish functions to CameraOptions. Added Objective-C equivalents to the three main entry points to easeTo() in MGLMapView. Fixes #1581.
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/map/transform.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mbgl/map/transform.cpp b/src/mbgl/map/transform.cpp
index 55a492c493..7f0363c709 100644
--- a/src/mbgl/map/transform.cpp
+++ b/src/mbgl/map/transform.cpp
@@ -262,6 +262,9 @@ void Transform::_easeTo(const CameraOptions& options, double new_scale, double n
state.angle = angle;
state.pitch = pitch;
+ if (options.transitionFinishFn) {
+ options.transitionFinishFn();
+ }
view.notifyMapChange(MapChangeRegionDidChange);
} else {
view.notifyMapChange(MapChangeRegionWillChangeAnimated);
@@ -291,6 +294,9 @@ void Transform::_easeTo(const CameraOptions& options, double new_scale, double n
state.pitch = util::interpolate(startP, pitch, t);
// At t = 1.0, a DidChangeAnimated notification should be sent from finish().
if (t < 1.0) {
+ if (options.transitionFrameFn) {
+ options.transitionFrameFn(t);
+ }
view.notifyMapChange(MapChangeRegionIsChanging);
}
return update;
@@ -299,6 +305,9 @@ void Transform::_easeTo(const CameraOptions& options, double new_scale, double n
state.panning = false;
state.scaling = false;
state.rotating = false;
+ if (options.transitionFinishFn) {
+ options.transitionFinishFn();
+ }
view.notifyMapChange(MapChangeRegionDidChangeAnimated);
}, *easeOptions.duration);
}