summaryrefslogtreecommitdiffstats
path: root/make/gl-impl-win32.cfg
blob: 2524256596753999c260c5149eec854e4f358d4b (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 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.windows
ImplJavaClass WindowsGLImpl
Include gl-common-win32.cfg
Include gl-glx-common.cfg

EmitProcAddressTable true
ProcAddressTableClassName GLProcAddressTable
ContextVariableName _context

CustomCCode #define WIN32_LEAN_AND_MEAN
CustomCCode #include <windows.h>
CustomCCode #undef WIN32_LEAN_AND_MEAN
CustomCCode #include <stdlib.h>
CustomCCode #include <stddef.h>
CustomCCode #include <malloc.h>

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

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

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

CustomCCode /* This typedef is only needed for VC6 */
CustomCCode #if _MSC_VER <= 1200
CustomCCode typedef int intptr_t;
CustomCCode #endif

CustomJavaCode WindowsGLImpl  public WindowsGLImpl(WindowsGLContext context) { 
CustomJavaCode WindowsGLImpl    this._context = context; 
CustomJavaCode WindowsGLImpl  }

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

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

CustomJavaCode WindowsGLImpl  private WindowsGLContext _context;

CustomJavaCode WindowsGLImpl   /**
CustomJavaCode WindowsGLImpl    * Provides platform-independent access to the wglAllocateMemoryNV /
CustomJavaCode WindowsGLImpl    * glXAllocateMemoryNV extension.
CustomJavaCode WindowsGLImpl    */
CustomJavaCode WindowsGLImpl   public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) {
CustomJavaCode WindowsGLImpl     return wglAllocateMemoryNV(arg0, arg1, arg2, arg3);
CustomJavaCode WindowsGLImpl   }

CustomJavaCode WindowsGLImpl   public void setSwapInterval(int interval) {
CustomJavaCode WindowsGLImpl     if (isExtensionAvailable("WGL_EXT_swap_control")) {
CustomJavaCode WindowsGLImpl       wglSwapIntervalEXT(interval);
CustomJavaCode WindowsGLImpl     }
CustomJavaCode WindowsGLImpl   }

IncludeAs CustomJavaCode WindowsGLImpl gl-impl-CustomJavaCode.java
IncludeAs CustomCCode gl-impl-CustomCCode.c