# This .cfg file is used to generate the interface to the EGL routines # used internally by the EGLContext implementation. JavaOutputDir ../build/gensrc/classes NativeOutputDir ../build/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 Include gl-common-extensions.cfg # There are a few routines we don't handle yet Ignore glGetBufferPointerv # 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 EGLConfig Opaque long EGLConfig Opaque long EGLContext Opaque long EGLDisplay Opaque long EGLSurface Opaque long EGLNativeDisplayType Opaque long EGLNativeWindowType Opaque long EGLNativePixmapType Opaque long EGLClientBuffer # Opaque long EGLClientBuffer CustomCCode #include 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; Import com.sun.gluegen.runtime.opengl.GLProcAddressHelper