15 #include "config_android.h"
16 #include "pnmFileTypeAndroid.h"
17 #include "pnmFileTypeRegistry.h"
19 #include "pandaSystem.h"
21 NotifyCategoryDef(android,
"");
23 struct android_app *panda_android_app = NULL;
25 jclass jni_PandaActivity;
26 jmethodID jni_PandaActivity_readBitmapSize;
27 jmethodID jni_PandaActivity_readBitmap;
29 jclass jni_BitmapFactory_Options;
30 jfieldID jni_BitmapFactory_Options_outWidth;
31 jfieldID jni_BitmapFactory_Options_outHeight;
43 PNMFileTypeAndroid::init_type();
44 PNMFileTypeAndroid::register_with_read_factory();
54 jint JNI_OnLoad(JavaVM *jvm,
void *reserved) {
57 JNIEnv *env = get_jni_env();
60 jni_PandaActivity = env->FindClass(
"org/panda3d/android/PandaActivity");
61 jni_PandaActivity = (jclass) env->NewGlobalRef(jni_PandaActivity);
63 jni_PandaActivity_readBitmapSize = env->GetStaticMethodID(jni_PandaActivity,
64 "readBitmapSize",
"(J)Landroid/graphics/BitmapFactory$Options;");
66 jni_PandaActivity_readBitmap = env->GetStaticMethodID(jni_PandaActivity,
67 "readBitmap",
"(JI)Landroid/graphics/Bitmap;");
69 jni_BitmapFactory_Options = env->FindClass(
"android/graphics/BitmapFactory$Options");
70 jni_BitmapFactory_Options = (jclass) env->NewGlobalRef(jni_BitmapFactory_Options);
72 jni_BitmapFactory_Options_outWidth = env->GetFieldID(jni_BitmapFactory_Options,
"outWidth",
"I");
73 jni_BitmapFactory_Options_outHeight = env->GetFieldID(jni_BitmapFactory_Options,
"outHeight",
"I");
75 return JNI_VERSION_1_4;
83 void JNI_OnUnload(JavaVM *jvm,
void *reserved) {
84 JNIEnv *env = get_jni_env();
86 env->DeleteGlobalRef(jni_PandaActivity);
87 env->DeleteGlobalRef(jni_BitmapFactory_Options);
static PNMFileTypeRegistry * get_global_ptr()
Returns a pointer to the global PNMFileTypeRegistry object.
This class maintains the set of all known PNMFileTypes in the universe.
void register_type(PNMFileType *type)
Defines a new PNMFileType in the universe.