summaryrefslogtreecommitdiff
path: root/platform/android/src/graphics/pointf.cpp
blob: 2fc762d6e9b9b3004c5857ab533a1487d730d71f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <mbgl/util/geo.hpp>
#include "pointf.hpp"

namespace mbgl {
namespace android {

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, 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) {
    jni::Class<PointF>::Singleton(env);
}

} // namespace android
} // namespace mbgl