|  | /* | 
|  | ** Copyright 2012, The Android Open Source Project | 
|  | ** | 
|  | ** Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | ** you may not use this file except in compliance with the License. | 
|  | ** You may obtain a copy of the License at | 
|  | ** | 
|  | **     http://www.apache.org/licenses/LICENSE-2.0 | 
|  | ** | 
|  | ** Unless required by applicable law or agreed to in writing, software | 
|  | ** distributed under the License is distributed on an "AS IS" BASIS, | 
|  | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | ** See the License for the specific language governing permissions and | 
|  | ** limitations under the License. | 
|  | */ | 
|  |  | 
|  | // This source file is automatically generated | 
|  |  | 
|  | package android.opengl; | 
|  |  | 
|  | import android.compat.annotation.UnsupportedAppUsage; | 
|  | import android.graphics.SurfaceTexture; | 
|  | import android.os.Build; | 
|  | import android.view.Surface; | 
|  | import android.view.SurfaceHolder; | 
|  | import android.view.SurfaceView; | 
|  |  | 
|  | /** | 
|  | * EGL 1.4 | 
|  | * | 
|  | */ | 
|  | public class EGL14 { | 
|  |  | 
|  | public static final int EGL_DEFAULT_DISPLAY            = 0; | 
|  | public static EGLContext EGL_NO_CONTEXT                = null; | 
|  | public static EGLDisplay EGL_NO_DISPLAY                = null; | 
|  | public static EGLSurface EGL_NO_SURFACE                = null; | 
|  |  | 
|  | public static final int EGL_FALSE                          = 0; | 
|  | public static final int EGL_TRUE                           = 1; | 
|  | public static final int EGL_SUCCESS                        = 0x3000; | 
|  | public static final int EGL_NOT_INITIALIZED                = 0x3001; | 
|  | public static final int EGL_BAD_ACCESS                     = 0x3002; | 
|  | public static final int EGL_BAD_ALLOC                      = 0x3003; | 
|  | public static final int EGL_BAD_ATTRIBUTE                  = 0x3004; | 
|  | public static final int EGL_BAD_CONFIG                     = 0x3005; | 
|  | public static final int EGL_BAD_CONTEXT                    = 0x3006; | 
|  | public static final int EGL_BAD_CURRENT_SURFACE            = 0x3007; | 
|  | public static final int EGL_BAD_DISPLAY                    = 0x3008; | 
|  | public static final int EGL_BAD_MATCH                      = 0x3009; | 
|  | public static final int EGL_BAD_NATIVE_PIXMAP              = 0x300A; | 
|  | public static final int EGL_BAD_NATIVE_WINDOW              = 0x300B; | 
|  | public static final int EGL_BAD_PARAMETER                  = 0x300C; | 
|  | public static final int EGL_BAD_SURFACE                    = 0x300D; | 
|  | public static final int EGL_CONTEXT_LOST                   = 0x300E; | 
|  | public static final int EGL_BUFFER_SIZE                    = 0x3020; | 
|  | public static final int EGL_ALPHA_SIZE                     = 0x3021; | 
|  | public static final int EGL_BLUE_SIZE                      = 0x3022; | 
|  | public static final int EGL_GREEN_SIZE                     = 0x3023; | 
|  | public static final int EGL_RED_SIZE                       = 0x3024; | 
|  | public static final int EGL_DEPTH_SIZE                     = 0x3025; | 
|  | public static final int EGL_STENCIL_SIZE                   = 0x3026; | 
|  | public static final int EGL_CONFIG_CAVEAT                  = 0x3027; | 
|  | public static final int EGL_CONFIG_ID                      = 0x3028; | 
|  | public static final int EGL_LEVEL                          = 0x3029; | 
|  | public static final int EGL_MAX_PBUFFER_HEIGHT             = 0x302A; | 
|  | public static final int EGL_MAX_PBUFFER_PIXELS             = 0x302B; | 
|  | public static final int EGL_MAX_PBUFFER_WIDTH              = 0x302C; | 
|  | public static final int EGL_NATIVE_RENDERABLE              = 0x302D; | 
|  | public static final int EGL_NATIVE_VISUAL_ID               = 0x302E; | 
|  | public static final int EGL_NATIVE_VISUAL_TYPE             = 0x302F; | 
|  | public static final int EGL_SAMPLES                        = 0x3031; | 
|  | public static final int EGL_SAMPLE_BUFFERS                 = 0x3032; | 
|  | public static final int EGL_SURFACE_TYPE                   = 0x3033; | 
|  | public static final int EGL_TRANSPARENT_TYPE               = 0x3034; | 
|  | public static final int EGL_TRANSPARENT_BLUE_VALUE         = 0x3035; | 
|  | public static final int EGL_TRANSPARENT_GREEN_VALUE        = 0x3036; | 
|  | public static final int EGL_TRANSPARENT_RED_VALUE          = 0x3037; | 
|  | public static final int EGL_NONE                           = 0x3038; | 
|  | public static final int EGL_BIND_TO_TEXTURE_RGB            = 0x3039; | 
|  | public static final int EGL_BIND_TO_TEXTURE_RGBA           = 0x303A; | 
|  | public static final int EGL_MIN_SWAP_INTERVAL              = 0x303B; | 
|  | public static final int EGL_MAX_SWAP_INTERVAL              = 0x303C; | 
|  | public static final int EGL_LUMINANCE_SIZE                 = 0x303D; | 
|  | public static final int EGL_ALPHA_MASK_SIZE                = 0x303E; | 
|  | public static final int EGL_COLOR_BUFFER_TYPE              = 0x303F; | 
|  | public static final int EGL_RENDERABLE_TYPE                = 0x3040; | 
|  | public static final int EGL_MATCH_NATIVE_PIXMAP            = 0x3041; | 
|  | public static final int EGL_CONFORMANT                     = 0x3042; | 
|  | public static final int EGL_SLOW_CONFIG                    = 0x3050; | 
|  | public static final int EGL_NON_CONFORMANT_CONFIG          = 0x3051; | 
|  | public static final int EGL_TRANSPARENT_RGB                = 0x3052; | 
|  | public static final int EGL_RGB_BUFFER                     = 0x308E; | 
|  | public static final int EGL_LUMINANCE_BUFFER               = 0x308F; | 
|  | public static final int EGL_NO_TEXTURE                     = 0x305C; | 
|  | public static final int EGL_TEXTURE_RGB                    = 0x305D; | 
|  | public static final int EGL_TEXTURE_RGBA                   = 0x305E; | 
|  | public static final int EGL_TEXTURE_2D                     = 0x305F; | 
|  | public static final int EGL_PBUFFER_BIT                    = 0x0001; | 
|  | public static final int EGL_PIXMAP_BIT                     = 0x0002; | 
|  | public static final int EGL_WINDOW_BIT                     = 0x0004; | 
|  | public static final int EGL_VG_COLORSPACE_LINEAR_BIT       = 0x0020; | 
|  | public static final int EGL_VG_ALPHA_FORMAT_PRE_BIT        = 0x0040; | 
|  | public static final int EGL_MULTISAMPLE_RESOLVE_BOX_BIT    = 0x0200; | 
|  | public static final int EGL_SWAP_BEHAVIOR_PRESERVED_BIT    = 0x0400; | 
|  | public static final int EGL_OPENGL_ES_BIT                  = 0x0001; | 
|  | public static final int EGL_OPENVG_BIT                     = 0x0002; | 
|  | public static final int EGL_OPENGL_ES2_BIT                 = 0x0004; | 
|  | public static final int EGL_OPENGL_BIT                     = 0x0008; | 
|  | public static final int EGL_VENDOR                         = 0x3053; | 
|  | public static final int EGL_VERSION                        = 0x3054; | 
|  | public static final int EGL_EXTENSIONS                     = 0x3055; | 
|  | public static final int EGL_CLIENT_APIS                    = 0x308D; | 
|  | public static final int EGL_HEIGHT                         = 0x3056; | 
|  | public static final int EGL_WIDTH                          = 0x3057; | 
|  | public static final int EGL_LARGEST_PBUFFER                = 0x3058; | 
|  | public static final int EGL_TEXTURE_FORMAT                 = 0x3080; | 
|  | public static final int EGL_TEXTURE_TARGET                 = 0x3081; | 
|  | public static final int EGL_MIPMAP_TEXTURE                 = 0x3082; | 
|  | public static final int EGL_MIPMAP_LEVEL                   = 0x3083; | 
|  | public static final int EGL_RENDER_BUFFER                  = 0x3086; | 
|  | public static final int EGL_VG_COLORSPACE                  = 0x3087; | 
|  | public static final int EGL_VG_ALPHA_FORMAT                = 0x3088; | 
|  | public static final int EGL_HORIZONTAL_RESOLUTION          = 0x3090; | 
|  | public static final int EGL_VERTICAL_RESOLUTION            = 0x3091; | 
|  | public static final int EGL_PIXEL_ASPECT_RATIO             = 0x3092; | 
|  | public static final int EGL_SWAP_BEHAVIOR                  = 0x3093; | 
|  | public static final int EGL_MULTISAMPLE_RESOLVE            = 0x3099; | 
|  | public static final int EGL_BACK_BUFFER                    = 0x3084; | 
|  | public static final int EGL_SINGLE_BUFFER                  = 0x3085; | 
|  | public static final int EGL_VG_COLORSPACE_sRGB             = 0x3089; | 
|  | public static final int EGL_VG_COLORSPACE_LINEAR           = 0x308A; | 
|  | public static final int EGL_VG_ALPHA_FORMAT_NONPRE         = 0x308B; | 
|  | public static final int EGL_VG_ALPHA_FORMAT_PRE            = 0x308C; | 
|  | public static final int EGL_DISPLAY_SCALING                = 10000; | 
|  | public static final int EGL_BUFFER_PRESERVED               = 0x3094; | 
|  | public static final int EGL_BUFFER_DESTROYED               = 0x3095; | 
|  | public static final int EGL_OPENVG_IMAGE                   = 0x3096; | 
|  | public static final int EGL_CONTEXT_CLIENT_TYPE            = 0x3097; | 
|  | public static final int EGL_CONTEXT_CLIENT_VERSION         = 0x3098; | 
|  | public static final int EGL_MULTISAMPLE_RESOLVE_DEFAULT    = 0x309A; | 
|  | public static final int EGL_MULTISAMPLE_RESOLVE_BOX        = 0x309B; | 
|  | public static final int EGL_OPENGL_ES_API                  = 0x30A0; | 
|  | public static final int EGL_OPENVG_API                     = 0x30A1; | 
|  | public static final int EGL_OPENGL_API                     = 0x30A2; | 
|  | public static final int EGL_DRAW                           = 0x3059; | 
|  | public static final int EGL_READ                           = 0x305A; | 
|  | public static final int EGL_CORE_NATIVE_ENGINE             = 0x305B; | 
|  |  | 
|  | native private static void _nativeClassInit(); | 
|  | static { | 
|  | _nativeClassInit(); | 
|  | } | 
|  | // C function EGLint eglGetError ( void ) | 
|  |  | 
|  | public static native int eglGetError( | 
|  | ); | 
|  |  | 
|  | // C function EGLDisplay eglGetDisplay ( EGLNativeDisplayType display_id ) | 
|  |  | 
|  | public static native EGLDisplay eglGetDisplay( | 
|  | int display_id | 
|  | ); | 
|  |  | 
|  | /** | 
|  | * {@hide} | 
|  | */ | 
|  | @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) | 
|  | public static native EGLDisplay eglGetDisplay( | 
|  | long display_id | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglInitialize ( EGLDisplay dpy, EGLint *major, EGLint *minor ) | 
|  |  | 
|  | public static native boolean eglInitialize( | 
|  | EGLDisplay dpy, | 
|  | int[] major, | 
|  | int majorOffset, | 
|  | int[] minor, | 
|  | int minorOffset | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglTerminate ( EGLDisplay dpy ) | 
|  |  | 
|  | public static native boolean eglTerminate( | 
|  | EGLDisplay dpy | 
|  | ); | 
|  |  | 
|  | // C function const char * eglQueryString ( EGLDisplay dpy, EGLint name ) | 
|  |  | 
|  | public static native String eglQueryString( | 
|  | EGLDisplay dpy, | 
|  | int name | 
|  | ); | 
|  | // C function EGLBoolean eglGetConfigs ( EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config ) | 
|  |  | 
|  | public static native boolean eglGetConfigs( | 
|  | EGLDisplay dpy, | 
|  | EGLConfig[] configs, | 
|  | int configsOffset, | 
|  | int config_size, | 
|  | int[] num_config, | 
|  | int num_configOffset | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglChooseConfig ( EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config ) | 
|  |  | 
|  | public static native boolean eglChooseConfig( | 
|  | EGLDisplay dpy, | 
|  | int[] attrib_list, | 
|  | int attrib_listOffset, | 
|  | EGLConfig[] configs, | 
|  | int configsOffset, | 
|  | int config_size, | 
|  | int[] num_config, | 
|  | int num_configOffset | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglGetConfigAttrib ( EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value ) | 
|  |  | 
|  | public static native boolean eglGetConfigAttrib( | 
|  | EGLDisplay dpy, | 
|  | EGLConfig config, | 
|  | int attribute, | 
|  | int[] value, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | // C function EGLSurface eglCreateWindowSurface ( EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list ) | 
|  |  | 
|  | private static native EGLSurface _eglCreateWindowSurface( | 
|  | EGLDisplay dpy, | 
|  | EGLConfig config, | 
|  | Object win, | 
|  | int[] attrib_list, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | private static native EGLSurface _eglCreateWindowSurfaceTexture( | 
|  | EGLDisplay dpy, | 
|  | EGLConfig config, | 
|  | Object win, | 
|  | int[] attrib_list, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | public static EGLSurface eglCreateWindowSurface(EGLDisplay dpy, | 
|  | EGLConfig config, | 
|  | Object win, | 
|  | int[] attrib_list, | 
|  | int offset | 
|  | ){ | 
|  | Surface sur = null; | 
|  | if (win instanceof SurfaceView) { | 
|  | SurfaceView surfaceView = (SurfaceView)win; | 
|  | sur = surfaceView.getHolder().getSurface(); | 
|  | } else if (win instanceof SurfaceHolder) { | 
|  | SurfaceHolder holder = (SurfaceHolder)win; | 
|  | sur = holder.getSurface(); | 
|  | } else if (win instanceof Surface) { | 
|  | sur = (Surface) win; | 
|  | } | 
|  |  | 
|  | EGLSurface surface; | 
|  | if (sur != null) { | 
|  | surface = _eglCreateWindowSurface(dpy, config, sur, attrib_list, offset); | 
|  | } else if (win instanceof SurfaceTexture) { | 
|  | surface = _eglCreateWindowSurfaceTexture(dpy, config, | 
|  | win, attrib_list, offset); | 
|  | } else { | 
|  | throw new java.lang.UnsupportedOperationException( | 
|  | "eglCreateWindowSurface() can only be called with an instance of " + | 
|  | "Surface, SurfaceView, SurfaceTexture or SurfaceHolder at the moment, " + | 
|  | "this will be fixed later."); | 
|  | } | 
|  |  | 
|  | return surface; | 
|  | } | 
|  | // C function EGLSurface eglCreatePbufferSurface ( EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list ) | 
|  |  | 
|  | public static native EGLSurface eglCreatePbufferSurface( | 
|  | EGLDisplay dpy, | 
|  | EGLConfig config, | 
|  | int[] attrib_list, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | // C function EGLSurface eglCreatePixmapSurface ( EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list ) | 
|  |  | 
|  | @Deprecated | 
|  | public static native EGLSurface eglCreatePixmapSurface( | 
|  | EGLDisplay dpy, | 
|  | EGLConfig config, | 
|  | int pixmap, | 
|  | int[] attrib_list, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglDestroySurface ( EGLDisplay dpy, EGLSurface surface ) | 
|  |  | 
|  | public static native boolean eglDestroySurface( | 
|  | EGLDisplay dpy, | 
|  | EGLSurface surface | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglQuerySurface ( EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value ) | 
|  |  | 
|  | public static native boolean eglQuerySurface( | 
|  | EGLDisplay dpy, | 
|  | EGLSurface surface, | 
|  | int attribute, | 
|  | int[] value, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglBindAPI ( EGLenum api ) | 
|  |  | 
|  | public static native boolean eglBindAPI( | 
|  | int api | 
|  | ); | 
|  |  | 
|  | // C function EGLenum eglQueryAPI ( void ) | 
|  |  | 
|  | public static native int eglQueryAPI( | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglWaitClient ( void ) | 
|  |  | 
|  | public static native boolean eglWaitClient( | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglReleaseThread ( void ) | 
|  |  | 
|  | public static native boolean eglReleaseThread( | 
|  | ); | 
|  |  | 
|  | // C function EGLSurface eglCreatePbufferFromClientBuffer ( EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list ) | 
|  | // TODO Deprecate the below method | 
|  | public static native EGLSurface eglCreatePbufferFromClientBuffer( | 
|  | EGLDisplay dpy, | 
|  | int buftype, | 
|  | int buffer, | 
|  | EGLConfig config, | 
|  | int[] attrib_list, | 
|  | int offset | 
|  | ); | 
|  | // TODO Unhide the below method | 
|  | /** | 
|  | * {@hide} | 
|  | */ | 
|  | public static native EGLSurface eglCreatePbufferFromClientBuffer( | 
|  | EGLDisplay dpy, | 
|  | int buftype, | 
|  | long buffer, | 
|  | EGLConfig config, | 
|  | int[] attrib_list, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglSurfaceAttrib ( EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value ) | 
|  |  | 
|  | public static native boolean eglSurfaceAttrib( | 
|  | EGLDisplay dpy, | 
|  | EGLSurface surface, | 
|  | int attribute, | 
|  | int value | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglBindTexImage ( EGLDisplay dpy, EGLSurface surface, EGLint buffer ) | 
|  |  | 
|  | public static native boolean eglBindTexImage( | 
|  | EGLDisplay dpy, | 
|  | EGLSurface surface, | 
|  | int buffer | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglReleaseTexImage ( EGLDisplay dpy, EGLSurface surface, EGLint buffer ) | 
|  |  | 
|  | public static native boolean eglReleaseTexImage( | 
|  | EGLDisplay dpy, | 
|  | EGLSurface surface, | 
|  | int buffer | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglSwapInterval ( EGLDisplay dpy, EGLint interval ) | 
|  |  | 
|  | public static native boolean eglSwapInterval( | 
|  | EGLDisplay dpy, | 
|  | int interval | 
|  | ); | 
|  |  | 
|  | // C function EGLContext eglCreateContext ( EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list ) | 
|  |  | 
|  | public static native EGLContext eglCreateContext( | 
|  | EGLDisplay dpy, | 
|  | EGLConfig config, | 
|  | EGLContext share_context, | 
|  | int[] attrib_list, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglDestroyContext ( EGLDisplay dpy, EGLContext ctx ) | 
|  |  | 
|  | public static native boolean eglDestroyContext( | 
|  | EGLDisplay dpy, | 
|  | EGLContext ctx | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglMakeCurrent ( EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx ) | 
|  |  | 
|  | public static native boolean eglMakeCurrent( | 
|  | EGLDisplay dpy, | 
|  | EGLSurface draw, | 
|  | EGLSurface read, | 
|  | EGLContext ctx | 
|  | ); | 
|  |  | 
|  | // C function EGLContext eglGetCurrentContext ( void ) | 
|  |  | 
|  | public static native EGLContext eglGetCurrentContext( | 
|  | ); | 
|  |  | 
|  | // C function EGLSurface eglGetCurrentSurface ( EGLint readdraw ) | 
|  |  | 
|  | public static native EGLSurface eglGetCurrentSurface( | 
|  | int readdraw | 
|  | ); | 
|  |  | 
|  | // C function EGLDisplay eglGetCurrentDisplay ( void ) | 
|  |  | 
|  | public static native EGLDisplay eglGetCurrentDisplay( | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglQueryContext ( EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value ) | 
|  |  | 
|  | public static native boolean eglQueryContext( | 
|  | EGLDisplay dpy, | 
|  | EGLContext ctx, | 
|  | int attribute, | 
|  | int[] value, | 
|  | int offset | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglWaitGL ( void ) | 
|  |  | 
|  | public static native boolean eglWaitGL( | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglWaitNative ( EGLint engine ) | 
|  |  | 
|  | public static native boolean eglWaitNative( | 
|  | int engine | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglSwapBuffers ( EGLDisplay dpy, EGLSurface surface ) | 
|  |  | 
|  | public static native boolean eglSwapBuffers( | 
|  | EGLDisplay dpy, | 
|  | EGLSurface surface | 
|  | ); | 
|  |  | 
|  | // C function EGLBoolean eglCopyBuffers ( EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target ) | 
|  |  | 
|  | public static native boolean eglCopyBuffers( | 
|  | EGLDisplay dpy, | 
|  | EGLSurface surface, | 
|  | int target | 
|  | ); | 
|  |  | 
|  | } |