Add ImGuiListClipper

Add ImGuiListClipper
This commit is contained in:
SpaiR committed 2020-06-06 16:01:02 +03:00
1 parent c024de2b21
commit 7a0e9ec942
8 files changed
+155 -76

No files matched your search

+21 -12
View File
@@ -1,23 +1,32 @@
#include "jni_callbacks.h"
jmethodID jImListClipperCallbackAcceptMID;
jmethodID jImStrConsumerAcceptMID;
jmethodID jImStrSupplierGetMID;
namespace Jni
{
void InitCallbacks(JNIEnv* env) {
jclass jImStrConsumer = env->FindClass("imgui/callbacks/ImStrConsumer");
jImStrConsumerAcceptMID = env->GetMethodID(jImStrConsumer, "accept", "(Ljava/lang/String;)V");
void InitCallbacks(JNIEnv* env) {
jclass jImListClipperCallback = env->FindClass("imgui/callbacks/ImListClipperCallback");
jImListClipperCallbackAcceptMID = env->GetMethodID(jImListClipperCallback, "accept", "(I)V");
jclass jImStrSupplier = env->FindClass("imgui/callbacks/ImStrSupplier");
jImStrSupplierGetMID = env->GetMethodID(jImStrSupplier, "get", "()Ljava/lang/String;");
}
jclass jImStrConsumer = env->FindClass("imgui/callbacks/ImStrConsumer");
jImStrConsumerAcceptMID = env->GetMethodID(jImStrConsumer, "accept", "(Ljava/lang/String;)V");
void CallImStrConsumer(JNIEnv* env, jobject consumer, const char* str) {
env->CallVoidMethod(consumer, jImStrConsumerAcceptMID, env->NewStringUTF(str));
}
jclass jImStrSupplier = env->FindClass("imgui/callbacks/ImStrSupplier");
jImStrSupplierGetMID = env->GetMethodID(jImStrSupplier, "get", "()Ljava/lang/String;");
}
jstring CallImStrSupplier(JNIEnv* env, jobject supplier) {
return (jstring)env->CallObjectMethod(supplier, jImStrSupplierGetMID);
}
void CallImListClipperCallback(JNIEnv* env, jobject consumer, int index) {
env->CallVoidMethod(consumer, jImListClipperCallbackAcceptMID, index);
}
void CallImStrConsumer(JNIEnv* env, jobject consumer, const char* str) {
env->CallVoidMethod(consumer, jImStrConsumerAcceptMID, env->NewStringUTF(str));
}
jstring CallImStrSupplier(JNIEnv* env, jobject supplier) {
return (jstring)env->CallObjectMethod(supplier, jImStrSupplierGetMID);
}
}