diff options
author | Larry Geromegnace <larry.geromegnace@mappy.com> | 2016-01-22 11:49:19 +0100 |
---|---|---|
committer | Brad Leege <bleege@gmail.com> | 2016-01-27 10:57:38 -0600 |
commit | c114ed6562242c1549a96d5a79b9aed229ba48aa (patch) | |
tree | d94b0ad56c88bfe6d9eba24a134a18c03a9f2eb7 /platform/android/src | |
parent | 0d3af143756381fe5a96336fb5882a26301302ca (diff) | |
download | qtlocation-mapboxgl-c114ed6562242c1549a96d5a79b9aed229ba48aa.tar.gz |
[android] Add API to be able to set insets on MapView.
Diffstat (limited to 'platform/android/src')
-rwxr-xr-x[-rw-r--r--] | platform/android/src/jni.cpp | 15 | ||||
-rwxr-xr-x[-rw-r--r--] | platform/android/src/native_map_view.cpp | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | platform/android/src/native_map_view.hpp | 3 |
3 files changed, 21 insertions, 1 deletions
diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp index cd013e4519..a6fff62bb0 100644..100755 --- a/platform/android/src/jni.cpp +++ b/platform/android/src/jni.cpp @@ -648,7 +648,7 @@ void JNICALL nativeSetLatLng(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, j return; } - nativeMapView->getMap().setLatLng(mbgl::LatLng(latitude, longitude), mbgl::Duration(duration)); + nativeMapView->getMap().setLatLng(mbgl::LatLng(latitude, longitude), nativeMapView->getInsets(), mbgl::Duration(duration)); } jobject JNICALL nativeGetLatLng(JNIEnv *env, jobject obj, jlong nativeMapViewPtr) { @@ -1505,6 +1505,7 @@ void JNICALL nativeJumpTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdou options.angle = angle; } options.center = mbgl::LatLng(latitude, longitude); + options.padding = nativeMapView->getInsets(); if (pitch != -1) { options.pitch = pitch; } @@ -1537,6 +1538,7 @@ void JNICALL nativeEaseTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdou cameraOptions.angle = angle; } cameraOptions.center = mbgl::LatLng(latitude, longitude); + cameraOptions.padding = nativeMapView->getInsets(); if (pitch != -1) { cameraOptions.pitch = pitch; } @@ -1549,6 +1551,14 @@ void JNICALL nativeEaseTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdou nativeMapView->getMap().easeTo(cameraOptions, animationOptions); } +void JNICALL nativeSetContentPadding(JNIEnv *env, jobject obj,long nativeMapViewPtr, double top, double left, double bottom, double right) { + mbgl::Log::Debug(mbgl::Event::JNI, "nativeSetContentPadding"); + assert(nativeMapViewPtr != 0); + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + nativeMapView->setInsets({top, left, bottom, right}); +} + + void JNICALL nativeFlyTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdouble angle, jobject centerLatLng, jlong duration, jdouble pitch, jdouble zoom) { mbgl::Log::Debug(mbgl::Event::JNI, "nativeFlyTo"); assert(nativeMapViewPtr != 0); @@ -1571,6 +1581,7 @@ void JNICALL nativeFlyTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdoub cameraOptions.angle = angle; } cameraOptions.center = mbgl::LatLng(latitude, longitude); + cameraOptions.padding = nativeMapView->getInsets(); if (pitch != -1) { cameraOptions.pitch = pitch; } @@ -2136,6 +2147,8 @@ extern "C" JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { reinterpret_cast<void *>(&nativeAddCustomLayer)}, {"nativeRemoveCustomLayer", "(JLjava/lang/String;)V", reinterpret_cast<void *>(&nativeRemoveCustomLayer)}, + {"nativeSetContentPadding", "(JDDDD)V", + reinterpret_cast<void *>(&nativeSetContentPadding)} }; if (env->RegisterNatives(nativeMapViewClass, methods.data(), methods.size()) < 0) { diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index 5d6e240797..8c7115a1e4 100644..100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -752,5 +752,9 @@ void NativeMapView::resizeFramebuffer(int w, int h) { map->update(mbgl::Update::Repaint); } +void NativeMapView::setInsets(mbgl::EdgeInsets insets_) { + insets = insets_; +} + } } diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index cc88403c39..bc5d457f5b 100644..100755 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -51,6 +51,8 @@ public: void resizeView(int width, int height); void resizeFramebuffer(int width, int height); + mbgl::EdgeInsets getInsets() { return insets;} + void setInsets(mbgl::EdgeInsets insets_); private: EGLConfig chooseConfig(const EGLConfig configs[], EGLint numConfigs); @@ -92,6 +94,7 @@ private: // Ensure these are initialised last std::unique_ptr<mbgl::DefaultFileSource> fileSource; std::unique_ptr<mbgl::Map> map; + mbgl::EdgeInsets insets; }; } } |