public static unsafe float[] GetRotation(global::JP.CO.Cyberagent.Android.Gpuimage.Rotation rotation, bool flipHorizontal, bool flipVertical)
 {
     if (id_getRotation_Ljp_co_cyberagent_android_gpuimage_Rotation_ZZ == IntPtr.Zero)
     {
         id_getRotation_Ljp_co_cyberagent_android_gpuimage_Rotation_ZZ = JNIEnv.GetStaticMethodID(class_ref, "getRotation", "(Ljp/co/cyberagent/android/gpuimage/Rotation;ZZ)[F");
     }
     try {
         JValue *__args = stackalloc JValue [3];
         __args [0] = new JValue(rotation);
         __args [1] = new JValue(flipHorizontal);
         __args [2] = new JValue(flipVertical);
         float[] __ret = (float[])JNIEnv.GetArray(JNIEnv.CallStaticObjectMethod(class_ref, id_getRotation_Ljp_co_cyberagent_android_gpuimage_Rotation_ZZ, __args), JniHandleOwnership.TransferLocalRef, typeof(float));
         return(__ret);
     } finally {
     }
 }
        public static unsafe global::JP.CO.Cyberagent.Android.Gpuimage.Rotation ValueOf(string name)
        {
            if (id_valueOf_Ljava_lang_String_ == IntPtr.Zero)
            {
                id_valueOf_Ljava_lang_String_ = JNIEnv.GetStaticMethodID(class_ref, "valueOf", "(Ljava/lang/String;)Ljp/co/cyberagent/android/gpuimage/Rotation;");
            }
            IntPtr native_name = JNIEnv.NewString(name);

            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(native_name);
                global::JP.CO.Cyberagent.Android.Gpuimage.Rotation __ret = global::Java.Lang.Object.GetObject <global::JP.CO.Cyberagent.Android.Gpuimage.Rotation> (JNIEnv.CallStaticObjectMethod(class_ref, id_valueOf_Ljava_lang_String_, __args), JniHandleOwnership.TransferLocalRef);
                return(__ret);
            } finally {
                JNIEnv.DeleteLocalRef(native_name);
            }
        }
        public virtual unsafe void SetRotation(global::JP.CO.Cyberagent.Android.Gpuimage.Rotation rotation, bool flipHorizontal, bool flipVertical)
        {
            if (id_setRotation_Ljp_co_cyberagent_android_gpuimage_Rotation_ZZ == IntPtr.Zero)
            {
                id_setRotation_Ljp_co_cyberagent_android_gpuimage_Rotation_ZZ = JNIEnv.GetMethodID(class_ref, "setRotation", "(Ljp/co/cyberagent/android/gpuimage/Rotation;ZZ)V");
            }
            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(rotation);
                __args [1] = new JValue(flipHorizontal);
                __args [2] = new JValue(flipVertical);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_setRotation_Ljp_co_cyberagent_android_gpuimage_Rotation_ZZ, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "setRotation", "(Ljp/co/cyberagent/android/gpuimage/Rotation;ZZ)V"), __args);
                }
            } finally {
            }
        }
 static void n_SetRotation_Ljp_co_cyberagent_android_gpuimage_Rotation_ZZ(IntPtr jnienv, IntPtr native__this, IntPtr native_rotation, bool flipHorizontal, bool flipVertical)
 {
     global::JP.CO.Cyberagent.Android.Gpuimage.GPUImageTwoInputFilter __this = global::Java.Lang.Object.GetObject <global::JP.CO.Cyberagent.Android.Gpuimage.GPUImageTwoInputFilter> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::JP.CO.Cyberagent.Android.Gpuimage.Rotation rotation             = global::Java.Lang.Object.GetObject <global::JP.CO.Cyberagent.Android.Gpuimage.Rotation> (native_rotation, JniHandleOwnership.DoNotTransfer);
     __this.SetRotation(rotation, flipHorizontal, flipVertical);
 }