// WARNING: This file was autogenerated by jni-bindgen. Any changes to this file may be lost!!!
#[cfg(any(feature = "all", feature = "android-opengl-GLSurfaceView_EGLWindowSurfaceFactory"))]
__jni_bindgen! {
/// public interface [GLSurfaceView.EGLWindowSurfaceFactory](https://developer.android.com/reference/android/opengl/GLSurfaceView.EGLWindowSurfaceFactory.html)
///
/// Required feature: "android-opengl-GLSurfaceView_EGLWindowSurfaceFactory"
public interface GLSurfaceView_EGLWindowSurfaceFactory ("android/opengl/GLSurfaceView$EGLWindowSurfaceFactory") extends crate::java::lang::Object {
/// [createWindowSurface](https://developer.android.com/reference/android/opengl/GLSurfaceView.EGLWindowSurfaceFactory.html#createWindowSurface(javax.microedition.khronos.egl.EGL10,%20javax.microedition.khronos.egl.EGLDisplay,%20javax.microedition.khronos.egl.EGLConfig,%20java.lang.Object))
///
/// Required features: "java-lang-Object", "javax-microedition-khronos-egl-EGL10", "javax-microedition-khronos-egl-EGLConfig", "javax-microedition-khronos-egl-EGLDisplay", "javax-microedition-khronos-egl-EGLSurface"
#[cfg(any(feature = "all", all(feature = "java-lang-Object", feature = "javax-microedition-khronos-egl-EGL10", feature = "javax-microedition-khronos-egl-EGLConfig", feature = "javax-microedition-khronos-egl-EGLDisplay", feature = "javax-microedition-khronos-egl-EGLSurface")))]
pub fn createWindowSurface<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::javax::microedition::khronos::egl::EGL10>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::javax::microedition::khronos::egl::EGLDisplay>>, arg2: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::javax::microedition::khronos::egl::EGLConfig>>, arg3: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::Object>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::javax::microedition::khronos::egl::EGLSurface>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
// class.path == "android/opengl/GLSurfaceView$EGLWindowSurfaceFactory", java.flags == PUBLIC | ABSTRACT, .name == "createWindowSurface", .descriptor == "(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLSurface;"
unsafe {
let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into()), __jni_bindgen::AsJValue::as_jvalue(&arg2.into()), __jni_bindgen::AsJValue::as_jvalue(&arg3.into())];
let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
let (__jni_class, __jni_method) = __jni_env.require_class_method("android/opengl/GLSurfaceView$EGLWindowSurfaceFactory\0", "createWindowSurface\0", "(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLSurface;\0");
__jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
}
}
/// [destroySurface](https://developer.android.com/reference/android/opengl/GLSurfaceView.EGLWindowSurfaceFactory.html#destroySurface(javax.microedition.khronos.egl.EGL10,%20javax.microedition.khronos.egl.EGLDisplay,%20javax.microedition.khronos.egl.EGLSurface))
///
/// Required features: "javax-microedition-khronos-egl-EGL10", "javax-microedition-khronos-egl-EGLDisplay", "javax-microedition-khronos-egl-EGLSurface"
#[cfg(any(feature = "all", all(feature = "javax-microedition-khronos-egl-EGL10", feature = "javax-microedition-khronos-egl-EGLDisplay", feature = "javax-microedition-khronos-egl-EGLSurface")))]
pub fn destroySurface<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::javax::microedition::khronos::egl::EGL10>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::javax::microedition::khronos::egl::EGLDisplay>>, arg2: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::javax::microedition::khronos::egl::EGLSurface>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
// class.path == "android/opengl/GLSurfaceView$EGLWindowSurfaceFactory", java.flags == PUBLIC | ABSTRACT, .name == "destroySurface", .descriptor == "(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)V"
unsafe {
let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into()), __jni_bindgen::AsJValue::as_jvalue(&arg2.into())];
let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
let (__jni_class, __jni_method) = __jni_env.require_class_method("android/opengl/GLSurfaceView$EGLWindowSurfaceFactory\0", "destroySurface\0", "(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)V\0");
__jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
}
}
}
}