EGL14.java revision 84bbeb9e0c9c185a22d4882b79e0bc8a598642ab
1/* 2** Copyright 2012, The Android Open Source Project 3** 4** Licensed under the Apache License, Version 2.0 (the "License"); 5** you may not use this file except in compliance with the License. 6** You may obtain a copy of the License at 7** 8** http://www.apache.org/licenses/LICENSE-2.0 9** 10** Unless required by applicable law or agreed to in writing, software 11** distributed under the License is distributed on an "AS IS" BASIS, 12** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13** See the License for the specific language governing permissions and 14** limitations under the License. 15*/ 16 17// This source file is automatically generated 18 19package android.opengl; 20 21import android.graphics.SurfaceTexture; 22import android.view.Surface; 23import android.view.SurfaceView; 24import android.view.SurfaceHolder; 25 26/** 27 * EGL 1.4 28 * 29 */ 30public class EGL14 { 31 32public static final int EGL_DEFAULT_DISPLAY = 0; 33public static EGLContext EGL_NO_CONTEXT = null; 34public static EGLDisplay EGL_NO_DISPLAY = null; 35public static EGLSurface EGL_NO_SURFACE = null; 36 37public static final int EGL_FALSE = 0; 38public static final int EGL_TRUE = 1; 39public static final int EGL_SUCCESS = 0x3000; 40public static final int EGL_NOT_INITIALIZED = 0x3001; 41public static final int EGL_BAD_ACCESS = 0x3002; 42public static final int EGL_BAD_ALLOC = 0x3003; 43public static final int EGL_BAD_ATTRIBUTE = 0x3004; 44public static final int EGL_BAD_CONFIG = 0x3005; 45public static final int EGL_BAD_CONTEXT = 0x3006; 46public static final int EGL_BAD_CURRENT_SURFACE = 0x3007; 47public static final int EGL_BAD_DISPLAY = 0x3008; 48public static final int EGL_BAD_MATCH = 0x3009; 49public static final int EGL_BAD_NATIVE_PIXMAP = 0x300A; 50public static final int EGL_BAD_NATIVE_WINDOW = 0x300B; 51public static final int EGL_BAD_PARAMETER = 0x300C; 52public static final int EGL_BAD_SURFACE = 0x300D; 53public static final int EGL_CONTEXT_LOST = 0x300E; 54public static final int EGL_BUFFER_SIZE = 0x3020; 55public static final int EGL_ALPHA_SIZE = 0x3021; 56public static final int EGL_BLUE_SIZE = 0x3022; 57public static final int EGL_GREEN_SIZE = 0x3023; 58public static final int EGL_RED_SIZE = 0x3024; 59public static final int EGL_DEPTH_SIZE = 0x3025; 60public static final int EGL_STENCIL_SIZE = 0x3026; 61public static final int EGL_CONFIG_CAVEAT = 0x3027; 62public static final int EGL_CONFIG_ID = 0x3028; 63public static final int EGL_LEVEL = 0x3029; 64public static final int EGL_MAX_PBUFFER_HEIGHT = 0x302A; 65public static final int EGL_MAX_PBUFFER_PIXELS = 0x302B; 66public static final int EGL_MAX_PBUFFER_WIDTH = 0x302C; 67public static final int EGL_NATIVE_RENDERABLE = 0x302D; 68public static final int EGL_NATIVE_VISUAL_ID = 0x302E; 69public static final int EGL_NATIVE_VISUAL_TYPE = 0x302F; 70public static final int EGL_SAMPLES = 0x3031; 71public static final int EGL_SAMPLE_BUFFERS = 0x3032; 72public static final int EGL_SURFACE_TYPE = 0x3033; 73public static final int EGL_TRANSPARENT_TYPE = 0x3034; 74public static final int EGL_TRANSPARENT_BLUE_VALUE = 0x3035; 75public static final int EGL_TRANSPARENT_GREEN_VALUE = 0x3036; 76public static final int EGL_TRANSPARENT_RED_VALUE = 0x3037; 77public static final int EGL_NONE = 0x3038; 78public static final int EGL_BIND_TO_TEXTURE_RGB = 0x3039; 79public static final int EGL_BIND_TO_TEXTURE_RGBA = 0x303A; 80public static final int EGL_MIN_SWAP_INTERVAL = 0x303B; 81public static final int EGL_MAX_SWAP_INTERVAL = 0x303C; 82public static final int EGL_LUMINANCE_SIZE = 0x303D; 83public static final int EGL_ALPHA_MASK_SIZE = 0x303E; 84public static final int EGL_COLOR_BUFFER_TYPE = 0x303F; 85public static final int EGL_RENDERABLE_TYPE = 0x3040; 86public static final int EGL_MATCH_NATIVE_PIXMAP = 0x3041; 87public static final int EGL_CONFORMANT = 0x3042; 88public static final int EGL_SLOW_CONFIG = 0x3050; 89public static final int EGL_NON_CONFORMANT_CONFIG = 0x3051; 90public static final int EGL_TRANSPARENT_RGB = 0x3052; 91public static final int EGL_RGB_BUFFER = 0x308E; 92public static final int EGL_LUMINANCE_BUFFER = 0x308F; 93public static final int EGL_NO_TEXTURE = 0x305C; 94public static final int EGL_TEXTURE_RGB = 0x305D; 95public static final int EGL_TEXTURE_RGBA = 0x305E; 96public static final int EGL_TEXTURE_2D = 0x305F; 97public static final int EGL_PBUFFER_BIT = 0x0001; 98public static final int EGL_PIXMAP_BIT = 0x0002; 99public static final int EGL_WINDOW_BIT = 0x0004; 100public static final int EGL_VG_COLORSPACE_LINEAR_BIT = 0x0020; 101public static final int EGL_VG_ALPHA_FORMAT_PRE_BIT = 0x0040; 102public static final int EGL_MULTISAMPLE_RESOLVE_BOX_BIT = 0x0200; 103public static final int EGL_SWAP_BEHAVIOR_PRESERVED_BIT = 0x0400; 104public static final int EGL_OPENGL_ES_BIT = 0x0001; 105public static final int EGL_OPENVG_BIT = 0x0002; 106public static final int EGL_OPENGL_ES2_BIT = 0x0004; 107public static final int EGL_OPENGL_BIT = 0x0008; 108public static final int EGL_VENDOR = 0x3053; 109public static final int EGL_VERSION = 0x3054; 110public static final int EGL_EXTENSIONS = 0x3055; 111public static final int EGL_CLIENT_APIS = 0x308D; 112public static final int EGL_HEIGHT = 0x3056; 113public static final int EGL_WIDTH = 0x3057; 114public static final int EGL_LARGEST_PBUFFER = 0x3058; 115public static final int EGL_TEXTURE_FORMAT = 0x3080; 116public static final int EGL_TEXTURE_TARGET = 0x3081; 117public static final int EGL_MIPMAP_TEXTURE = 0x3082; 118public static final int EGL_MIPMAP_LEVEL = 0x3083; 119public static final int EGL_RENDER_BUFFER = 0x3086; 120public static final int EGL_VG_COLORSPACE = 0x3087; 121public static final int EGL_VG_ALPHA_FORMAT = 0x3088; 122public static final int EGL_HORIZONTAL_RESOLUTION = 0x3090; 123public static final int EGL_VERTICAL_RESOLUTION = 0x3091; 124public static final int EGL_PIXEL_ASPECT_RATIO = 0x3092; 125public static final int EGL_SWAP_BEHAVIOR = 0x3093; 126public static final int EGL_MULTISAMPLE_RESOLVE = 0x3099; 127public static final int EGL_BACK_BUFFER = 0x3084; 128public static final int EGL_SINGLE_BUFFER = 0x3085; 129public static final int EGL_VG_COLORSPACE_sRGB = 0x3089; 130public static final int EGL_VG_COLORSPACE_LINEAR = 0x308A; 131public static final int EGL_VG_ALPHA_FORMAT_NONPRE = 0x308B; 132public static final int EGL_VG_ALPHA_FORMAT_PRE = 0x308C; 133public static final int EGL_DISPLAY_SCALING = 10000; 134public static final int EGL_BUFFER_PRESERVED = 0x3094; 135public static final int EGL_BUFFER_DESTROYED = 0x3095; 136public static final int EGL_OPENVG_IMAGE = 0x3096; 137public static final int EGL_CONTEXT_CLIENT_TYPE = 0x3097; 138public static final int EGL_CONTEXT_CLIENT_VERSION = 0x3098; 139public static final int EGL_MULTISAMPLE_RESOLVE_DEFAULT = 0x309A; 140public static final int EGL_MULTISAMPLE_RESOLVE_BOX = 0x309B; 141public static final int EGL_OPENGL_ES_API = 0x30A0; 142public static final int EGL_OPENVG_API = 0x30A1; 143public static final int EGL_OPENGL_API = 0x30A2; 144public static final int EGL_DRAW = 0x3059; 145public static final int EGL_READ = 0x305A; 146public static final int EGL_CORE_NATIVE_ENGINE = 0x305B; 147 148 native private static void _nativeClassInit(); 149 static { 150 _nativeClassInit(); 151 } 152 // C function EGLint eglGetError ( void ) 153 154 public static native int eglGetError( 155 ); 156 157 // C function EGLDisplay eglGetDisplay ( EGLNativeDisplayType display_id ) 158 // TODO Deprecate the eglGetDisplay(int) API method 159 160 public static native EGLDisplay eglGetDisplay( 161 int display_id 162 ); 163 // TODO Unhide the eglGetDisplay(long) API method 164 /** 165 * {@hide} 166 */ 167 public static native EGLDisplay eglGetDisplay( 168 long display_id 169 ); 170 171 // C function EGLBoolean eglInitialize ( EGLDisplay dpy, EGLint *major, EGLint *minor ) 172 173 public static native boolean eglInitialize( 174 EGLDisplay dpy, 175 int[] major, 176 int majorOffset, 177 int[] minor, 178 int minorOffset 179 ); 180 181 // C function EGLBoolean eglTerminate ( EGLDisplay dpy ) 182 183 public static native boolean eglTerminate( 184 EGLDisplay dpy 185 ); 186 187 // C function const char * eglQueryString ( EGLDisplay dpy, EGLint name ) 188 189 public static native String eglQueryString( 190 EGLDisplay dpy, 191 int name 192 ); 193 // C function EGLBoolean eglGetConfigs ( EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config ) 194 195 public static native boolean eglGetConfigs( 196 EGLDisplay dpy, 197 EGLConfig[] configs, 198 int configsOffset, 199 int config_size, 200 int[] num_config, 201 int num_configOffset 202 ); 203 204 // C function EGLBoolean eglChooseConfig ( EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config ) 205 206 public static native boolean eglChooseConfig( 207 EGLDisplay dpy, 208 int[] attrib_list, 209 int attrib_listOffset, 210 EGLConfig[] configs, 211 int configsOffset, 212 int config_size, 213 int[] num_config, 214 int num_configOffset 215 ); 216 217 // C function EGLBoolean eglGetConfigAttrib ( EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value ) 218 219 public static native boolean eglGetConfigAttrib( 220 EGLDisplay dpy, 221 EGLConfig config, 222 int attribute, 223 int[] value, 224 int offset 225 ); 226 227 // C function EGLSurface eglCreateWindowSurface ( EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list ) 228 229 private static native EGLSurface _eglCreateWindowSurface( 230 EGLDisplay dpy, 231 EGLConfig config, 232 Object win, 233 int[] attrib_list, 234 int offset 235 ); 236 237 private static native EGLSurface _eglCreateWindowSurfaceTexture( 238 EGLDisplay dpy, 239 EGLConfig config, 240 Object win, 241 int[] attrib_list, 242 int offset 243 ); 244 245 public static EGLSurface eglCreateWindowSurface(EGLDisplay dpy, 246 EGLConfig config, 247 Object win, 248 int[] attrib_list, 249 int offset 250 ){ 251 Surface sur = null; 252 if (win instanceof SurfaceView) { 253 SurfaceView surfaceView = (SurfaceView)win; 254 sur = surfaceView.getHolder().getSurface(); 255 } else if (win instanceof SurfaceHolder) { 256 SurfaceHolder holder = (SurfaceHolder)win; 257 sur = holder.getSurface(); 258 } else if (win instanceof Surface) { 259 sur = (Surface) win; 260 } 261 262 EGLSurface surface; 263 if (sur != null) { 264 surface = _eglCreateWindowSurface(dpy, config, sur, attrib_list, offset); 265 } else if (win instanceof SurfaceTexture) { 266 surface = _eglCreateWindowSurfaceTexture(dpy, config, 267 win, attrib_list, offset); 268 } else { 269 throw new java.lang.UnsupportedOperationException( 270 "eglCreateWindowSurface() can only be called with an instance of " + 271 "Surface, SurfaceView, SurfaceTexture or SurfaceHolder at the moment, " + 272 "this will be fixed later."); 273 } 274 275 return surface; 276 } 277 // C function EGLSurface eglCreatePbufferSurface ( EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list ) 278 279 public static native EGLSurface eglCreatePbufferSurface( 280 EGLDisplay dpy, 281 EGLConfig config, 282 int[] attrib_list, 283 int offset 284 ); 285 286 // C function EGLSurface eglCreatePixmapSurface ( EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list ) 287 288 public static native EGLSurface eglCreatePixmapSurface( 289 EGLDisplay dpy, 290 EGLConfig config, 291 int pixmap, 292 int[] attrib_list, 293 int offset 294 ); 295 296 // C function EGLBoolean eglDestroySurface ( EGLDisplay dpy, EGLSurface surface ) 297 298 public static native boolean eglDestroySurface( 299 EGLDisplay dpy, 300 EGLSurface surface 301 ); 302 303 // C function EGLBoolean eglQuerySurface ( EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value ) 304 305 public static native boolean eglQuerySurface( 306 EGLDisplay dpy, 307 EGLSurface surface, 308 int attribute, 309 int[] value, 310 int offset 311 ); 312 313 // C function EGLBoolean eglBindAPI ( EGLenum api ) 314 315 public static native boolean eglBindAPI( 316 int api 317 ); 318 319 // C function EGLenum eglQueryAPI ( void ) 320 321 public static native int eglQueryAPI( 322 ); 323 324 // C function EGLBoolean eglWaitClient ( void ) 325 326 public static native boolean eglWaitClient( 327 ); 328 329 // C function EGLBoolean eglReleaseThread ( void ) 330 331 public static native boolean eglReleaseThread( 332 ); 333 334 // C function EGLSurface eglCreatePbufferFromClientBuffer ( EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list ) 335 // TODO Deprecate the below method 336 public static native EGLSurface eglCreatePbufferFromClientBuffer( 337 EGLDisplay dpy, 338 int buftype, 339 int buffer, 340 EGLConfig config, 341 int[] attrib_list, 342 int offset 343 ); 344 // TODO Unhide the below method 345 /** 346 * {@hide} 347 */ 348 public static native EGLSurface eglCreatePbufferFromClientBuffer( 349 EGLDisplay dpy, 350 int buftype, 351 long buffer, 352 EGLConfig config, 353 int[] attrib_list, 354 int offset 355 ); 356 357 // C function EGLBoolean eglSurfaceAttrib ( EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value ) 358 359 public static native boolean eglSurfaceAttrib( 360 EGLDisplay dpy, 361 EGLSurface surface, 362 int attribute, 363 int value 364 ); 365 366 // C function EGLBoolean eglBindTexImage ( EGLDisplay dpy, EGLSurface surface, EGLint buffer ) 367 368 public static native boolean eglBindTexImage( 369 EGLDisplay dpy, 370 EGLSurface surface, 371 int buffer 372 ); 373 374 // C function EGLBoolean eglReleaseTexImage ( EGLDisplay dpy, EGLSurface surface, EGLint buffer ) 375 376 public static native boolean eglReleaseTexImage( 377 EGLDisplay dpy, 378 EGLSurface surface, 379 int buffer 380 ); 381 382 // C function EGLBoolean eglSwapInterval ( EGLDisplay dpy, EGLint interval ) 383 384 public static native boolean eglSwapInterval( 385 EGLDisplay dpy, 386 int interval 387 ); 388 389 // C function EGLContext eglCreateContext ( EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list ) 390 391 public static native EGLContext eglCreateContext( 392 EGLDisplay dpy, 393 EGLConfig config, 394 EGLContext share_context, 395 int[] attrib_list, 396 int offset 397 ); 398 399 // C function EGLBoolean eglDestroyContext ( EGLDisplay dpy, EGLContext ctx ) 400 401 public static native boolean eglDestroyContext( 402 EGLDisplay dpy, 403 EGLContext ctx 404 ); 405 406 // C function EGLBoolean eglMakeCurrent ( EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx ) 407 408 public static native boolean eglMakeCurrent( 409 EGLDisplay dpy, 410 EGLSurface draw, 411 EGLSurface read, 412 EGLContext ctx 413 ); 414 415 // C function EGLContext eglGetCurrentContext ( void ) 416 417 public static native EGLContext eglGetCurrentContext( 418 ); 419 420 // C function EGLSurface eglGetCurrentSurface ( EGLint readdraw ) 421 422 public static native EGLSurface eglGetCurrentSurface( 423 int readdraw 424 ); 425 426 // C function EGLDisplay eglGetCurrentDisplay ( void ) 427 428 public static native EGLDisplay eglGetCurrentDisplay( 429 ); 430 431 // C function EGLBoolean eglQueryContext ( EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value ) 432 433 public static native boolean eglQueryContext( 434 EGLDisplay dpy, 435 EGLContext ctx, 436 int attribute, 437 int[] value, 438 int offset 439 ); 440 441 // C function EGLBoolean eglWaitGL ( void ) 442 443 public static native boolean eglWaitGL( 444 ); 445 446 // C function EGLBoolean eglWaitNative ( EGLint engine ) 447 448 public static native boolean eglWaitNative( 449 int engine 450 ); 451 452 // C function EGLBoolean eglSwapBuffers ( EGLDisplay dpy, EGLSurface surface ) 453 454 public static native boolean eglSwapBuffers( 455 EGLDisplay dpy, 456 EGLSurface surface 457 ); 458 459 // C function EGLBoolean eglCopyBuffers ( EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target ) 460 461 public static native boolean eglCopyBuffers( 462 EGLDisplay dpy, 463 EGLSurface surface, 464 int target 465 ); 466 467} 468