blob: 9edf96731745fb69928ab1bab7c98f6e25334739 (
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
|
# This .cfg file is used to generate the class which implements the GL
# interface on a particular platform.
Package net.java.games.jogl
Style ImplOnly
JavaClass GL
ImplPackage net.java.games.jogl.impl.macosx
ImplJavaClass MacOSXGLImpl
Include gl-common-macosx.cfg
Include gl-glx-common.cfg
EmitProcAddressTable true
ProcAddressTableClassName GLProcAddressTable
ContextVariableName _context
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 /* Provide Windows typedefs */
CustomCCode typedef void* LPVOID;
CustomCCode typedef unsigned int* PUINT;
CustomJavaCode MacOSXGLImpl public MacOSXGLImpl(MacOSXGLContext context)
CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl this._context = context;
CustomJavaCode MacOSXGLImpl }
CustomJavaCode MacOSXGLImpl /** This constructor should be used manually in order to
CustomJavaCode MacOSXGLImpl create a GL object that can be used with the Cocoa NSOpenGLView. */
CustomJavaCode MacOSXGLImpl public MacOSXGLImpl()
CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl this._context = new MacOSXDummyGLContext(this);
CustomJavaCode MacOSXGLImpl }
CustomJavaCode MacOSXGLImpl public boolean isFunctionAvailable(String glFunctionName)
CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl return _context.isFunctionAvailable(glFunctionName);
CustomJavaCode MacOSXGLImpl }
CustomJavaCode MacOSXGLImpl public boolean isExtensionAvailable(String glExtensionName)
CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl return _context.isExtensionAvailable(glExtensionName);
CustomJavaCode MacOSXGLImpl }
CustomJavaCode MacOSXGLImpl /** Forces a recomputation of which extensions are available.
CustomJavaCode MacOSXGLImpl Should only be called if this MacOSXGLImpl is being used
CustomJavaCode MacOSXGLImpl in conjunction with an NSOpenGLView instead of a GLCanvas. */
CustomJavaCode MacOSXGLImpl public void resetGLFunctionAvailability()
CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl if (!(_context instanceof MacOSXDummyGLContext)) {
CustomJavaCode MacOSXGLImpl throw new GLException("Should only be called if being used with NSOpenGLView");
CustomJavaCode MacOSXGLImpl }
CustomJavaCode MacOSXGLImpl ((MacOSXDummyGLContext) _context).resetGLFunctionAvailability();
CustomJavaCode MacOSXGLImpl }
CustomJavaCode MacOSXGLImpl private MacOSXGLContext _context;
CustomJavaCode MacOSXGLImpl /**
CustomJavaCode MacOSXGLImpl * Provides platform-independent access to the wglAllocateMemoryNV /
CustomJavaCode MacOSXGLImpl * glXAllocateMemoryNV extension.
CustomJavaCode MacOSXGLImpl */
CustomJavaCode MacOSXGLImpl public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3)
CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl // FIXME
CustomJavaCode MacOSXGLImpl throw new GLException("Not yet implemented");
CustomJavaCode MacOSXGLImpl }
IncludeAs CustomJavaCode MacOSXGLImpl gl-impl-CustomJavaCode.java
IncludeAs CustomCCode gl-impl-CustomCCode.c
|