diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2018-06-20 14:18:15 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2018-06-25 13:44:15 +0200 |
commit | 279dd93f7cbd57adce60a97bdb760905e30f4580 (patch) | |
tree | fbb5ccc6f15d6922b33fc92aa11cc3e87655a8f2 /platform/android/src | |
parent | e1af62e87dfd77d1c38802f082c4981dab1beeab (diff) | |
download | qtlocation-mapboxgl-279dd93f7cbd57adce60a97bdb760905e30f4580.tar.gz |
[android] - add support for sdf by exposing sdf confiigurationn when calling MapboxMap#addImage.
Diffstat (limited to 'platform/android/src')
-rw-r--r-- | platform/android/src/map/image.cpp | 4 | ||||
-rwxr-xr-x | platform/android/src/native_map_view.cpp | 6 | ||||
-rwxr-xr-x | platform/android/src/native_map_view.hpp | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/platform/android/src/map/image.cpp b/platform/android/src/map/image.cpp index c3b22b0054..ce89e22d7a 100644 --- a/platform/android/src/map/image.cpp +++ b/platform/android/src/map/image.cpp @@ -11,6 +11,7 @@ mbgl::style::Image Image::getImage(jni::JNIEnv& env, jni::Object<Image> image) { static auto pixelRatioField = Image::javaClass.GetField<jni::jfloat>(env, "pixelRatio"); static auto bufferField = Image::javaClass.GetField<jni::Array<jbyte>>(env, "buffer"); static auto nameField = Image::javaClass.GetField<jni::String>(env, "name"); + static auto sdfField = Image::javaClass.GetField<jni::jboolean>(env, "sdf"); auto height = image.Get(env, heightField); auto width = image.Get(env, widthField); @@ -18,6 +19,7 @@ mbgl::style::Image Image::getImage(jni::JNIEnv& env, jni::Object<Image> image) { auto pixels = image.Get(env, bufferField); auto jName = image.Get(env, nameField); auto name = jni::Make<std::string>(env, jName); + auto sdf = (bool) image.Get(env, sdfField); jni::DeleteLocalRef(env, jName); jni::NullCheck(env, &pixels); @@ -30,7 +32,7 @@ mbgl::style::Image Image::getImage(jni::JNIEnv& env, jni::Object<Image> image) { jni::GetArrayRegion(env, *pixels, 0, size, reinterpret_cast<jbyte*>(premultipliedImage.data.get())); jni::DeleteLocalRef(env, pixels); - return mbgl::style::Image {name, std::move(premultipliedImage), pixelRatio}; + return mbgl::style::Image {name, std::move(premultipliedImage), pixelRatio, sdf}; } void Image::registerNative(jni::JNIEnv &env) { diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index eecb76213b..2bec03d903 100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -895,14 +895,16 @@ void NativeMapView::removeSource(JNIEnv& env, jni::Object<Source> obj, jlong sou source->removeFromMap(env, obj, *map); } -void NativeMapView::addImage(JNIEnv& env, jni::String name, jni::Object<Bitmap> bitmap, jni::jfloat scale) { +void NativeMapView::addImage(JNIEnv& env, jni::String name, jni::Object<Bitmap> bitmap, jni::jfloat scale, jni::jboolean sdf) { jni::NullCheck(env, &bitmap); mbgl::PremultipliedImage premultipliedImage = Bitmap::GetImage(env, bitmap); map->getStyle().addImage(std::make_unique<mbgl::style::Image>( jni::Make<std::string>(env, name), std::move(premultipliedImage), - float(scale))); + float(scale), + sdf) + ); } void NativeMapView::addImages(JNIEnv& env, jni::Array<jni::Object<mbgl::android::Image>> jimages) { diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index aff3b51c42..5bc8ef1a2c 100755 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -236,7 +236,7 @@ public: void removeSource(JNIEnv&, jni::Object<Source>, jlong nativePtr); - void addImage(JNIEnv&, jni::String, jni::Object<Bitmap> bitmap, jni::jfloat); + void addImage(JNIEnv&, jni::String, jni::Object<Bitmap> bitmap, jni::jfloat, jni::jboolean); void addImages(JNIEnv&, jni::Array<jni::Object<mbgl::android::Image>>); |