aboutsummaryrefslogtreecommitdiffstats
path: root/make/cglext.cfg
blob: 0d1ae1dcc78c95817d7878818fe639de9c6c3b2f (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
# This .cfg file is used to generate the interface and implementing
# class for the CGL extensions.
# Note that there are currently no such extensions exposed on Mac OS
# X, but if in the future there are, this structure will allow them to
# be easily exposed.
Package com.sun.opengl.impl.macosx
Style InterfaceAndImpl
JavaClass CGLExt
ImplPackage com.sun.opengl.impl.macosx
ImplJavaClass CGLExtImpl
Include gl-common-macosx.cfg

EmitProcAddressTable true
ProcAddressTableClassName CGLExtProcAddressTable
GetProcAddressTableExpr _context.getCGLExtProcAddressTable()

# Ignore everything that doesn't start with cgl or CGL
IgnoreNot ^(cgl|CGL).+

CustomCCode #include <inttypes.h>
CustomCCode #include <stdlib.h>

CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
CustomCCode    "glext.h" are parsed. */
CustomCCode #define GL_GLEXT_PROTOTYPES

CustomCCode /* Include the OpenGL headers */
CustomCCode #include <GL/gl.h>

CustomCCode #include </usr/include/machine/types.h>

CustomCCode /* Provide Windows typedefs */
CustomCCode typedef void* LPVOID;
CustomCCode typedef unsigned int* PUINT;

CustomJavaCode CGLExt      public boolean isFunctionAvailable(String glFunctionName);
CustomJavaCode CGLExt      public boolean isExtensionAvailable(String glExtensionName);

CustomJavaCode CGLExtImpl  public CGLExtImpl(MacOSXGLContext context) {
CustomJavaCode CGLExtImpl    this._context = context; 
CustomJavaCode CGLExtImpl  }

CustomJavaCode CGLExtImpl  public boolean isFunctionAvailable(String glFunctionName)
CustomJavaCode CGLExtImpl  {
CustomJavaCode CGLExtImpl    return _context.isFunctionAvailable(glFunctionName);
CustomJavaCode CGLExtImpl  }

CustomJavaCode CGLExtImpl  public boolean isExtensionAvailable(String glExtensionName)
CustomJavaCode CGLExtImpl  {
CustomJavaCode CGLExtImpl    return _context.isExtensionAvailable(glExtensionName);
CustomJavaCode CGLExtImpl  }

CustomJavaCode CGLExtImpl  private MacOSXGLContext _context;
">createContext(void* shareContext, void* nsView, void* pixelFormat, int* viewNotReady); Bool makeCurrentContext(void* nsContext); Bool clearCurrentContext(void* nsContext); Bool deleteContext(void* nsContext); Bool flushBuffer(void* nsContext); void updateContext(void* nsContext); void copyContext(void* destContext, void* srcContext, int mask); void* updateContextRegister(void* nsContext, void* nsView); void updateContextUnregister(void* nsContext, void* nsView, void* updater); void* createPBuffer(int renderTarget, int internalFormat, int width, int height); Bool destroyPBuffer(void* nsContext, void* pBuffer); void setContextPBuffer(void* nsContext, void* pBuffer); void setContextTextureImageToPBuffer(void* nsContext, void* pBuffer, int colorBuffer); void* getProcAddress(const char *procName); void setSwapInterval(void* nsContext, int interval); /* Gamma-related functionality */ Bool setGammaRamp(int tableSize, float* redRamp, float* greenRamp, float* blueRamp); void resetGammaRamp(); /****************************************************************************************/ /* Java2D/JOGL bridge support; need to be able to create pbuffers and contexts using the CGL APIs to be able to share textures, etc. with contexts created by Java2D/JOGL bridge, which are CGLContextObjs */ /* Pick up copies of CGL signatures from Mac OS X stub_includes/window-system-build directory */ #include <OpenGL/OpenGL.h>