diff options
Diffstat (limited to 'make/stub_includes/x11')
-rw-r--r-- | make/stub_includes/x11/X11/Intrinsic.h | 1 | ||||
-rw-r--r-- | make/stub_includes/x11/X11/X.h | 34 | ||||
-rw-r--r-- | make/stub_includes/x11/X11/Xlib.h | 1 | ||||
-rw-r--r-- | make/stub_includes/x11/X11/Xutil.h | 32 | ||||
-rw-r--r-- | make/stub_includes/x11/cg.c | 26 | ||||
-rw-r--r-- | make/stub_includes/x11/gl-impl.c | 21 | ||||
-rw-r--r-- | make/stub_includes/x11/gl.c | 7 | ||||
-rw-r--r-- | make/stub_includes/x11/glu-impl.c | 3 | ||||
-rw-r--r-- | make/stub_includes/x11/glu.c | 2 | ||||
-rw-r--r-- | make/stub_includes/x11/jni.h | 78 | ||||
-rw-r--r-- | make/stub_includes/x11/jni_md.h | 15 | ||||
-rw-r--r-- | make/stub_includes/x11/window-system.c | 167 |
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 */ +); |