summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/egl.cfg
blob: 6457ab21a75102b57566459d2b356ce3e54492a5 (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
# This .cfg file is used to generate the interface to the EGL routines
# used internally by the EGLContext implementation.
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/egl

Package com.sun.opengl.impl.egl
JavaClass EGL
Style allstatic
# Shouldn't matter which one of these we pick up

HierarchicalNativeOutput false
Include gl-common.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 __ALL__

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

CustomCCode #include <EGL/egl.h>

Include ../intptr.cfg

CustomJavaCode EGL  private static EGLProcAddressTable _table = new EGLProcAddressTable();
CustomJavaCode EGL  public static void resetProcAddressTable(DynamicLookupHelper lookup) {
CustomJavaCode EGL      GLProcAddressHelper.resetProcAddressTable(_table, lookup);
CustomJavaCode EGL  }

# There are some #defines in egl.h that GlueGen and PCPP don't currently handle
CustomJavaCode EGL  public static final long EGL_DEFAULT_DISPLAY = 0;
CustomJavaCode EGL  public static final long EGL_NO_CONTEXT = 0;
CustomJavaCode EGL  public static final long EGL_NO_DISPLAY = 0;
CustomJavaCode EGL  public static final long EGL_NO_SURFACE = 0;
CustomJavaCode EGL  public static final int  EGL_DONT_CARE  = -1;
CustomJavaCode EGL  public static final int  EGL_UNKNOWN    = -1;
CustomJavaCode EGL 
CustomJavaCode EGL  protected static long eglGetProcAddress(long eglGetProcAddressHandle, java.lang.String procname)
CustomJavaCode EGL  {
CustomJavaCode EGL    if (eglGetProcAddressHandle == 0) {
CustomJavaCode EGL      throw new GLException("Passed null pointer for method \"eglGetProcAddress\"");
CustomJavaCode EGL    }
CustomJavaCode EGL    return dispatch_eglGetProcAddress0(procname, eglGetProcAddressHandle);
CustomJavaCode EGL  }


Import com.sun.gluegen.runtime.opengl.GLProcAddressHelper