aboutsummaryrefslogtreecommitdiffstats
path: root/make/egl.cfg
blob: 7cda3b8c8b7a643f8687bb60215692e0f030553e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# This .cfg file is used to generate the interface to the EGL routines
# used internally by the EGLContext implementation.
Package com.sun.opengl.impl.egl
JavaOutputDir ..\build\gensrc\classes
NativeOutputDir ..\build\gensrc\native\jogl
JavaClass EGL
Style allstatic
# Shouldn't matter which one of these we pick up
Include gl-common-es1.cfg

# Use a ProcAddressTable so we dynamically look up the routines
EmitProcAddressTable true
ProcAddressTableClassName EGLProcAddressTable
GetProcAddressTableExpr _table

# Translate EGLBoolean as Java boolean
Opaque boolean EGLBoolean

# Implement the first argument to eglGetProcAddress as String instead
# of byte[]
ArgumentIsString eglGetProcAddress 0
ReturnsString eglQueryString

# Make eglGetProcAddress return an opaque long
Opaque long __EGLFuncPtr

# Force all of the methods to be emitted using dynamic linking so we
# don't need to link against any emulation library on the desktop or
# depend on the presence of an import library for a particular device
ForceProcAddressGen eglGetError
ForceProcAddressGen eglGetDisplay
ForceProcAddressGen eglInitialize
ForceProcAddressGen eglTerminate
ForceProcAddressGen eglQueryString
ForceProcAddressGen eglGetConfigs
ForceProcAddressGen eglChooseConfig
ForceProcAddressGen eglGetConfigAttrib
ForceProcAddressGen eglCreateWindowSurface
ForceProcAddressGen eglCreatePbufferSurface
ForceProcAddressGen eglCreatePixmapSurface
ForceProcAddressGen eglDestroySurface
ForceProcAddressGen eglQuerySurface
ForceProcAddressGen eglBindAPI
ForceProcAddressGen eglQueryAPI
ForceProcAddressGen eglWaitClient
ForceProcAddressGen eglReleaseThread
ForceProcAddressGen eglCreatePbufferFromClientBuffer
ForceProcAddressGen eglSurfaceAttrib
ForceProcAddressGen eglBindTexImage
ForceProcAddressGen eglReleaseTexImage
ForceProcAddressGen eglSwapInterval
ForceProcAddressGen eglCreateContext
ForceProcAddressGen eglDestroyContext
ForceProcAddressGen eglMakeCurrent
ForceProcAddressGen eglGetCurrentContext
ForceProcAddressGen eglGetCurrentSurface
ForceProcAddressGen eglGetCurrentDisplay
ForceProcAddressGen eglQueryContext
ForceProcAddressGen eglWaitGL
ForceProcAddressGen eglWaitNative
ForceProcAddressGen eglSwapBuffers
ForceProcAddressGen eglCopyBuffers
ForceProcAddressGen eglGetProcAddress

# Treat all of the EGL types as opaque longs
# Opaque long EGLConfig
# Opaque long EGLContext
# Opaque long EGLDisplay
# Opaque long EGLSurface
# Opaque long EGLClientBuffer

CustomCCode #include <EGL/egl.h>

CustomCCode #ifdef _MSC_VER
CustomCCode /* This typedef is apparently needed for Microsoft compilers before VC8 */
CustomCCode #if _MSC_VER < 1400
CustomCCode typedef int intptr_t;
CustomCCode #endif
CustomCCode #else
CustomCCode #include <inttypes.h>
CustomCCode #endif

CustomJavaCode EGL  private static EGLProcAddressTable _table = new EGLProcAddressTable();