summaryrefslogtreecommitdiffstats
path: root/make/stub_includes/x11
diff options
context:
space:
mode:
authordjp <[email protected]>2003-06-08 19:27:01 +0000
committerdjp <[email protected]>2003-06-08 19:27:01 +0000
commitd49fd968963909f181423eae46c613189468fac3 (patch)
treeb231329e6b65fd54aa24b3bcc0a3ecc623daec61 /make/stub_includes/x11
parent9c8fb046dee5d832bea3f36dcbd43285054f49a0 (diff)
Initial revision
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@3 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'make/stub_includes/x11')
-rw-r--r--make/stub_includes/x11/X11/Intrinsic.h1
-rw-r--r--make/stub_includes/x11/X11/X.h34
-rw-r--r--make/stub_includes/x11/X11/Xlib.h1
-rw-r--r--make/stub_includes/x11/X11/Xutil.h32
-rw-r--r--make/stub_includes/x11/cg.c26
-rw-r--r--make/stub_includes/x11/gl-impl.c21
-rw-r--r--make/stub_includes/x11/gl.c7
-rw-r--r--make/stub_includes/x11/glu-impl.c3
-rw-r--r--make/stub_includes/x11/glu.c2
-rw-r--r--make/stub_includes/x11/jni.h78
-rw-r--r--make/stub_includes/x11/jni_md.h15
-rw-r--r--make/stub_includes/x11/window-system.c167
12 files changed, 387 insertions, 0 deletions
diff --git a/make/stub_includes/x11/X11/Intrinsic.h b/make/stub_includes/x11/X11/Intrinsic.h
new file mode 100644
index 000000000..558d3791b
--- /dev/null
+++ b/make/stub_includes/x11/X11/Intrinsic.h
@@ -0,0 +1 @@
+#include <X11/X.h>
diff --git a/make/stub_includes/x11/X11/X.h b/make/stub_includes/x11/X11/X.h
new file mode 100644
index 000000000..8aa8500cb
--- /dev/null
+++ b/make/stub_includes/x11/X11/X.h
@@ -0,0 +1,34 @@
+#ifndef _X_H_
+#define _X_H_
+
+typedef unsigned long XID;
+typedef int Bool;
+typedef struct {} Display;
+typedef int Status;
+typedef struct {} Visual;
+typedef unsigned long VisualID;
+typedef XID Colormap;
+typedef XID Cursor;
+typedef XID Drawable;
+typedef XID GContext;
+typedef XID KeySym;
+typedef XID Pixmap;
+typedef XID Window;
+
+typedef struct __GLXcontextRec *GLXContext;
+//typedef void *GLXContext;
+typedef XID GLXPixmap;
+typedef XID GLXDrawable;
+/* GLX 1.3 and later */
+typedef struct __GLXFBConfigRec *GLXFBConfig;
+//typedef void *GLXFBConfig;
+typedef XID GLXFBConfigID;
+typedef XID GLXContextID;
+typedef XID GLXWindow;
+typedef XID GLXPbuffer;
+
+// Hacks for glXGetProcAddress
+typedef void (*__GLXextFuncPtr)(void);
+typedef unsigned char GLubyte; /* 1-byte unsigned */
+
+#endif /* defined _X_H_ */
diff --git a/make/stub_includes/x11/X11/Xlib.h b/make/stub_includes/x11/X11/Xlib.h
new file mode 100644
index 000000000..558d3791b
--- /dev/null
+++ b/make/stub_includes/x11/X11/Xlib.h
@@ -0,0 +1 @@
+#include <X11/X.h>
diff --git a/make/stub_includes/x11/X11/Xutil.h b/make/stub_includes/x11/X11/Xutil.h
new file mode 100644
index 000000000..017f8fb98
--- /dev/null
+++ b/make/stub_includes/x11/X11/Xutil.h
@@ -0,0 +1,32 @@
+#include <X11/X.h>
+#include <X11/Xlib.h>
+
+/*
+ * Information used by the visual utility routines to find desired visual
+ * type from the many visuals a display may support.
+ */
+
+typedef struct {
+ Visual *visual;
+ VisualID visualid;
+ int screen;
+ int depth;
+ int c_class; /* C++ */
+ unsigned long red_mask;
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ int colormap_size;
+ int bits_per_rgb;
+} XVisualInfo;
+
+#define VisualNoMask 0x0
+#define VisualIDMask 0x1
+#define VisualScreenMask 0x2
+#define VisualDepthMask 0x4
+#define VisualClassMask 0x8
+#define VisualRedMaskMask 0x10
+#define VisualGreenMaskMask 0x20
+#define VisualBlueMaskMask 0x40
+#define VisualColormapSizeMask 0x80
+#define VisualBitsPerRGBMask 0x100
+#define VisualAllMask 0x1FF
diff --git a/make/stub_includes/x11/cg.c b/make/stub_includes/x11/cg.c
new file mode 100644
index 000000000..98c824285
--- /dev/null
+++ b/make/stub_includes/x11/cg.c
@@ -0,0 +1,26 @@
+// Define __gl_h_ so that GL/gl.h doesn't get bound as part of CgGL.java
+// because cgGL.h tries to include it
+#define __gl_h_
+
+// Define some types so that cgGL.h has the types it expected to get by
+// including GL/gl.h (which we disabled above)
+typedef unsigned int GLenum;
+typedef unsigned char GLboolean;
+typedef unsigned int GLbitfield;
+typedef void GLvoid;
+typedef signed char GLbyte; /* 1-byte signed */
+typedef short GLshort; /* 2-byte signed */
+typedef int GLint; /* 4-byte signed */
+typedef unsigned char GLubyte; /* 1-byte unsigned */
+typedef unsigned short GLushort; /* 2-byte unsigned */
+typedef unsigned int GLuint; /* 4-byte unsigned */
+typedef int GLsizei; /* 4-byte signed */
+typedef float GLfloat; /* single precision float */
+typedef float GLclampf; /* single precision float in [0,1] */
+typedef double GLdouble; /* double precision float */
+typedef double GLclampd; /* double precision float in [0,1] */
+
+#define CGDLL_API
+#include <CG/cgGL.h>
+
+
diff --git a/make/stub_includes/x11/gl-impl.c b/make/stub_includes/x11/gl-impl.c
new file mode 100644
index 000000000..19759f2a3
--- /dev/null
+++ b/make/stub_includes/x11/gl-impl.c
@@ -0,0 +1,21 @@
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#define GLAPI
+
+// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+// "glext.h" are parsed.
+#define GL_GLEXT_PROTOTYPES
+
+#include <GL/gl.h>
+
+// Define GLX_GLXEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in
+// "glxext.h" are parsed.
+#define GLX_GLXEXT_PROTOTYPES
+
+#include <GL/glxext.h>
+
+// Generate unimplemented stubs for wgl extensions
+#define WGL_WGLEXT_PROTOTYPES
+#define SKIP_WGL_HANDLE_DEFINITIONS
+#include <windows.h>
+#include <GL/wglext.h>
diff --git a/make/stub_includes/x11/gl.c b/make/stub_includes/x11/gl.c
new file mode 100644
index 000000000..e91ee95f3
--- /dev/null
+++ b/make/stub_includes/x11/gl.c
@@ -0,0 +1,7 @@
+#define GLAPI
+
+// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+// "glext.h" are parsed.
+#define GL_GLEXT_PROTOTYPES
+
+#include <GL/gl.h>
diff --git a/make/stub_includes/x11/glu-impl.c b/make/stub_includes/x11/glu-impl.c
new file mode 100644
index 000000000..2328639d8
--- /dev/null
+++ b/make/stub_includes/x11/glu-impl.c
@@ -0,0 +1,3 @@
+#include <GL/glu.h>
+
+
diff --git a/make/stub_includes/x11/glu.c b/make/stub_includes/x11/glu.c
new file mode 100644
index 000000000..91020e365
--- /dev/null
+++ b/make/stub_includes/x11/glu.c
@@ -0,0 +1,2 @@
+#include <GL/glu.h>
+
diff --git a/make/stub_includes/x11/jni.h b/make/stub_includes/x11/jni.h
new file mode 100644
index 000000000..be01d0187
--- /dev/null
+++ b/make/stub_includes/x11/jni.h
@@ -0,0 +1,78 @@
+/* Stub header for JNI which provides needed declarations without more
+ complicated and unnecessary constructs */
+
+/*
+ * JNI Types
+ */
+
+#include "jni_md.h"
+
+typedef unsigned char jboolean;
+typedef unsigned short jchar;
+typedef short jshort;
+typedef float jfloat;
+typedef double jdouble;
+
+typedef jint jsize;
+
+struct _jobject;
+
+typedef struct _jobject *jobject;
+typedef jobject jclass;
+typedef jobject jthrowable;
+typedef jobject jstring;
+typedef jobject jarray;
+typedef jarray jbooleanArray;
+typedef jarray jbyteArray;
+typedef jarray jcharArray;
+typedef jarray jshortArray;
+typedef jarray jintArray;
+typedef jarray jlongArray;
+typedef jarray jfloatArray;
+typedef jarray jdoubleArray;
+typedef jarray jobjectArray;
+typedef jobject jweak;
+
+typedef union jvalue {
+ jboolean z;
+ jbyte b;
+ jchar c;
+ jshort s;
+ jint i;
+ jlong j;
+ jfloat f;
+ jdouble d;
+ jobject l;
+} jvalue;
+
+struct _jfieldID;
+typedef struct _jfieldID *jfieldID;
+
+struct _jmethodID;
+typedef struct _jmethodID *jmethodID;
+
+/*
+ * jboolean constants
+ */
+
+#define JNI_FALSE 0
+#define JNI_TRUE 1
+
+/*
+ * possible return values for JNI functions.
+ */
+
+#define JNI_OK 0 /* success */
+#define JNI_ERR (-1) /* unknown error */
+#define JNI_EDETACHED (-2) /* thread detached from the VM */
+#define JNI_EVERSION (-3) /* JNI version error */
+#define JNI_ENOMEM (-4) /* not enough memory */
+#define JNI_EEXIST (-5) /* VM already created */
+#define JNI_EINVAL (-6) /* invalid arguments */
+
+/*
+ * used in ReleaseScalarArrayElements
+ */
+
+#define JNI_COMMIT 1
+#define JNI_ABORT 2
diff --git a/make/stub_includes/x11/jni_md.h b/make/stub_includes/x11/jni_md.h
new file mode 100644
index 000000000..3c2987529
--- /dev/null
+++ b/make/stub_includes/x11/jni_md.h
@@ -0,0 +1,15 @@
+#define _JNI_IMPORT_OR_EXPORT_
+#define JNIEXPORT
+#define JNIIMPORT
+#define JNICALL
+
+typedef long jint;
+#ifdef _LP64 /* 64-bit Solaris */
+typedef long jlong;
+#else
+typedef long long jlong;
+#endif
+
+typedef signed char jbyte;
+
+typedef long JNIEnv;
diff --git a/make/stub_includes/x11/window-system.c b/make/stub_includes/x11/window-system.c
new file mode 100644
index 000000000..55e70c7f7
--- /dev/null
+++ b/make/stub_includes/x11/window-system.c
@@ -0,0 +1,167 @@
+/*
+ * Essential glX and supporting routines and data structures extracted
+ * from glx.h.
+ *
+ * Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
+ */
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+/*
+ * Tokens for glXChooseVisual and glXGetConfig:
+ */
+#define GLX_USE_GL 1
+#define GLX_BUFFER_SIZE 2
+#define GLX_LEVEL 3
+#define GLX_RGBA 4
+#define GLX_DOUBLEBUFFER 5
+#define GLX_STEREO 6
+#define GLX_AUX_BUFFERS 7
+#define GLX_RED_SIZE 8
+#define GLX_GREEN_SIZE 9
+#define GLX_BLUE_SIZE 10
+#define GLX_ALPHA_SIZE 11
+#define GLX_DEPTH_SIZE 12
+#define GLX_STENCIL_SIZE 13
+#define GLX_ACCUM_RED_SIZE 14
+#define GLX_ACCUM_GREEN_SIZE 15
+#define GLX_ACCUM_BLUE_SIZE 16
+#define GLX_ACCUM_ALPHA_SIZE 17
+
+/*
+ * Error codes returned by glXGetConfig:
+ */
+#define GLX_BAD_SCREEN 1
+#define GLX_BAD_ATTRIBUTE 2
+#define GLX_NO_EXTENSION 3
+#define GLX_BAD_VISUAL 4
+#define GLX_BAD_CONTEXT 5
+#define GLX_BAD_VALUE 6
+#define GLX_BAD_ENUM 7
+
+/*
+ * GLX 1.3 and later:
+ */
+#define GLX_CONFIG_CAVEAT 0x20
+#define GLX_DONT_CARE 0xFFFFFFFF
+#define GLX_SLOW_CONFIG 0x8001
+#define GLX_NON_CONFORMANT_CONFIG 0x800D
+#define GLX_X_VISUAL_TYPE 0x22
+#define GLX_TRANSPARENT_TYPE 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE 0x24
+#define GLX_TRANSPARENT_RED_VALUE 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
+#define GLX_MAX_PBUFFER_WIDTH 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT 0x8017
+#define GLX_MAX_PBUFFER_PIXELS 0x8018
+#define GLX_PRESERVED_CONTENTS 0x801B
+#define GLX_LARGEST_PBUFFER 0x801C
+#define GLX_WIDTH 0x801D
+#define GLX_HEIGHT 0x801E
+#define GLX_EVENT_MASK 0x801F
+#define GLX_DRAWABLE_TYPE 0x8010
+#define GLX_FBCONFIG_ID 0x8013
+#define GLX_VISUAL_ID 0x800B
+#define GLX_WINDOW_BIT 0x00000001
+#define GLX_PIXMAP_BIT 0x00000002
+#define GLX_PBUFFER_BIT 0x00000004
+#define GLX_AUX_BUFFERS_BIT 0x00000010
+#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
+#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
+#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
+#define GLX_DEPTH_BUFFER_BIT 0x00000020
+#define GLX_STENCIL_BUFFER_BIT 0x00000040
+#define GLX_ACCUM_BUFFER_BIT 0x00000080
+#define GLX_DRAWABLE_TYPE 0x8010
+#define GLX_RENDER_TYPE 0x8011
+#define GLX_X_RENDERABLE 0x8012
+#define GLX_NONE 0x8000
+#define GLX_TRUE_COLOR 0x8002
+#define GLX_DIRECT_COLOR 0x8003
+#define GLX_PSEUDO_COLOR 0x8004
+#define GLX_STATIC_COLOR 0x8005
+#define GLX_GRAY_SCALE 0x8006
+#define GLX_STATIC_GRAY 0x8007
+#define GLX_TRANSPARENT_RGB 0x8008
+#define GLX_TRANSPARENT_INDEX 0x8009
+#define GLX_RGBA_TYPE 0x8014
+#define GLX_COLOR_INDEX_TYPE 0x8015
+#define GLX_COLOR_INDEX_BIT 0x00000002
+#define GLX_RGBA_BIT 0x00000001
+#define GLX_SCREEN 0x800C
+#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
+#define GLX_DAMAGED 0x8020
+#define GLX_SAVED 0x8021
+#define GLX_WINDOW 0x8022
+#define GLX_PBUFFER 0x8023
+#define GLX_PBUFFER_HEIGHT 0x8040
+#define GLX_PBUFFER_WIDTH 0x8041
+
+/*
+ * GLX 1.4 and later:
+ */
+#define GLX_SAMPLE_BUFFERS 0x186a0 /*100000*/
+#define GLX_SAMPLES 0x186a1 /*100001*/
+
+extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
+ int *attribList );
+
+extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
+ GLXContext shareList, Bool direct );
+
+extern void glXDestroyContext( Display *dpy, GLXContext ctx );
+
+extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable,
+ GLXContext ctx);
+
+extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
+ unsigned long mask );
+
+extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
+
+extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
+ Pixmap pixmap );
+
+extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
+
+// Use ARB version for compatibility with older GLX installations
+extern __GLXextFuncPtr glXGetProcAddressARB(const GLubyte *procname);
+
+extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
+ int attrib, int *value );
+
+extern const char *glXQueryExtensionsString( Display *dpy, int screen );
+
+// Routines needed from Xlib.h and Xutil.h (placed here to avoid having
+// XVisualInfo generated multiple times)
+#ifndef _Xconst
+#define _Xconst const
+#endif /* _Xconst */
+
+extern Display *XOpenDisplay(
+ _Xconst char* /* display_name */
+);
+
+extern XVisualInfo *XGetVisualInfo(
+ Display* /* display */,
+ long /* vinfo_mask */,
+ XVisualInfo* /* vinfo_template */,
+ int* /* nitems_return */
+);
+
+extern Pixmap XCreatePixmap(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* depth */
+);
+
+extern int XFreePixmap(
+ Display* /* display */,
+ Pixmap /* pixmap */
+);