aboutsummaryrefslogtreecommitdiffstats
path: root/make/stub_includes/egl/EGL/eglplatform.h
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2008-05-26 18:44:56 +0000
committerKenneth Russel <[email protected]>2008-05-26 18:44:56 +0000
commit286d1ba590c385994ece2d897f1e57e2504d3090 (patch)
tree528f56c995ae377db93872283ac96e369230f204 /make/stub_includes/egl/EGL/eglplatform.h
parent0e27cbfe6f60f0c39e826fcf374b7e7e03babe4f (diff)
Added glue code generation for the EGL class when building either the
OpenGL ES 1 or OpenGL ES 2 binding. Required changes to GlueGen to support the outgoing EGLConfig* array in eglChooseConfig, and to the EGL headers to produce StructAccessor types for the EGLConfig and other types. (At some point, should upgrade GlueGen's type system and code generation to support treating these types as opaque longs.) Changed generation for EGL, OpenGL ES 1 and OpenGL ES 2 to use dynamic function lookup exclusively so that either an emulation library on the desktop or an import library for a particular device is not needed to compile the generated code. Generated code compiles but will not run yet; needs hookup to dynamically-opened OpenGL ES libraries. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1641 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'make/stub_includes/egl/EGL/eglplatform.h')
-rwxr-xr-xmake/stub_includes/egl/EGL/eglplatform.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/make/stub_includes/egl/EGL/eglplatform.h b/make/stub_includes/egl/EGL/eglplatform.h
new file mode 100755
index 000000000..4a32edeef
--- /dev/null
+++ b/make/stub_includes/egl/EGL/eglplatform.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2007 NVIDIA Corporation. All rights reserved.
+ *
+ * NVIDIA Corporation and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA Corporation is strictly prohibited.
+ */
+
+#ifndef EGLPLATFORM_H
+#define EGLPLATFORM_H
+
+/*
+** eglplatform.h is platform dependent. It defines:
+**
+** - Native types
+** - EGL and native handle values
+**
+** EGLNativeDisplayType, EGLNativeWindowType and EGLNativePixmapType are to be
+** replaced with corresponding types of the native window system in egl.h.
+**
+** EGL and native handle values must match their types.
+**
+** This version of eglplatform.h is used to generate the glue code for the Java-side
+** EGL class, and is intended to be platform-independent.
+**
+*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Define storage class specifiers
+#ifndef APIENTRY
+#define APIENTRY
+#endif
+
+#ifndef EGLAPIENTRY
+#define EGLAPIENTRY
+#endif
+#ifndef EGLAPIENTRYP
+#define EGLAPIENTRYP EGLAPIENTRY *
+#endif
+
+#define EGLAPI
+
+// Define native window system types
+typedef int EGLNativeDisplayType;
+typedef void* EGLNativeWindowType;
+typedef void* EGLNativePixmapType;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* EGLPLATFORM_H */