platform/cc/paragraph/interop.cc (66 lines of code) (raw):
#include <jni.h>
#include "interop.hh"
namespace skija {
namespace paragraph {
namespace LineMetrics {
jclass cls;
jmethodID ctor;
void onLoad(JNIEnv* env) {
jclass local = env->FindClass("org/jetbrains/skija/paragraph/LineMetrics");
cls = static_cast<jclass>(env->NewGlobalRef(local));
ctor = env->GetMethodID(cls, "<init>", "(JJJJZDDDDDDDJ)V");
}
void onUnload(JNIEnv* env) {
env->DeleteGlobalRef(cls);
}
}
namespace TextBox {
jclass cls;
jmethodID ctor;
void onLoad(JNIEnv* env) {
jclass local = env->FindClass("org/jetbrains/skija/paragraph/TextBox");
cls = static_cast<jclass>(env->NewGlobalRef(local));
ctor = env->GetMethodID(cls, "<init>", "(FFFFI)V");
}
void onUnload(JNIEnv* env) {
env->DeleteGlobalRef(cls);
}
}
namespace DecorationStyle {
jclass cls;
jmethodID ctor;
void onLoad(JNIEnv* env) {
jclass local = env->FindClass("org/jetbrains/skija/paragraph/DecorationStyle");
cls = static_cast<jclass>(env->NewGlobalRef(local));
ctor = env->GetMethodID(cls, "<init>", "(ZZZZIIF)V");
}
void onUnload(JNIEnv* env) {
env->DeleteGlobalRef(cls);
}
}
namespace Shadow {
jclass cls;
jmethodID ctor;
void onLoad(JNIEnv* env) {
jclass local = env->FindClass("org/jetbrains/skija/paragraph/Shadow");
cls = static_cast<jclass>(env->NewGlobalRef(local));
ctor = env->GetMethodID(cls, "<init>", "(IFFD)V");
}
void onUnload(JNIEnv* env) {
env->DeleteGlobalRef(cls);
}
}
void onLoad(JNIEnv* env) {
LineMetrics::onLoad(env);
TextBox::onLoad(env);
DecorationStyle::onLoad(env);
Shadow::onLoad(env);
}
void onUnload(JNIEnv* env) {
Shadow::onUnload(env);
DecorationStyle::onUnload(env);
TextBox::onUnload(env);
LineMetrics::onUnload(env);
}
}
}