EGL14.java revision 1f071dd8c39dc966ad18abab0528f72730a4af6a
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
159    public static native EGLDisplay eglGetDisplay(
160        int display_id
161    );
162
163    /**
164     * {@hide}
165     */
166    public static native EGLDisplay eglGetDisplay(
167        long display_id
168    );
169
170    // C function EGLBoolean eglInitialize ( EGLDisplay dpy, EGLint *major, EGLint *minor )
171
172    public static native boolean eglInitialize(
173        EGLDisplay dpy,
174        int[] major,
175        int majorOffset,
176        int[] minor,
177        int minorOffset
178    );
179
180    // C function EGLBoolean eglTerminate ( EGLDisplay dpy )
181
182    public static native boolean eglTerminate(
183        EGLDisplay dpy
184    );
185
186    // C function const char * eglQueryString ( EGLDisplay dpy, EGLint name )
187
188    public static native String eglQueryString(
189        EGLDisplay dpy,
190        int name
191    );
192    // C function EGLBoolean eglGetConfigs ( EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config )
193
194    public static native boolean eglGetConfigs(
195        EGLDisplay dpy,
196        EGLConfig[] configs,
197        int configsOffset,
198        int config_size,
199        int[] num_config,
200        int num_configOffset
201    );
202
203    // C function EGLBoolean eglChooseConfig ( EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config )
204
205    public static native boolean eglChooseConfig(
206        EGLDisplay dpy,
207        int[] attrib_list,
208        int attrib_listOffset,
209        EGLConfig[] configs,
210        int configsOffset,
211        int config_size,
212        int[] num_config,
213        int num_configOffset
214    );
215
216    // C function EGLBoolean eglGetConfigAttrib ( EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value )
217
218    public static native boolean eglGetConfigAttrib(
219        EGLDisplay dpy,
220        EGLConfig config,
221        int attribute,
222        int[] value,
223        int offset
224    );
225
226    // C function EGLSurface eglCreateWindowSurface ( EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list )
227
228    private static native EGLSurface _eglCreateWindowSurface(
229        EGLDisplay dpy,
230        EGLConfig config,
231        Object win,
232        int[] attrib_list,
233        int offset
234    );
235
236    private static native EGLSurface _eglCreateWindowSurfaceTexture(
237        EGLDisplay dpy,
238        EGLConfig config,
239        Object win,
240        int[] attrib_list,
241        int offset
242    );
243
244    public static EGLSurface eglCreateWindowSurface(EGLDisplay dpy,
245        EGLConfig config,
246        Object win,
247        int[] attrib_list,
248        int offset
249    ){
250        Surface sur = null;
251        if (win instanceof SurfaceView) {
252            SurfaceView surfaceView = (SurfaceView)win;
253            sur = surfaceView.getHolder().getSurface();
254        } else if (win instanceof SurfaceHolder) {
255            SurfaceHolder holder = (SurfaceHolder)win;
256            sur = holder.getSurface();
257        } else if (win instanceof Surface) {
258            sur = (Surface) win;
259        }
260
261        EGLSurface surface;
262        if (sur != null) {
263            surface = _eglCreateWindowSurface(dpy, config, sur, attrib_list, offset);
264        } else if (win instanceof SurfaceTexture) {
265            surface = _eglCreateWindowSurfaceTexture(dpy, config,
266                    win, attrib_list, offset);
267        } else {
268            throw new java.lang.UnsupportedOperationException(
269                "eglCreateWindowSurface() can only be called with an instance of " +
270                "Surface, SurfaceView, SurfaceTexture or SurfaceHolder at the moment, " +
271                "this will be fixed later.");
272        }
273
274        return surface;
275    }
276    // C function EGLSurface eglCreatePbufferSurface ( EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list )
277
278    public static native EGLSurface eglCreatePbufferSurface(
279        EGLDisplay dpy,
280        EGLConfig config,
281        int[] attrib_list,
282        int offset
283    );
284
285    // C function EGLSurface eglCreatePixmapSurface ( EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list )
286
287    @Deprecated
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