#include "lat_lng_quad.hpp" #include "lat_lng.hpp" namespace mbgl { namespace android { jni::Object LatLngQuad::New(jni::JNIEnv& env, std::array coordinates) { static auto javaClass = jni::Class::Singleton(env); static auto quadConstructor = javaClass.GetConstructor, jni::Object, jni::Object, jni::Object>(env); return javaClass.New(env, quadConstructor, LatLng::New(env, coordinates[0]), LatLng::New(env, coordinates[1]), LatLng::New(env, coordinates[2]), LatLng::New(env, coordinates[3])); } std::array LatLngQuad::getLatLngArray(jni::JNIEnv& env, jni::Object quad) { static auto javaClass = jni::Class::Singleton(env); static auto topLeftField = javaClass.GetField >(env, "topLeft"); static auto topRightField = javaClass.GetField >(env, "topRight"); static auto bottomRightField = javaClass.GetField >(env, "bottomRight"); static auto bottomLeftField = javaClass.GetField >(env, "bottomLeft"); return std::array < mbgl::LatLng, 4 > {{ LatLng::getLatLng(env, quad.Get(env, topLeftField)), LatLng::getLatLng(env, quad.Get(env, topRightField)), LatLng::getLatLng(env, quad.Get(env, bottomRightField)), LatLng::getLatLng(env, quad.Get(env, bottomLeftField)) }}; } void LatLngQuad::registerNative(jni::JNIEnv& env) { jni::Class::Singleton(env); } } // namespace android } // namespace mbgl