diff options
author | Wilhelm Berg <wb@BergWerk-GIS.at> | 2018-09-12 15:07:57 +0200 |
---|---|---|
committer | Wilhelm Berg <wb@BergWerk-GIS.at> | 2018-09-12 15:07:57 +0200 |
commit | 98b34cb0dbf5c50d7f319724c93021418140b15f (patch) | |
tree | 11cd51f86b5c672dda6bfe087f40f77df1553971 /platform/android/src/graphics | |
parent | ee17d79f9420eb859303d977955454dacc470db6 (diff) | |
parent | 079ba0209ed383c15123902f0810e658c2b0abf4 (diff) | |
download | qtlocation-mapboxgl-upstream/bwg-vs2017.tar.gz |
Merge remote-tracking branch 'origin' into bwg-vs2017upstream/bwg-vs2017
# Conflicts:
# cmake/mason-dependencies.cmake
Diffstat (limited to 'platform/android/src/graphics')
-rw-r--r-- | platform/android/src/graphics/pointf.cpp | 20 | ||||
-rw-r--r-- | platform/android/src/graphics/pointf.hpp | 7 | ||||
-rw-r--r-- | platform/android/src/graphics/rectf.cpp | 26 | ||||
-rw-r--r-- | platform/android/src/graphics/rectf.hpp | 11 |
4 files changed, 28 insertions, 36 deletions
diff --git a/platform/android/src/graphics/pointf.cpp b/platform/android/src/graphics/pointf.cpp index 3f854da2ea..2fc762d6e9 100644 --- a/platform/android/src/graphics/pointf.cpp +++ b/platform/android/src/graphics/pointf.cpp @@ -4,24 +4,22 @@ namespace mbgl { namespace android { -jni::Object<PointF> PointF::New(jni::JNIEnv& env, float x, float y) { - static auto constructor = PointF::javaClass.GetConstructor<float, float>(env); - return PointF::javaClass.New(env, constructor, x, y); +jni::Local<jni::Object<PointF>> PointF::New(jni::JNIEnv& env, float x, float y) { + static auto& javaClass = jni::Class<PointF>::Singleton(env); + static auto constructor = javaClass.GetConstructor<float, float>(env); + return javaClass.New(env, constructor, x, y); } -mbgl::ScreenCoordinate PointF::getScreenCoordinate(jni::JNIEnv& env, jni::Object<PointF> point) { - static auto xField = PointF::javaClass.GetField<jni::jfloat>(env, "x"); - static auto yField = PointF::javaClass.GetField<jni::jfloat>(env, "y"); +mbgl::ScreenCoordinate PointF::getScreenCoordinate(jni::JNIEnv& env, const jni::Object<PointF>& point) { + static auto& javaClass = jni::Class<PointF>::Singleton(env); + static auto xField = javaClass.GetField<jni::jfloat>(env, "x"); + static auto yField = javaClass.GetField<jni::jfloat>(env, "y"); return mbgl::ScreenCoordinate{point.Get(env, xField), point.Get(env, yField)}; } void PointF::registerNative(jni::JNIEnv& env) { - // Lookup the class - PointF::javaClass = *jni::Class<PointF>::Find(env).NewGlobalRef(env).release(); + jni::Class<PointF>::Singleton(env); } -jni::Class<PointF> PointF::javaClass; - - } // namespace android } // namespace mbgl
\ No newline at end of file diff --git a/platform/android/src/graphics/pointf.hpp b/platform/android/src/graphics/pointf.hpp index e3ef24dd65..899468b8e3 100644 --- a/platform/android/src/graphics/pointf.hpp +++ b/platform/android/src/graphics/pointf.hpp @@ -12,14 +12,11 @@ public: static constexpr auto Name() { return "android/graphics/PointF"; }; - static jni::Object<PointF> New(jni::JNIEnv&, float, float); + static jni::Local<jni::Object<PointF>> New(jni::JNIEnv&, float, float); - static mbgl::ScreenCoordinate getScreenCoordinate(jni::JNIEnv&, jni::Object<PointF>); - - static jni::Class<PointF> javaClass; + static mbgl::ScreenCoordinate getScreenCoordinate(jni::JNIEnv&, const jni::Object<PointF>&); static void registerNative(jni::JNIEnv&); - }; diff --git a/platform/android/src/graphics/rectf.cpp b/platform/android/src/graphics/rectf.cpp index 1b375dad18..8f418da037 100644 --- a/platform/android/src/graphics/rectf.cpp +++ b/platform/android/src/graphics/rectf.cpp @@ -3,33 +3,33 @@ namespace mbgl { namespace android { -float RectF::getLeft(jni::JNIEnv& env, jni::Object<RectF> rectf) { - static auto field = RectF::javaClass.GetField<float>(env, "left"); +float RectF::getLeft(jni::JNIEnv& env, const jni::Object<RectF>& rectf) { + static auto& javaClass = jni::Class<RectF>::Singleton(env); + static auto field = javaClass.GetField<float>(env, "left"); return rectf.Get(env, field); } -float RectF::getTop(jni::JNIEnv& env, jni::Object<RectF> rectf) { - static auto field = RectF::javaClass.GetField<float>(env, "top"); +float RectF::getTop(jni::JNIEnv& env, const jni::Object<RectF>& rectf) { + static auto& javaClass = jni::Class<RectF>::Singleton(env); + static auto field = javaClass.GetField<float>(env, "top"); return rectf.Get(env, field); } -float RectF::getRight(jni::JNIEnv& env, jni::Object<RectF> rectf) { - static auto field = RectF::javaClass.GetField<float>(env, "right"); +float RectF::getRight(jni::JNIEnv& env, const jni::Object<RectF>& rectf) { + static auto& javaClass = jni::Class<RectF>::Singleton(env); + static auto field = javaClass.GetField<float>(env, "right"); return rectf.Get(env, field); } -float RectF::getBottom(jni::JNIEnv& env, jni::Object<RectF> rectf) { - static auto field = RectF::javaClass.GetField<float>(env, "bottom"); +float RectF::getBottom(jni::JNIEnv& env, const jni::Object<RectF>& rectf) { + static auto& javaClass = jni::Class<RectF>::Singleton(env); + static auto field = javaClass.GetField<float>(env, "bottom"); return rectf.Get(env, field); } void RectF::registerNative(jni::JNIEnv& env) { - // Lookup the class - RectF::javaClass = *jni::Class<RectF>::Find(env).NewGlobalRef(env).release(); + jni::Class<RectF>::Singleton(env); } -jni::Class<RectF> RectF::javaClass; - - } // namespace android } // namespace mbgl
\ No newline at end of file diff --git a/platform/android/src/graphics/rectf.hpp b/platform/android/src/graphics/rectf.hpp index 0f3a7756d5..ba611f2262 100644 --- a/platform/android/src/graphics/rectf.hpp +++ b/platform/android/src/graphics/rectf.hpp @@ -12,18 +12,15 @@ public: static constexpr auto Name() { return "android/graphics/RectF"; }; - static float getLeft(jni::JNIEnv&, jni::Object<RectF>); + static float getLeft(jni::JNIEnv&, const jni::Object<RectF>&); - static float getTop(jni::JNIEnv&, jni::Object<RectF>); + static float getTop(jni::JNIEnv&, const jni::Object<RectF>&); - static float getRight(jni::JNIEnv&, jni::Object<RectF>); + static float getRight(jni::JNIEnv&, const jni::Object<RectF>&); - static float getBottom(jni::JNIEnv&, jni::Object<RectF>); - - static jni::Class<RectF> javaClass; + static float getBottom(jni::JNIEnv&, const jni::Object<RectF>&); static void registerNative(jni::JNIEnv&); - }; |