# This .cfg file is used to generate the interface and implementing # class for the GLX extensions. JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/X11 Package jogamp.opengl.x11.glx Style InterfaceAndImpl JavaClass GLXExt ImplPackage jogamp.opengl.x11.glx ImplJavaClass GLXExtImpl ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/jogamp/opengl/x11/glx/GLX.java Include gl-common.cfg Include gl-desktop.cfg # Only NIO direct function, no arrays .. NIOOnly __ALL__ NIODirectOnly __ALL__ GLHeader GL/glx.h GLHeader GL/glxext.h EmitProcAddressTable true ProcAddressTableClassName GLXExtProcAddressTable GetProcAddressTableExpr _context.getGLXExtProcAddressTable() Import jogamp.nativewindow.x11.* # Ignore everything that doesn't start with glX or GLX IgnoreNot ^(glX|GLX).+ Include gl-headers.cfg CustomCCode /* Provide Windows typedefs */ CustomCCode typedef void* LPVOID; CustomCCode typedef unsigned int* PUINT; CustomJavaCode GLXExt public boolean isFunctionAvailable(String glFunctionName); CustomJavaCode GLXExt public boolean isExtensionAvailable(String glExtensionName); CustomJavaCode GLXExtImpl public GLXExtImpl(X11GLXContext context) { CustomJavaCode GLXExtImpl this._context = context; CustomJavaCode GLXExtImpl } CustomJavaCode GLXExtImpl public boolean isFunctionAvailable(String glFunctionName) CustomJavaCode GLXExtImpl { CustomJavaCode GLXExtImpl return _context.isFunctionAvailable(glFunctionName); CustomJavaCode GLXExtImpl } CustomJavaCode GLXExtImpl public boolean isExtensionAvailable(String glExtensionName) CustomJavaCode GLXExtImpl { CustomJavaCode GLXExtImpl return _context.isExtensionAvailable(glExtensionName); CustomJavaCode GLXExtImpl } CustomJavaCode GLXExtImpl private X11GLXContext _context; # These Ignores cause the core GLX routines to be ignored from the # GLXExt interface and GLXExtImpl implementing class. Ignore glXGetVisualFromFBConfig Ignore glXGetVisualFromFBConfigSGIX Ignore glXChooseFBConfig Ignore glXGetFBConfigs Ignore glXChooseVisual Ignore glXCreateContext Ignore glXDestroyContext Ignore glXMakeCurrent Ignore glXCopyContext Ignore glXSwapBuffers Ignore glXCreateGLXPixmap Ignore glXDestroyGLXPixmap Ignore glXQueryExtension Ignore glXQueryVersion Ignore glXIsDirect Ignore glXGetConfig Ignore glXGetCurrentContext Ignore glXGetCurrentDrawable Ignore glXWaitGL Ignore glXWaitX Ignore glXUseXFont Ignore glXQueryExtensionsString Ignore glXQueryServerString Ignore glXGetClientString Ignore glXGetCurrentDisplay Ignore glXGetFBConfigAttrib Ignore glXGetFBConfigs Ignore glXGetVisualFromFBConfig Ignore glXCreateWindow Ignore glXDestroyWindow Ignore glXCreatePixmap Ignore glXDestroyPixmap Ignore glXCreatePbuffer Ignore glXDestroyPbuffer Ignore glXQueryDrawable Ignore glXCreateNewContext Ignore glXMakeContextCurrent Ignore glXGetCurrentReadDrawable Ignore glXQueryContext Ignore glXSelectEvent Ignore glXGetSelectedEvent # Ignore a few extensions that bring in data types we don't want to # expose in the public API (and that are useless anyway without # exposing more of the implementation) Ignore glXGetFBConfigAttribSGIX Ignore glXChooseFBConfigSGIX Ignore glXCreateGLXPixmapWithConfigSGIX Ignore glXCreateContextWithConfigSGIX Ignore glXGetVisualFromFBConfigSGIX Ignore glXGetFBConfigFromVisualSGIX Ignore glXCreateGLXPbufferSGIX Ignore glXDestroyGLXPbufferSGIX Ignore glXQueryGLXPbufferSGIX Ignore glXSelectEventSGIX Ignore glXGetSelectedEventSGIX Ignore glXCreateGLXPixmapMESA Opaque long GLXFBConfig # Now we can ignore the GLXFBConfig and XVisualInfo data types # Ignore GLXFBConfig Ignore XVisualInfo # Ignore the SGI hyperpipe extension, which will require more GlueGen # work to expose the pipeName fields in the various structs Ignore glXQueryHyperpipeNetworkSGIX Ignore glXHyperpipeConfigSGIX Ignore glXQueryHyperpipeConfigSGIX Ignore glXDestroyHyperpipeConfigSGIX Ignore glXBindHyperpipeSGIX Ignore glXQueryHyperpipeBestAttribSGIX Ignore glXHyperpipeAttribSGIX Ignore glXQueryHyperpipeAttribSGIX Ignore GLXHyperpipeNetworkSGIX Ignore GLXHyperpipeConfigSGIX Ignore GLXPipeRect Ignore GLXPipeRectLimits