summaryrefslogtreecommitdiff
path: root/platform/android/src
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2018-06-20 14:18:15 +0200
committerTobrun <tobrun@mapbox.com>2018-06-25 13:44:15 +0200
commit279dd93f7cbd57adce60a97bdb760905e30f4580 (patch)
treefbb5ccc6f15d6922b33fc92aa11cc3e87655a8f2 /platform/android/src
parente1af62e87dfd77d1c38802f082c4981dab1beeab (diff)
downloadqtlocation-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.cpp4
-rwxr-xr-xplatform/android/src/native_map_view.cpp6
-rwxr-xr-xplatform/android/src/native_map_view.hpp2
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>>);