diff options
author | Justin R. Miller <incanus@codesorcery.net> | 2017-01-18 12:43:08 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-18 12:43:08 -0800 |
commit | f6715694f918a884eda77151aa4fec05521b9536 (patch) | |
tree | bd930307db9fb13ad5751324ae57bf858f30aa2a /platform/android/src/jni.cpp | |
parent | d076ba05673a6ced9d3e641e2c7a2b5f3c70a80f (diff) | |
download | qtlocation-mapboxgl-f6715694f918a884eda77151aa4fec05521b9536.tar.gz |
refs #6779: mobile & Mac SDK style transition options (#7711)
Diffstat (limited to 'platform/android/src/jni.cpp')
-rwxr-xr-x | platform/android/src/jni.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp index 5182e268f3..1ef7fec8fb 100755 --- a/platform/android/src/jni.cpp +++ b/platform/android/src/jni.cpp @@ -1082,6 +1082,48 @@ void nativeFlyTo(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jdouble nativeMapView->getMap().flyTo(cameraOptions, animationOptions); } +jlong nativeGetTransitionDuration(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr) { + assert(env); + assert(nativeMapViewPtr != 0); + + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + const auto transitionOptions = nativeMapView->getMap().getTransitionOptions(); + return transitionOptions.duration.value_or(mbgl::Duration::zero()).count(); +} + +void nativeSetTransitionDuration(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong duration) { + assert(env); + assert(nativeMapViewPtr != 0); + + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + auto transitionOptions = nativeMapView->getMap().getTransitionOptions(); + transitionOptions.duration = std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<jlong>(duration)); + nativeMapView->getMap().setTransitionOptions(transitionOptions); +} + +jlong nativeGetTransitionDelay(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr) { + assert(env); + assert(nativeMapViewPtr != 0); + + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + const auto transitionOptions = nativeMapView->getMap().getTransitionOptions(); + return transitionOptions.delay.value_or(mbgl::Duration::zero()).count(); +} + +void nativeSetTransitionDelay(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong delay) { + assert(env); + assert(nativeMapViewPtr != 0); + + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + auto transitionOptions = nativeMapView->getMap().getTransitionOptions(); + transitionOptions.delay = std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<jlong>(delay)); + nativeMapView->getMap().setTransitionOptions(transitionOptions); +} + jni::jobject* nativeGetLayer(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jni::jstring* layerId) { assert(env); assert(nativeMapViewPtr != 0); @@ -1876,6 +1918,10 @@ void registerNatives(JavaVM *vm) { MAKE_NATIVE_METHOD(nativeJumpTo, "(JDDDDD)V"), MAKE_NATIVE_METHOD(nativeEaseTo, "(JDDDJDDZ)V"), MAKE_NATIVE_METHOD(nativeFlyTo, "(JDDDJDD)V"), + MAKE_NATIVE_METHOD(nativeGetTransitionDuration, "(J)J"), + MAKE_NATIVE_METHOD(nativeSetTransitionDuration, "(JJ)V"), + MAKE_NATIVE_METHOD(nativeGetTransitionDelay, "(J)J"), + MAKE_NATIVE_METHOD(nativeSetTransitionDelay, "(JJ)V"), MAKE_NATIVE_METHOD(nativeGetLayer, "(JLjava/lang/String;)Lcom/mapbox/mapboxsdk/style/layers/Layer;"), MAKE_NATIVE_METHOD(nativeAddLayer, "(JJLjava/lang/String;)V"), MAKE_NATIVE_METHOD(nativeRemoveLayerById, "(JLjava/lang/String;)V"), |