int register_android_emoji_EmojiFactory(JNIEnv* env) { gBitmap_class = make_globalref(env, "android/graphics/Bitmap"); gBitmap_constructorMethodID = env->GetMethodID(gBitmap_class, "<init>", "(I[BZ[BI)V"); gEmojiFactory_class = make_globalref(env, "android/emoji/EmojiFactory"); gEmojiFactory_constructorMethodID = env->GetMethodID( gEmojiFactory_class, "<init>", "(ILjava/lang/String;)V"); return jniRegisterNativeMethods(env, "android/emoji/EmojiFactory", gMethods, NELEM(gMethods)); }
int register_android_graphics_Graphics(JNIEnv* env) { jmethodID m; jclass c; gRect_class = make_globalref(env, "android/graphics/Rect"); gRect_leftFieldID = getFieldIDCheck(env, gRect_class, "left", "I"); gRect_topFieldID = getFieldIDCheck(env, gRect_class, "top", "I"); gRect_rightFieldID = getFieldIDCheck(env, gRect_class, "right", "I"); gRect_bottomFieldID = getFieldIDCheck(env, gRect_class, "bottom", "I"); gRectF_class = make_globalref(env, "android/graphics/RectF"); gRectF_leftFieldID = getFieldIDCheck(env, gRectF_class, "left", "F"); gRectF_topFieldID = getFieldIDCheck(env, gRectF_class, "top", "F"); gRectF_rightFieldID = getFieldIDCheck(env, gRectF_class, "right", "F"); gRectF_bottomFieldID = getFieldIDCheck(env, gRectF_class, "bottom", "F"); gPoint_class = make_globalref(env, "android/graphics/Point"); gPoint_xFieldID = getFieldIDCheck(env, gPoint_class, "x", "I"); gPoint_yFieldID = getFieldIDCheck(env, gPoint_class, "y", "I"); gPointF_class = make_globalref(env, "android/graphics/PointF"); gPointF_xFieldID = getFieldIDCheck(env, gPointF_class, "x", "F"); gPointF_yFieldID = getFieldIDCheck(env, gPointF_class, "y", "F"); gBitmap_class = make_globalref(env, "android/graphics/Bitmap"); gBitmap_nativeInstanceID = getFieldIDCheck(env, gBitmap_class, "mNativeBitmap", "I"); gBitmap_constructorMethodID = env->GetMethodID(gBitmap_class, "<init>", "(I[BZ[BI)V"); //gBitmapRegionDecoder_class = make_globalref(env, "android/graphics/BitmapRegionDecoder"); //gBitmapRegionDecoder_constructorMethodID = env->GetMethodID(gBitmapRegionDecoder_class, "<init>", "(I)V"); gBitmapConfig_class = make_globalref(env, "android/graphics/Bitmap$Config"); gBitmapConfig_nativeInstanceID = getFieldIDCheck(env, gBitmapConfig_class, "nativeInt", "I"); gCanvas_class = make_globalref(env, "android/graphics/Canvas"); gCanvas_nativeInstanceID = getFieldIDCheck(env, gCanvas_class, "mNativeCanvas", "I"); gPaint_class = make_globalref(env, "android/graphics/Paint"); gPaint_nativeInstanceID = getFieldIDCheck(env, gPaint_class, "mNativePaint", "I"); gPicture_class = make_globalref(env, "android/graphics/Picture"); gPicture_nativeInstanceID = getFieldIDCheck(env, gPicture_class, "mNativePicture", "I"); gRegion_class = make_globalref(env, "android/graphics/Region"); gRegion_nativeInstanceID = getFieldIDCheck(env, gRegion_class, "mNativeRegion", "I"); gRegion_constructorMethodID = env->GetMethodID(gRegion_class, "<init>", "(II)V"); return 0; }
int register_amlogic_graphics(JNIEnv* env) { jmethodID m; jclass c; #if 0 gBitmap_class = make_globalref(env, "android/graphics/Bitmap"); gBitmap_nativeInstanceID = getFieldIDCheck(env, gBitmap_class, "mNativeBitmap", "I"); gBitmap_constructorMethodID = env->GetMethodID(gBitmap_class, "<init>", "(IZ[BI)V"); gBitmapConfig_class = make_globalref(env, "android/graphics/Bitmap$Config"); gBitmapConfig_nativeInstanceID = getFieldIDCheck(env, gBitmapConfig_class, "nativeInt", "I"); #endif gdecoderInfo_class = make_globalref(env, "com/amlogic/graphics/DecoderInfo"); gdecoderInfo_imageWidthID = getFieldIDCheck(env, gdecoderInfo_class, "imageWidth", "I"); gdecoderInfo_imageHeightID = getFieldIDCheck(env, gdecoderInfo_class, "imageHeight", "I"); gdecoderInfo_widthToDecoderID = getFieldIDCheck(env, gdecoderInfo_class, "widthToDecoder", "I"); gdecoderInfo_HeightToDecoderID = getFieldIDCheck(env, gdecoderInfo_class, "heightToDecoder", "I"); gdecoderInfo_colorModeID = getFieldIDCheck(env, gdecoderInfo_class, "colorMode", "I"); gdecoderInfo_decodeModeID = getFieldIDCheck(env, gdecoderInfo_class, "decodemode", "I"); gdecoderInfo_pictureTypeID = getFieldIDCheck(env, gdecoderInfo_class, "pictureType", "I"); gdecoderInfo_thumbPreferID = getFieldIDCheck(env, gdecoderInfo_class, "thumbprefered", "I"); gdecoderInfo_3DPrefID = getFieldIDCheck(env, gdecoderInfo_class, "image3DPref", "I"); gdecoderInfo_3DParam1ID = getFieldIDCheck(env, gdecoderInfo_class, "image3DParam1", "I"); gdecoderInfo_3DParam2ID = getFieldIDCheck(env, gdecoderInfo_class, "image3DParam2", "I"); gImageInfo_class = make_globalref(env, "com/amlogic/graphics/ImageInfo"); gdecoderInfo_originImageWidthID = getFieldIDCheck(env, gImageInfo_class, "originImageWidth", "I"); gdecoderInfo_originImageHeightID= getFieldIDCheck(env, gImageInfo_class, "originImageHeight", "I"); gdecoderInfo_outImageWidthID = getFieldIDCheck(env, gImageInfo_class, "outImageWidth", "I"); gdecoderInfo_outImageHeightID = getFieldIDCheck(env, gImageInfo_class, "outImageHeight", "I"); // Get the VMRuntime class. c = env->FindClass("dalvik/system/VMRuntime"); assert(c); // Look up VMRuntime.getRuntime(). m = env->GetStaticMethodID(c, "getRuntime", "()Ldalvik/system/VMRuntime;"); assert(m); // Call VMRuntime.getRuntime() and hold onto its result. gVMRuntime_singleton = env->CallStaticObjectMethod(c, m); assert(gVMRuntime_singleton); gVMRuntime_singleton = (jobject)env->NewGlobalRef(gVMRuntime_singleton); // Look up the VMRuntime methods we'll be using. gVMRuntime_trackExternalAllocationMethodID = env->GetMethodID(c, "trackExternalAllocation", "(J)Z"); gVMRuntime_trackExternalFreeMethodID = env->GetMethodID(c, "trackExternalFree", "(J)V"); return 0; }
int unregister_amlogic_graphics(JNIEnv* env) { jmethodID m; jclass c; #if 0 gBitmap_class = make_globalref(env, "android/graphics/Bitmap"); gBitmapConfig_class = make_globalref(env, "android/graphics/Bitmap$Config"); env->DeleteGlobalRef(gBitmap_class); gBitmap_class=NULL; #endif env->DeleteGlobalRef(gdecoderInfo_class); gdecoderInfo_class=NULL; env->DeleteGlobalRef(gImageInfo_class); gImageInfo_class=NULL; env->DeleteGlobalRef(gVMRuntime_singleton); gVMRuntime_singleton=NULL; return 0; }
static void nativeClassInit(JNIEnv *_env, jclass eglImplClass) { gDisplay_class = make_globalref(_env, "com/google/android/gles_jni/EGLDisplayImpl"); gContext_class = make_globalref(_env, "com/google/android/gles_jni/EGLContextImpl"); gSurface_class = make_globalref(_env, "com/google/android/gles_jni/EGLSurfaceImpl"); gConfig_class = make_globalref(_env, "com/google/android/gles_jni/EGLConfigImpl"); gConfig_ctorID = _env->GetMethodID(gConfig_class, "<init>", "(I)V"); gDisplay_EGLDisplayFieldID = _env->GetFieldID(gDisplay_class, "mEGLDisplay", "I"); gContext_EGLContextFieldID = _env->GetFieldID(gContext_class, "mEGLContext", "I"); gSurface_EGLSurfaceFieldID = _env->GetFieldID(gSurface_class, "mEGLSurface", "I"); gSurface_NativePixelRefFieldID = _env->GetFieldID(gSurface_class, "mNativePixelRef", "I"); gConfig_EGLConfigFieldID = _env->GetFieldID(gConfig_class, "mEGLConfig", "I"); jclass surface_class = _env->FindClass("android/view/Surface"); gSurface_SurfaceFieldID = _env->GetFieldID(surface_class, "mSurface", "I"); jclass bitmap_class = _env->FindClass("android/graphics/Bitmap"); gBitmap_NativeBitmapFieldID = _env->GetFieldID(bitmap_class, "mNativeBitmap", "I"); }
int register_android_graphics_Graphics(JNIEnv* env) { jmethodID m; jclass c; gRect_class = make_globalref(env, "android/graphics/Rect"); gRect_leftFieldID = getFieldIDCheck(env, gRect_class, "left", "I"); gRect_topFieldID = getFieldIDCheck(env, gRect_class, "top", "I"); gRect_rightFieldID = getFieldIDCheck(env, gRect_class, "right", "I"); gRect_bottomFieldID = getFieldIDCheck(env, gRect_class, "bottom", "I"); gRectF_class = make_globalref(env, "android/graphics/RectF"); gRectF_leftFieldID = getFieldIDCheck(env, gRectF_class, "left", "F"); gRectF_topFieldID = getFieldIDCheck(env, gRectF_class, "top", "F"); gRectF_rightFieldID = getFieldIDCheck(env, gRectF_class, "right", "F"); gRectF_bottomFieldID = getFieldIDCheck(env, gRectF_class, "bottom", "F"); gPoint_class = make_globalref(env, "android/graphics/Point"); gPoint_xFieldID = getFieldIDCheck(env, gPoint_class, "x", "I"); gPoint_yFieldID = getFieldIDCheck(env, gPoint_class, "y", "I"); gPointF_class = make_globalref(env, "android/graphics/PointF"); gPointF_xFieldID = getFieldIDCheck(env, gPointF_class, "x", "F"); gPointF_yFieldID = getFieldIDCheck(env, gPointF_class, "y", "F"); gBitmap_class = make_globalref(env, "android/graphics/Bitmap"); gBitmap_nativeInstanceID = getFieldIDCheck(env, gBitmap_class, "mNativeBitmap", "I"); gBitmap_constructorMethodID = env->GetMethodID(gBitmap_class, "<init>", "(I[BZ[B[II)V"); gBitmapRegionDecoder_class = make_globalref(env, "android/graphics/BitmapRegionDecoder"); gBitmapRegionDecoder_constructorMethodID = env->GetMethodID(gBitmapRegionDecoder_class, "<init>", "(I)V"); gBitmapConfig_class = make_globalref(env, "android/graphics/Bitmap$Config"); gBitmapConfig_nativeInstanceID = getFieldIDCheck(env, gBitmapConfig_class, "nativeInt", "I"); gCanvas_class = make_globalref(env, "android/graphics/Canvas"); gCanvas_nativeInstanceID = getFieldIDCheck(env, gCanvas_class, "mNativeCanvas", "I"); gPaint_class = make_globalref(env, "android/graphics/Paint"); gPaint_nativeInstanceID = getFieldIDCheck(env, gPaint_class, "mNativePaint", "I"); gPicture_class = make_globalref(env, "android/graphics/Picture"); gPicture_nativeInstanceID = getFieldIDCheck(env, gPicture_class, "mNativePicture", "I"); gRegion_class = make_globalref(env, "android/graphics/Region"); gRegion_nativeInstanceID = getFieldIDCheck(env, gRegion_class, "mNativeRegion", "I"); gRegion_constructorMethodID = env->GetMethodID(gRegion_class, "<init>", "(II)V"); c = env->FindClass("java/lang/Byte"); gByte_class = (jclass) env->NewGlobalRef( env->GetStaticObjectField(c, env->GetStaticFieldID(c, "TYPE", "Ljava/lang/Class;"))); gVMRuntime_class = make_globalref(env, "dalvik/system/VMRuntime"); m = env->GetStaticMethodID(gVMRuntime_class, "getRuntime", "()Ldalvik/system/VMRuntime;"); gVMRuntime = env->NewGlobalRef(env->CallStaticObjectMethod(gVMRuntime_class, m)); gVMRuntime_newNonMovableArray = env->GetMethodID(gVMRuntime_class, "newNonMovableArray", "(Ljava/lang/Class;I)Ljava/lang/Object;"); gVMRuntime_addressOf = env->GetMethodID(gVMRuntime_class, "addressOf", "(Ljava/lang/Object;)J"); return 0; }
int register_android_graphics_Graphics(JNIEnv* env) { jmethodID m; jclass c; gRect_class = make_globalref(env, "android/graphics/Rect"); gRect_leftFieldID = getFieldIDCheck(env, gRect_class, "left", "I"); gRect_topFieldID = getFieldIDCheck(env, gRect_class, "top", "I"); gRect_rightFieldID = getFieldIDCheck(env, gRect_class, "right", "I"); gRect_bottomFieldID = getFieldIDCheck(env, gRect_class, "bottom", "I"); gRectF_class = make_globalref(env, "android/graphics/RectF"); gRectF_leftFieldID = getFieldIDCheck(env, gRectF_class, "left", "F"); gRectF_topFieldID = getFieldIDCheck(env, gRectF_class, "top", "F"); gRectF_rightFieldID = getFieldIDCheck(env, gRectF_class, "right", "F"); gRectF_bottomFieldID = getFieldIDCheck(env, gRectF_class, "bottom", "F"); gPoint_class = make_globalref(env, "android/graphics/Point"); gPoint_xFieldID = getFieldIDCheck(env, gPoint_class, "x", "I"); gPoint_yFieldID = getFieldIDCheck(env, gPoint_class, "y", "I"); gPointF_class = make_globalref(env, "android/graphics/PointF"); gPointF_xFieldID = getFieldIDCheck(env, gPointF_class, "x", "F"); gPointF_yFieldID = getFieldIDCheck(env, gPointF_class, "y", "F"); gBitmap_class = make_globalref(env, "android/graphics/Bitmap"); gBitmap_nativeInstanceID = getFieldIDCheck(env, gBitmap_class, "mNativeBitmap", "I"); gBitmap_constructorMethodID = env->GetMethodID(gBitmap_class, "<init>", "(IZ[BI)V"); gBitmapConfig_class = make_globalref(env, "android/graphics/Bitmap$Config"); gBitmapConfig_nativeInstanceID = getFieldIDCheck(env, gBitmapConfig_class, "nativeInt", "I"); gCanvas_class = make_globalref(env, "android/graphics/Canvas"); gCanvas_nativeInstanceID = getFieldIDCheck(env, gCanvas_class, "mNativeCanvas", "I"); gPaint_class = make_globalref(env, "android/graphics/Paint"); gPaint_nativeInstanceID = getFieldIDCheck(env, gPaint_class, "mNativePaint", "I"); gPicture_class = make_globalref(env, "android/graphics/Picture"); gPicture_nativeInstanceID = getFieldIDCheck(env, gPicture_class, "mNativePicture", "I"); gRegion_class = make_globalref(env, "android/graphics/Region"); gRegion_nativeInstanceID = getFieldIDCheck(env, gRegion_class, "mNativeRegion", "I"); gRegion_constructorMethodID = env->GetMethodID(gRegion_class, "<init>", "(II)V"); // Get the VMRuntime class. c = env->FindClass("dalvik/system/VMRuntime"); SkASSERT(c); // Look up VMRuntime.getRuntime(). m = env->GetStaticMethodID(c, "getRuntime", "()Ldalvik/system/VMRuntime;"); SkASSERT(m); // Call VMRuntime.getRuntime() and hold onto its result. gVMRuntime_singleton = env->CallStaticObjectMethod(c, m); SkASSERT(gVMRuntime_singleton); gVMRuntime_singleton = (jobject)env->NewGlobalRef(gVMRuntime_singleton); // Look up the VMRuntime methods we'll be using. gVMRuntime_trackExternalAllocationMethodID = env->GetMethodID(c, "trackExternalAllocation", "(J)Z"); gVMRuntime_trackExternalFreeMethodID = env->GetMethodID(c, "trackExternalFree", "(J)V"); NIOBuffer::RegisterJNI(env); return 0; }