| 1034 | } |
| 1035 | |
| 1036 | void T2DActivity::dumpFontList() { |
| 1037 | |
| 1038 | // Attaches the current thread to the JVM. |
| 1039 | jint lResult; |
| 1040 | jint lFlags = 0; |
| 1041 | JavaVM* lJavaVM = platState.engine->app->activity->vm; |
| 1042 | JNIEnv* lJNIEnv = platState.engine->app->activity->env; |
| 1043 | |
| 1044 | JavaVMAttachArgs lJavaVMAttachArgs; |
| 1045 | lJavaVMAttachArgs.version = JNI_VERSION_1_6; |
| 1046 | lJavaVMAttachArgs.name = "NativeThread"; |
| 1047 | lJavaVMAttachArgs.group = NULL; |
| 1048 | |
| 1049 | lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs); |
| 1050 | if (lResult == JNI_ERR) { |
| 1051 | return; |
| 1052 | } |
| 1053 | |
| 1054 | // Retrieves NativeActivity. |
| 1055 | jobject lNativeActivity = platState.engine->app->activity->clazz; |
| 1056 | jclass ClassNativeActivity = lJNIEnv->GetObjectClass(lNativeActivity); |
| 1057 | |
| 1058 | jmethodID getClassLoader = lJNIEnv->GetMethodID(ClassNativeActivity,"getClassLoader", "()Ljava/lang/ClassLoader;"); |
| 1059 | jobject cls = lJNIEnv->CallObjectMethod(lNativeActivity, getClassLoader); |
| 1060 | jclass classLoader = lJNIEnv->FindClass("java/lang/ClassLoader"); |
| 1061 | jmethodID findClass = lJNIEnv->GetMethodID(classLoader, "loadClass", "(Ljava/lang/String;)Ljava/lang/Class;"); |
| 1062 | jstring strClassName = lJNIEnv->NewStringUTF("com.garagegames.torque2d.FontManager"); |
| 1063 | jclass FontManagerClass = (jclass)lJNIEnv->CallObjectMethod(cls, findClass, strClassName); |
| 1064 | jmethodID MethodFontManager = lJNIEnv->GetStaticMethodID(FontManagerClass, "dumpFontList", "()V"); |
| 1065 | lJNIEnv->CallStaticVoidMethod(FontManagerClass, MethodFontManager); |
| 1066 | lJNIEnv->DeleteLocalRef(strClassName); |
| 1067 | |
| 1068 | // Finished with the JVM. |
| 1069 | lJavaVM->DetachCurrentThread(); |
| 1070 | } |
| 1071 | |
| 1072 | void T2DActivity::getFontPath(const char* fontName, char* fontPath) { |
| 1073 | |