Initial revision
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
GLincludedir = $(includedir)/GL
|
||||
|
||||
if HAVE_FX
|
||||
INC_FX = fxmesa.h
|
||||
endif
|
||||
|
||||
if HAVE_GGI
|
||||
INC_GGI = ggimesa.h
|
||||
endif
|
||||
|
||||
if HAVE_OSMESA
|
||||
INC_OSMESA = osmesa.h
|
||||
endif
|
||||
|
||||
if HAVE_SVGA
|
||||
INC_SVGA = svgamesa.h
|
||||
endif
|
||||
|
||||
if HAVE_X11
|
||||
INC_X11 = glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
|
||||
endif
|
||||
|
||||
EXTRA_DIST = fxmesa.h ggimesa.h osmesa.h svgamesa.h \
|
||||
glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
|
||||
|
||||
GLinclude_HEADERS = gl.h gl_mangle.h glu.h glu_mangle.h \
|
||||
$(INC_FX) $(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11)
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
/* $Id: amesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
*
|
||||
* Copyright (C) 1999 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: amesa.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 1.1 1999/03/16 01:24:13 brianp
|
||||
* initial check-in
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* Allegro (DJGPP) driver by Bernhard Tschirren (bernie-t@geocities.com) */
|
||||
|
||||
|
||||
|
||||
#ifndef AMESA_H
|
||||
#define AMESA_H
|
||||
|
||||
|
||||
typedef struct amesa_visual *AMesaVisual;
|
||||
typedef struct amesa_buffer *AMesaBuffer;
|
||||
typedef struct amesa_context *AMesaContext;
|
||||
|
||||
|
||||
extern AMesaVisual AMesaCreateVisual(GLboolean dbFlag, GLint depth,
|
||||
GLint depthSize,
|
||||
GLint stencilSize,
|
||||
GLint accumSize);
|
||||
|
||||
extern void AMesaDestroyVisual(AMesaVisual visual);
|
||||
|
||||
extern AMesaBuffer AMesaCreateBuffer(AMesaVisual visual,
|
||||
GLint width, GLint height);
|
||||
|
||||
extern void AMesaDestroyBuffer(AMesaBuffer buffer);
|
||||
|
||||
|
||||
extern AMesaContext AMesaCreateContext(AMesaVisual visual,
|
||||
AMesaContext sharelist);
|
||||
|
||||
extern void AMesaDestroyContext(AMesaContext context);
|
||||
|
||||
extern GLboolean AMesaMakeCurrent(AMesaContext context, AMesaBuffer buffer);
|
||||
|
||||
extern void AMesaSwapBuffers(AMesaBuffer buffer);
|
||||
|
||||
|
||||
#endif /* AMESA_H */
|
||||
@@ -0,0 +1,89 @@
|
||||
/* $Id: foomesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.0
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: foomesa.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 1.1 1998/06/02 01:34:18 brianp
|
||||
* Initial revision
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Example Foo/Mesa interface. See src/ddsample.c for more info.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef FOOMESA_H
|
||||
#define FOOMESA_H
|
||||
|
||||
|
||||
|
||||
typedef struct foo_mesa_visual *FooMesaVisual;
|
||||
|
||||
typedef struct foo_mesa_buffer *FooMesaBuffer;
|
||||
|
||||
typedef struct foo_mesa_context *FooMesaContext;
|
||||
|
||||
|
||||
|
||||
#ifdef BEOS
|
||||
#pragma export on
|
||||
#endif
|
||||
|
||||
|
||||
extern FooMesaVisual FooMesaChooseVisual( /* your params */ );
|
||||
|
||||
extern void FooMesaDestroyVisual( FooMesaVisual visual );
|
||||
|
||||
|
||||
extern FooMesaBuffer FooMesaCreateBuffer( FooMesaVisual visual,
|
||||
void *your_window_id );
|
||||
|
||||
extern void FooMesaDestroyBuffer( FooMesaBuffer buffer );
|
||||
|
||||
|
||||
extern FooMesaContext FooMesaCreateContext( FooMesaVisual visual,
|
||||
FooMesaContext sharelist );
|
||||
|
||||
extern void FooMesaDestroyContext( FooMesaContext context );
|
||||
|
||||
|
||||
extern void FooMesaMakeCurrent( FooMesaContext context, FooMesaBuffer buffer );
|
||||
|
||||
|
||||
extern void FooMesaSwapBuffers( FooMesaBuffer buffer );
|
||||
|
||||
|
||||
/* Probably some more functions... */
|
||||
|
||||
|
||||
#ifdef BEOS
|
||||
#pragma export off
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,120 @@
|
||||
/* $Id: fxmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
* Copyright (C) 1995-1999 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: fxmesa.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 3.2 1999/01/03 02:46:31 brianp
|
||||
* now using GLAPI and GLAPIENTRY keywords (Ted Jump)
|
||||
*
|
||||
* Revision 3.1 1998/04/01 03:00:28 brianp
|
||||
* updated for v0.24 of 3Dfx/Glide driver
|
||||
*
|
||||
* Revision 3.0 1998/02/20 05:04:45 brianp
|
||||
* initial rev
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* FXMesa - 3Dfx Glide driver for Mesa. Contributed by David Bucciarelli
|
||||
*
|
||||
* NOTE: This version requires Glide 2.3 or later.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef FXMESA_H
|
||||
#define FXMESA_H
|
||||
|
||||
|
||||
#include <glide.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#define FXMESA_MAJOR_VERSION 3
|
||||
#define FXMESA_MINOR_VERSION 0
|
||||
|
||||
|
||||
/*
|
||||
* Values for attribList parameter to fxMesaCreateContext():
|
||||
*/
|
||||
#define FXMESA_NONE 0 /* to terminate attribList */
|
||||
#define FXMESA_DOUBLEBUFFER 10
|
||||
#define FXMESA_ALPHA_SIZE 11 /* followed by an integer */
|
||||
#define FXMESA_DEPTH_SIZE 12 /* followed by an integer */
|
||||
#define FXMESA_STENCIL_SIZE 13 /* followed by an integer */
|
||||
#define FXMESA_ACCUM_SIZE 14 /* followed by an integer */
|
||||
|
||||
|
||||
|
||||
typedef struct tfxMesaContext *fxMesaContext;
|
||||
|
||||
|
||||
#if defined (__BEOS__)
|
||||
#pragma export on
|
||||
#endif
|
||||
|
||||
|
||||
GLAPI fxMesaContext GLAPIENTRY fxMesaCreateContext(GLuint win, GrScreenResolution_t,
|
||||
GrScreenRefresh_t,
|
||||
const GLint attribList[]);
|
||||
|
||||
GLAPI fxMesaContext GLAPIENTRY fxMesaCreateBestContext(GLuint win,
|
||||
GLint width, GLint height,
|
||||
const GLint attribList[]);
|
||||
GLAPI void GLAPIENTRY fxMesaDestroyContext(fxMesaContext ctx);
|
||||
|
||||
GLAPI GLboolean GLAPIENTRY fxMesaSelectCurrentBoard(int n);
|
||||
|
||||
GLAPI void GLAPIENTRY fxMesaMakeCurrent(fxMesaContext ctx);
|
||||
|
||||
GLAPI fxMesaContext GLAPIENTRY fxMesaGetCurrentContext(void);
|
||||
|
||||
GLAPI void GLAPIENTRY fxMesaSwapBuffers(void);
|
||||
|
||||
GLAPI void GLAPIENTRY fxMesaSetNearFar(GLfloat nearVal, GLfloat farVal);
|
||||
|
||||
GLAPI void GLAPIENTRY fxMesaUpdateScreenSize(fxMesaContext ctx);
|
||||
|
||||
GLAPI int GLAPIENTRY fxQueryHardware(void);
|
||||
|
||||
GLAPI void GLAPIENTRY fxCloseHardware(void);
|
||||
|
||||
|
||||
#if defined (__BEOS__)
|
||||
#pragma export off
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,67 @@
|
||||
/* $Id: ggimesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
* Copyright (C) 1998 Uwe Maurer
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: ggimesa.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 1.2 1998/09/29 01:46:40 brianp
|
||||
* applied Emmanuel Marty's patches for latest GGI
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef GGIMESA_H
|
||||
#define GGIMESA_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "GL/gl.h"
|
||||
|
||||
|
||||
typedef struct ggi_mesa_context *GGIMesaContext;
|
||||
|
||||
#include <ggi/ggi.h>
|
||||
|
||||
extern GGIMesaContext GGIMesaCreateContext(void);
|
||||
|
||||
extern void GGIMesaDestroyContext( GGIMesaContext ctx );
|
||||
|
||||
extern void GGIMesaMakeCurrent(GGIMesaContext ctx );
|
||||
|
||||
extern GGIMesaContext GGIMesaGetCurrentContext( void );
|
||||
|
||||
extern void GGIMesaSwapBuffers( void );
|
||||
|
||||
extern int GGIMesaSetVisual(GGIMesaContext ctx,ggi_visual_t vis,
|
||||
GLboolean rgb_flag,GLboolean db_flag);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+2235
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,531 @@
|
||||
/* $Id: gl_mangle.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
*
|
||||
* Copyright (C) 1999 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* If you compile Mesa with USE_MGL_NAMESPACE defined then you can link
|
||||
* your application both with OpenGL and Mesa. The Mesa functions will
|
||||
* be redefined so they are prefixed with "mgl" instead of "gl".
|
||||
* Contributed by Randy Frank (rfrank@rsinc.com)
|
||||
*/
|
||||
|
||||
#ifndef GL_MANGLE_H
|
||||
#define GL_MANGLE_H
|
||||
|
||||
#define glClearIndex mglClearIndex
|
||||
#define glClearColor mglClearColor
|
||||
#define glClear mglClear
|
||||
#define glIndexMask mglIndexMask
|
||||
#define glColorMask mglColorMask
|
||||
#define glAlphaFunc mglAlphaFunc
|
||||
#define glBlendFunc mglBlendFunc
|
||||
#define glLogicOp mglLogicOp
|
||||
#define glCullFace mglCullFace
|
||||
#define glFrontFace mglFrontFace
|
||||
#define glPointSize mglPointSize
|
||||
#define glLineWidth mglLineWidth
|
||||
#define glLineStipple mglLineStipple
|
||||
#define glPolygonMode mglPolygonMode
|
||||
#define glPolygonOffset mglPolygonOffset
|
||||
#define glPolygonStipple mglPolygonStipple
|
||||
#define glGetPolygonStipple mglGetPolygonStipple
|
||||
#define glEdgeFlag mglEdgeFlag
|
||||
#define glEdgeFlagv mglEdgeFlagv
|
||||
#define glScissor mglScissor
|
||||
#define glClipPlane mglClipPlane
|
||||
#define glGetClipPlane mglGetClipPlane
|
||||
#define glDrawBuffer mglDrawBuffer
|
||||
#define glReadBuffer mglReadBuffer
|
||||
#define glEnable mglEnable
|
||||
#define glDisable mglDisable
|
||||
#define glIsEnabled mglIsEnabled
|
||||
#define glEnableClientState mglEnableClientState
|
||||
#define glDisableClientState mglDisableClientState
|
||||
#define glGetBooleanv mglGetBooleanv
|
||||
#define glGetDoublev mglGetDoublev
|
||||
#define glGetFloatv mglGetFloatv
|
||||
#define glGetIntegerv mglGetIntegerv
|
||||
#define glPushAttrib mglPushAttrib
|
||||
#define glPopAttrib mglPopAttrib
|
||||
#define glPushClientAttrib mglPushClientAttrib
|
||||
#define glPopClientAttrib mglPopClientAttrib
|
||||
#define glRenderMode mglRenderMode
|
||||
#define glGetError mglGetError
|
||||
#define glGetString mglGetString
|
||||
#define glFinish mglFinish
|
||||
#define glFlush mglFlush
|
||||
#define glHint mglHint
|
||||
#define glClearDepth mglClearDepth
|
||||
#define glDepthFunc mglDepthFunc
|
||||
#define glDepthMask mglDepthMask
|
||||
#define glDepthRange mglDepthRange
|
||||
#define glClearAccum mglClearAccum
|
||||
#define glAccum mglAccum
|
||||
#define glMatrixMode mglMatrixMode
|
||||
#define glOrtho mglOrtho
|
||||
#define glFrustum mglFrustum
|
||||
#define glViewport mglViewport
|
||||
#define glPushMatrix mglPushMatrix
|
||||
#define glPopMatrix mglPopMatrix
|
||||
#define glLoadIdentity mglLoadIdentity
|
||||
#define glLoadMatrixd mglLoadMatrixd
|
||||
#define glLoadMatrixf mglLoadMatrixf
|
||||
#define glMultMatrixd mglMultMatrixd
|
||||
#define glMultMatrixf mglMultMatrixf
|
||||
#define glRotated mglRotated
|
||||
#define glRotatef mglRotatef
|
||||
#define glScaled mglScaled
|
||||
#define glScalef mglScalef
|
||||
#define glTranslated mglTranslated
|
||||
#define glTranslatef mglTranslatef
|
||||
#define glIsList mglIsList
|
||||
#define glDeleteLists mglDeleteLists
|
||||
#define glGenLists mglGenLists
|
||||
#define glNewList mglNewList
|
||||
#define glEndList mglEndList
|
||||
#define glCallList mglCallList
|
||||
#define glCallLists mglCallLists
|
||||
#define glListBase mglListBase
|
||||
#define glBegin mglBegin
|
||||
#define glEnd mglEnd
|
||||
#define glVertex2d mglVertex2d
|
||||
#define glVertex2f mglVertex2f
|
||||
#define glVertex2i mglVertex2i
|
||||
#define glVertex2s mglVertex2s
|
||||
#define glVertex3d mglVertex3d
|
||||
#define glVertex3f mglVertex3f
|
||||
#define glVertex3i mglVertex3i
|
||||
#define glVertex3s mglVertex3s
|
||||
#define glVertex4d mglVertex4d
|
||||
#define glVertex4f mglVertex4f
|
||||
#define glVertex4i mglVertex4i
|
||||
#define glVertex4s mglVertex4s
|
||||
#define glVertex2dv mglVertex2dv
|
||||
#define glVertex2fv mglVertex2fv
|
||||
#define glVertex2iv mglVertex2iv
|
||||
#define glVertex2sv mglVertex2sv
|
||||
#define glVertex3dv mglVertex3dv
|
||||
#define glVertex3fv mglVertex3fv
|
||||
#define glVertex3iv mglVertex3iv
|
||||
#define glVertex3sv mglVertex3sv
|
||||
#define glVertex4dv mglVertex4dv
|
||||
#define glVertex4fv mglVertex4fv
|
||||
#define glVertex4iv mglVertex4iv
|
||||
#define glVertex4sv mglVertex4sv
|
||||
#define glNormal3b mglNormal3b
|
||||
#define glNormal3d mglNormal3d
|
||||
#define glNormal3f mglNormal3f
|
||||
#define glNormal3i mglNormal3i
|
||||
#define glNormal3s mglNormal3s
|
||||
#define glNormal3bv mglNormal3bv
|
||||
#define glNormal3dv mglNormal3dv
|
||||
#define glNormal3fv mglNormal3fv
|
||||
#define glNormal3iv mglNormal3iv
|
||||
#define glNormal3sv mglNormal3sv
|
||||
#define glIndexd mglIndexd
|
||||
#define glIndexf mglIndexf
|
||||
#define glIndexi mglIndexi
|
||||
#define glIndexs mglIndexs
|
||||
#define glIndexub mglIndexub
|
||||
#define glIndexdv mglIndexdv
|
||||
#define glIndexfv mglIndexfv
|
||||
#define glIndexiv mglIndexiv
|
||||
#define glIndexsv mglIndexsv
|
||||
#define glIndexubv mglIndexubv
|
||||
#define glColor3b mglColor3b
|
||||
#define glColor3d mglColor3d
|
||||
#define glColor3f mglColor3f
|
||||
#define glColor3i mglColor3i
|
||||
#define glColor3s mglColor3s
|
||||
#define glColor3ub mglColor3ub
|
||||
#define glColor3ui mglColor3ui
|
||||
#define glColor3us mglColor3us
|
||||
#define glColor4b mglColor4b
|
||||
#define glColor4d mglColor4d
|
||||
#define glColor4f mglColor4f
|
||||
#define glColor4i mglColor4i
|
||||
#define glColor4s mglColor4s
|
||||
#define glColor4ub mglColor4ub
|
||||
#define glColor4ui mglColor4ui
|
||||
#define glColor4us mglColor4us
|
||||
#define glColor3bv mglColor3bv
|
||||
#define glColor3dv mglColor3dv
|
||||
#define glColor3fv mglColor3fv
|
||||
#define glColor3iv mglColor3iv
|
||||
#define glColor3sv mglColor3sv
|
||||
#define glColor3ubv mglColor3ubv
|
||||
#define glColor3uiv mglColor3uiv
|
||||
#define glColor3usv mglColor3usv
|
||||
#define glColor4bv mglColor4bv
|
||||
#define glColor4dv mglColor4dv
|
||||
#define glColor4fv mglColor4fv
|
||||
#define glColor4iv mglColor4iv
|
||||
#define glColor4sv mglColor4sv
|
||||
#define glColor4ubv mglColor4ubv
|
||||
#define glColor4uiv mglColor4uiv
|
||||
#define glColor4usv mglColor4usv
|
||||
#define glTexCoord1d mglTexCoord1d
|
||||
#define glTexCoord1f mglTexCoord1f
|
||||
#define glTexCoord1i mglTexCoord1i
|
||||
#define glTexCoord1s mglTexCoord1s
|
||||
#define glTexCoord2d mglTexCoord2d
|
||||
#define glTexCoord2f mglTexCoord2f
|
||||
#define glTexCoord2i mglTexCoord2i
|
||||
#define glTexCoord2s mglTexCoord2s
|
||||
#define glTexCoord3d mglTexCoord3d
|
||||
#define glTexCoord3f mglTexCoord3f
|
||||
#define glTexCoord3i mglTexCoord3i
|
||||
#define glTexCoord3s mglTexCoord3s
|
||||
#define glTexCoord4d mglTexCoord4d
|
||||
#define glTexCoord4f mglTexCoord4f
|
||||
#define glTexCoord4i mglTexCoord4i
|
||||
#define glTexCoord4s mglTexCoord4s
|
||||
#define glTexCoord1dv mglTexCoord1dv
|
||||
#define glTexCoord1fv mglTexCoord1fv
|
||||
#define glTexCoord1iv mglTexCoord1iv
|
||||
#define glTexCoord1sv mglTexCoord1sv
|
||||
#define glTexCoord2dv mglTexCoord2dv
|
||||
#define glTexCoord2fv mglTexCoord2fv
|
||||
#define glTexCoord2iv mglTexCoord2iv
|
||||
#define glTexCoord2sv mglTexCoord2sv
|
||||
#define glTexCoord3dv mglTexCoord3dv
|
||||
#define glTexCoord3fv mglTexCoord3fv
|
||||
#define glTexCoord3iv mglTexCoord3iv
|
||||
#define glTexCoord3sv mglTexCoord3sv
|
||||
#define glTexCoord4dv mglTexCoord4dv
|
||||
#define glTexCoord4fv mglTexCoord4fv
|
||||
#define glTexCoord4iv mglTexCoord4iv
|
||||
#define glTexCoord4sv mglTexCoord4sv
|
||||
#define glRasterPos2d mglRasterPos2d
|
||||
#define glRasterPos2f mglRasterPos2f
|
||||
#define glRasterPos2i mglRasterPos2i
|
||||
#define glRasterPos2s mglRasterPos2s
|
||||
#define glRasterPos3d mglRasterPos3d
|
||||
#define glRasterPos3f mglRasterPos3f
|
||||
#define glRasterPos3i mglRasterPos3i
|
||||
#define glRasterPos3s mglRasterPos3s
|
||||
#define glRasterPos4d mglRasterPos4d
|
||||
#define glRasterPos4f mglRasterPos4f
|
||||
#define glRasterPos4i mglRasterPos4i
|
||||
#define glRasterPos4s mglRasterPos4s
|
||||
#define glRasterPos2dv mglRasterPos2dv
|
||||
#define glRasterPos2fv mglRasterPos2fv
|
||||
#define glRasterPos2iv mglRasterPos2iv
|
||||
#define glRasterPos2sv mglRasterPos2sv
|
||||
#define glRasterPos3dv mglRasterPos3dv
|
||||
#define glRasterPos3fv mglRasterPos3fv
|
||||
#define glRasterPos3iv mglRasterPos3iv
|
||||
#define glRasterPos3sv mglRasterPos3sv
|
||||
#define glRasterPos4dv mglRasterPos4dv
|
||||
#define glRasterPos4fv mglRasterPos4fv
|
||||
#define glRasterPos4iv mglRasterPos4iv
|
||||
#define glRasterPos4sv mglRasterPos4sv
|
||||
#define glRectd mglRectd
|
||||
#define glRectf mglRectf
|
||||
#define glRecti mglRecti
|
||||
#define glRects mglRects
|
||||
#define glRectdv mglRectdv
|
||||
#define glRectfv mglRectfv
|
||||
#define glRectiv mglRectiv
|
||||
#define glRectsv mglRectsv
|
||||
#define glVertexPointer mglVertexPointer
|
||||
#define glNormalPointer mglNormalPointer
|
||||
#define glColorPointer mglColorPointer
|
||||
#define glIndexPointer mglIndexPointer
|
||||
#define glTexCoordPointer mglTexCoordPointer
|
||||
#define glEdgeFlagPointer mglEdgeFlagPointer
|
||||
#define glGetPointerv mglGetPointerv
|
||||
#define glArrayElement mglArrayElement
|
||||
#define glDrawArrays mglDrawArrays
|
||||
#define glDrawElements mglDrawElements
|
||||
#define glInterleavedArrays mglInterleavedArrays
|
||||
#define glShadeModel mglShadeModel
|
||||
#define glLightf mglLightf
|
||||
#define glLighti mglLighti
|
||||
#define glLightfv mglLightfv
|
||||
#define glLightiv mglLightiv
|
||||
#define glGetLightfv mglGetLightfv
|
||||
#define glGetLightiv mglGetLightiv
|
||||
#define glLightModelf mglLightModelf
|
||||
#define glLightModeli mglLightModeli
|
||||
#define glLightModelfv mglLightModelfv
|
||||
#define glLightModeliv mglLightModeliv
|
||||
#define glMaterialf mglMaterialf
|
||||
#define glMateriali mglMateriali
|
||||
#define glMaterialfv mglMaterialfv
|
||||
#define glMaterialiv mglMaterialiv
|
||||
#define glGetMaterialfv mglGetMaterialfv
|
||||
#define glGetMaterialiv mglGetMaterialiv
|
||||
#define glColorMaterial mglColorMaterial
|
||||
#define glPixelZoom mglPixelZoom
|
||||
#define glPixelStoref mglPixelStoref
|
||||
#define glPixelStorei mglPixelStorei
|
||||
#define glPixelTransferf mglPixelTransferf
|
||||
#define glPixelTransferi mglPixelTransferi
|
||||
#define glPixelMapfv mglPixelMapfv
|
||||
#define glPixelMapuiv mglPixelMapuiv
|
||||
#define glPixelMapusv mglPixelMapusv
|
||||
#define glGetPixelMapfv mglGetPixelMapfv
|
||||
#define glGetPixelMapuiv mglGetPixelMapuiv
|
||||
#define glGetPixelMapusv mglGetPixelMapusv
|
||||
#define glBitmap mglBitmap
|
||||
#define glReadPixels mglReadPixels
|
||||
#define glDrawPixels mglDrawPixels
|
||||
#define glCopyPixels mglCopyPixels
|
||||
#define glStencilFunc mglStencilFunc
|
||||
#define glStencilMask mglStencilMask
|
||||
#define glStencilOp mglStencilOp
|
||||
#define glClearStencil mglClearStencil
|
||||
#define glTexGend mglTexGend
|
||||
#define glTexGenf mglTexGenf
|
||||
#define glTexGeni mglTexGeni
|
||||
#define glTexGendv mglTexGendv
|
||||
#define glTexGenfv mglTexGenfv
|
||||
#define glTexGeniv mglTexGeniv
|
||||
#define glGetTexGendv mglGetTexGendv
|
||||
#define glGetTexGenfv mglGetTexGenfv
|
||||
#define glGetTexGeniv mglGetTexGeniv
|
||||
#define glTexEnvf mglTexEnvf
|
||||
#define glTexEnvi mglTexEnvi
|
||||
#define glTexEnvfv mglTexEnvfv
|
||||
#define glTexEnviv mglTexEnviv
|
||||
#define glGetTexEnvfv mglGetTexEnvfv
|
||||
#define glGetTexEnviv mglGetTexEnviv
|
||||
#define glTexParameterf mglTexParameterf
|
||||
#define glTexParameteri mglTexParameteri
|
||||
#define glTexParameterfv mglTexParameterfv
|
||||
#define glTexParameteriv mglTexParameteriv
|
||||
#define glGetTexParameterfv mglGetTexParameterfv
|
||||
#define glGetTexParameteriv mglGetTexParameteriv
|
||||
#define glGetTexLevelParameterfv mglGetTexLevelParameterfv
|
||||
#define glGetTexLevelParameteriv mglGetTexLevelParameteriv
|
||||
#define glTexImage1D mglTexImage1D
|
||||
#define glTexImage2D mglTexImage2D
|
||||
#define glGetTexImage mglGetTexImage
|
||||
#define glGenTextures mglGenTextures
|
||||
#define glDeleteTextures mglDeleteTextures
|
||||
#define glBindTexture mglBindTexture
|
||||
#define glPrioritizeTextures mglPrioritizeTextures
|
||||
#define glAreTexturesResident mglAreTexturesResident
|
||||
#define glIsTexture mglIsTexture
|
||||
#define glTexSubImage1D mglTexSubImage1D
|
||||
#define glTexSubImage2D mglTexSubImage2D
|
||||
#define glCopyTexImage1D mglCopyTexImage1D
|
||||
#define glCopyTexImage2D mglCopyTexImage2D
|
||||
#define glCopyTexSubImage1D mglCopyTexSubImage1D
|
||||
#define glCopyTexSubImage2D mglCopyTexSubImage2D
|
||||
#define glMap1d mglMap1d
|
||||
#define glMap1f mglMap1f
|
||||
#define glMap2d mglMap2d
|
||||
#define glMap2f mglMap2f
|
||||
#define glGetMapdv mglGetMapdv
|
||||
#define glGetMapfv mglGetMapfv
|
||||
#define glGetMapiv mglGetMapiv
|
||||
#define glEvalCoord1d mglEvalCoord1d
|
||||
#define glEvalCoord1f mglEvalCoord1f
|
||||
#define glEvalCoord1dv mglEvalCoord1dv
|
||||
#define glEvalCoord1fv mglEvalCoord1fv
|
||||
#define glEvalCoord2d mglEvalCoord2d
|
||||
#define glEvalCoord2f mglEvalCoord2f
|
||||
#define glEvalCoord2dv mglEvalCoord2dv
|
||||
#define glEvalCoord2fv mglEvalCoord2fv
|
||||
#define glMapGrid1d mglMapGrid1d
|
||||
#define glMapGrid1f mglMapGrid1f
|
||||
#define glMapGrid2d mglMapGrid2d
|
||||
#define glMapGrid2f mglMapGrid2f
|
||||
#define glEvalPoint1 mglEvalPoint1
|
||||
#define glEvalPoint2 mglEvalPoint2
|
||||
#define glEvalMesh1 mglEvalMesh1
|
||||
#define glEvalMesh2 mglEvalMesh2
|
||||
#define glFogf mglFogf
|
||||
#define glFogi mglFogi
|
||||
#define glFogfv mglFogfv
|
||||
#define glFogiv mglFogiv
|
||||
#define glFeedbackBuffer mglFeedbackBuffer
|
||||
#define glPassThrough mglPassThrough
|
||||
#define glSelectBuffer mglSelectBuffer
|
||||
#define glInitNames mglInitNames
|
||||
#define glLoadName mglLoadName
|
||||
#define glPushName mglPushName
|
||||
#define glPopName mglPopName
|
||||
#define glBlendEquation mglBlendEquation
|
||||
#define glBlendEquationEXT mglBlendEquationEXT
|
||||
#define glBlendColor mglBlendColor
|
||||
#define glBlendColorEXT mglBlendColorEXT
|
||||
#define glPolygonOffsetEXT mglPolygonOffsetEXT
|
||||
#define glVertexPointerEXT mglVertexPointerEXT
|
||||
#define glNormalPointerEXT mglNormalPointerEXT
|
||||
#define glColorPointerEXT mglColorPointerEXT
|
||||
#define glIndexPointerEXT mglIndexPointerEXT
|
||||
#define glTexCoordPointerEXT mglTexCoordPointerEXT
|
||||
#define glEdgeFlagPointerEXT mglEdgeFlagPointerEXT
|
||||
#define glGetPointervEXT mglGetPointervEXT
|
||||
#define glArrayElementEXT mglArrayElementEXT
|
||||
#define glDrawArraysEXT mglDrawArraysEXT
|
||||
#define glGenTexturesEXT mglGenTexturesEXT
|
||||
#define glDeleteTexturesEXT mglDeleteTexturesEXT
|
||||
#define glBindTextureEXT mglBindTextureEXT
|
||||
#define glPrioritizeTexturesEXT mglPrioritizeTexturesEXT
|
||||
#define glAreTexturesResidentEXT mglAreTexturesResidentEXT
|
||||
#define glIsTextureEXT mglIsTextureEXT
|
||||
#define glTexImage3DEXT mglTexImage3DEXT
|
||||
#define glTexSubImage3DEXT mglTexSubImage3DEXT
|
||||
#define glCopyTexSubImage3DEXT mglCopyTexSubImage3DEXT
|
||||
#define glColorTableEXT mglColorTableEXT
|
||||
#define glColorSubTableEXT mglColorSubTableEXT
|
||||
#define glGetColorTableEXT mglGetColorTableEXT
|
||||
#define glGetColorTableParameterfvEXT mglGetColorTableParameterfvEXT
|
||||
#define glGetColorTableParameterivEXT mglGetColorTableParameterivEXT
|
||||
#define glGetMinMax mglGetMinMax
|
||||
#define glMultiTexCoord1dSGIS mglMultiTexCoord1dSGIS
|
||||
#define glMultiTexCoord1dvSGIS mglMultiTexCoord1dvSGIS
|
||||
#define glMultiTexCoord1fSGIS mglMultiTexCoord1fSGIS
|
||||
#define glMultiTexCoord1fvSGIS mglMultiTexCoord1fvSGIS
|
||||
#define glMultiTexCoord1iSGIS mglMultiTexCoord1iSGIS
|
||||
#define glMultiTexCoord1ivSGIS mglMultiTexCoord1ivSGIS
|
||||
#define glMultiTexCoord1sSGIS mglMultiTexCoord1sSGIS
|
||||
#define glMultiTexCoord1svSGIS mglMultiTexCoord1svSGIS
|
||||
#define glMultiTexCoord2dSGIS mglMultiTexCoord2dSGIS
|
||||
#define glMultiTexCoord2dvSGIS mglMultiTexCoord2dvSGIS
|
||||
#define glMultiTexCoord2fSGIS mglMultiTexCoord2fSGIS
|
||||
#define glMultiTexCoord2fvSGIS mglMultiTexCoord2fvSGIS
|
||||
#define glMultiTexCoord2iSGIS mglMultiTexCoord2iSGIS
|
||||
#define glMultiTexCoord2ivSGIS mglMultiTexCoord2ivSGIS
|
||||
#define glMultiTexCoord2sSGIS mglMultiTexCoord2sSGIS
|
||||
#define glMultiTexCoord2svSGIS mglMultiTexCoord2svSGIS
|
||||
#define glMultiTexCoord3dSGIS mglMultiTexCoord3dSGIS
|
||||
#define glMultiTexCoord3dvSGIS mglMultiTexCoord3dvSGIS
|
||||
#define glMultiTexCoord3fSGIS mglMultiTexCoord3fSGIS
|
||||
#define glMultiTexCoord3fvSGIS mglMultiTexCoord3fvSGIS
|
||||
#define glMultiTexCoord3iSGIS mglMultiTexCoord3iSGIS
|
||||
#define glMultiTexCoord3ivSGIS mglMultiTexCoord3ivSGIS
|
||||
#define glMultiTexCoord3sSGIS mglMultiTexCoord3sSGIS
|
||||
#define glMultiTexCoord3svSGIS mglMultiTexCoord3svSGIS
|
||||
#define glMultiTexCoord4dSGIS mglMultiTexCoord4dSGIS
|
||||
#define glMultiTexCoord4dvSGIS mglMultiTexCoord4dvSGIS
|
||||
#define glMultiTexCoord4fSGIS mglMultiTexCoord4fSGIS
|
||||
#define glMultiTexCoord4fvSGIS mglMultiTexCoord4fvSGIS
|
||||
#define glMultiTexCoord4iSGIS mglMultiTexCoord4iSGIS
|
||||
#define glMultiTexCoord4ivSGIS mglMultiTexCoord4ivSGIS
|
||||
#define glMultiTexCoord4sSGIS mglMultiTexCoord4sSGIS
|
||||
#define glMultiTexCoord4svSGIS mglMultiTexCoord4svSGIS
|
||||
#define glMultiTexCoordPointerSGIS mglMultiTexCoordPointerSGIS
|
||||
#define glSelectTextureSGIS mglSelectTextureSGIS
|
||||
#define glSelectTextureCoordSetSGIS mglSelectTextureCoordSetSGIS
|
||||
#define glActiveTextureARB mglActiveTextureARB
|
||||
#define glClientActiveTextureARB mglClientActiveTextureARB
|
||||
#define glMultiTexCoord1dARB mglMultiTexCoord1dARB
|
||||
#define glMultiTexCoord1dvARB mglMultiTexCoord1dvARB
|
||||
#define glMultiTexCoord1fARB mglMultiTexCoord1fARB
|
||||
#define glMultiTexCoord1fvARB mglMultiTexCoord1fvARB
|
||||
#define glMultiTexCoord1iARB mglMultiTexCoord1iARB
|
||||
#define glMultiTexCoord1ivARB mglMultiTexCoord1ivARB
|
||||
#define glMultiTexCoord1sARB mglMultiTexCoord1sARB
|
||||
#define glMultiTexCoord1svARB mglMultiTexCoord1svARB
|
||||
#define glMultiTexCoord2dARB mglMultiTexCoord2dARB
|
||||
#define glMultiTexCoord2dvARB mglMultiTexCoord2dvARB
|
||||
#define glMultiTexCoord2fARB mglMultiTexCoord2fARB
|
||||
#define glMultiTexCoord2fvARB mglMultiTexCoord2fvARB
|
||||
#define glMultiTexCoord2iARB mglMultiTexCoord2iARB
|
||||
#define glMultiTexCoord2ivARB mglMultiTexCoord2ivARB
|
||||
#define glMultiTexCoord2sARB mglMultiTexCoord2sARB
|
||||
#define glMultiTexCoord2svARB mglMultiTexCoord2svARB
|
||||
#define glMultiTexCoord3dARB mglMultiTexCoord3dARB
|
||||
#define glMultiTexCoord3dvARB mglMultiTexCoord3dvARB
|
||||
#define glMultiTexCoord3fARB mglMultiTexCoord3fARB
|
||||
#define glMultiTexCoord3fvARB mglMultiTexCoord3fvARB
|
||||
#define glMultiTexCoord3iARB mglMultiTexCoord3iARB
|
||||
#define glMultiTexCoord3ivARB mglMultiTexCoord3ivARB
|
||||
#define glMultiTexCoord3sARB mglMultiTexCoord3sARB
|
||||
#define glMultiTexCoord3svARB mglMultiTexCoord3svARB
|
||||
#define glMultiTexCoord4dARB mglMultiTexCoord4dARB
|
||||
#define glMultiTexCoord4dvARB mglMultiTexCoord4dvARB
|
||||
#define glMultiTexCoord4fARB mglMultiTexCoord4fARB
|
||||
#define glMultiTexCoord4fvARB mglMultiTexCoord4fvARB
|
||||
#define glMultiTexCoord4iARB mglMultiTexCoord4iARB
|
||||
#define glMultiTexCoord4ivARB mglMultiTexCoord4ivARB
|
||||
#define glMultiTexCoord4sARB mglMultiTexCoord4sARB
|
||||
#define glMultiTexCoord4svARB mglMultiTexCoord4svARB
|
||||
#define glPointParameterfEXT mglPointParameterfEXT
|
||||
#define glPointParameterfvEXT mglPointParameterfvEXT
|
||||
#define glBlendFuncSeparateINGR mglBlendFuncSeparateINGR
|
||||
#define glWindowPos2iMESA mglWindowPos2iMESA
|
||||
#define glWindowPos2sMESA mglWindowPos2sMESA
|
||||
#define glWindowPos2fMESA mglWindowPos2fMESA
|
||||
#define glWindowPos2dMESA mglWindowPos2dMESA
|
||||
#define glWindowPos2ivMESA mglWindowPos2ivMESA
|
||||
#define glWindowPos2svMESA mglWindowPos2svMESA
|
||||
#define glWindowPos2fvMESA mglWindowPos2fvMESA
|
||||
#define glWindowPos2dvMESA mglWindowPos2dvMESA
|
||||
#define glWindowPos3iMESA mglWindowPos3iMESA
|
||||
#define glWindowPos3sMESA mglWindowPos3sMESA
|
||||
#define glWindowPos3fMESA mglWindowPos3fMESA
|
||||
#define glWindowPos3dMESA mglWindowPos3dMESA
|
||||
#define glWindowPos3ivMESA mglWindowPos3ivMESA
|
||||
#define glWindowPos3svMESA mglWindowPos3svMESA
|
||||
#define glWindowPos3fvMESA mglWindowPos3fvMESA
|
||||
#define glWindowPos3dvMESA mglWindowPos3dvMESA
|
||||
#define glWindowPos4iMESA mglWindowPos4iMESA
|
||||
#define glWindowPos4sMESA mglWindowPos4sMESA
|
||||
#define glWindowPos4fMESA mglWindowPos4fMESA
|
||||
#define glWindowPos4dMESA mglWindowPos4dMESA
|
||||
#define glWindowPos4ivMESA mglWindowPos4ivMESA
|
||||
#define glWindowPos4svMESA mglWindowPos4svMESA
|
||||
#define glWindowPos4fvMESA mglWindowPos4fvMESA
|
||||
#define glWindowPos4dvMESA mglWindowPos4dvMESA
|
||||
#define glResizeBuffersMESA mglResizeBuffersMESA
|
||||
#define glDrawRangeElements mglDrawRangeElements
|
||||
#define glTexImage3D mglTexImage3D
|
||||
#define glTexSubImage3D mglTexSubImage3D
|
||||
#define glCopyTexSubImage3D mglCopyTexSubImage3D
|
||||
#define glHistogram mglHistogram
|
||||
#define glResetHistogram mglResetHistogram
|
||||
#define glGetHistogram mglGetHistogram
|
||||
#define glGetHistogramParameterfv mglGetHistogramParameterfv
|
||||
#define glGetHistogramParameteriv mglGetHistogramParameteriv
|
||||
#define glMinmax mglMinmax
|
||||
#define glResetMinmax mglResetMinmax
|
||||
#define glGetMinmaxParameterfv mglGetMinmaxParameterfv
|
||||
#define glGetMinmaxParameteriv mglGetMinmaxParameteriv
|
||||
#define glConvolutionFilter1D mglConvolutionFilter1D
|
||||
#define glConvolutionFilter2D mglConvolutionFilter2D
|
||||
#define glConvolutionParameterf mglConvolutionParameterf
|
||||
#define glConvolutionParameterfv mglConvolutionParameterfv
|
||||
#define glConvolutionParameteri mglConvolutionParameteri
|
||||
#define glConvolutionParameteriv mglConvolutionParameteriv
|
||||
#define glCopyConvolutionFilter1D mglCopyConvolutionFilter1D
|
||||
#define glCopyConvolutionFilter2D mglCopyConvolutionFilter2D
|
||||
#define glGetConvolutionFilter mglGetConvolutionFilter
|
||||
#define glGetConvolutionParameterfv mglGetConvolutionParameterfv
|
||||
#define glGetConvolutionParameteriv mglGetConvolutionParameteriv
|
||||
#define glSeparableFilter2D mglSeparableFilter2D
|
||||
#define glGetSeparableFilter mglGetSeparableFilter
|
||||
#define glCopyColorSubTable mglCopyColorSubTable
|
||||
#define glCopyColorTable mglCopyColorTable
|
||||
#define glLockArraysEXT mglLockArraysEXT
|
||||
#define glUnlockArraysEXT mglUnlockArraysEXT
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,444 @@
|
||||
/* $Id: glu.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
* Copyright (C) 1995-1999 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: glu.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 3.6 1999/02/14 03:39:45 brianp
|
||||
* updated for BeOS R4
|
||||
*
|
||||
* Revision 3.5 1999/01/03 03:02:55 brianp
|
||||
* now using GLAPI and GLAPIENTRY keywords, misc Windows changes (Ted Jump)
|
||||
*
|
||||
* Revision 3.4 1998/12/01 02:34:27 brianp
|
||||
* applied Mark Kilgard's patches from November 30, 1998
|
||||
*
|
||||
* Revision 3.3 1998/11/17 01:14:02 brianp
|
||||
* minor changes for OpenStep compilation (pete@ohm.york.ac.uk)
|
||||
*
|
||||
* Revision 3.2 1998/07/26 01:36:27 brianp
|
||||
* changes for Windows compilation per Ted Jump
|
||||
*
|
||||
* Revision 3.1 1998/06/23 00:33:08 brianp
|
||||
* added some WIN32 APIENTRY, CALLBACK stuff (Eric Lassauge)
|
||||
*
|
||||
* Revision 3.0 1998/02/20 05:06:01 brianp
|
||||
* initial rev
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef GLU_H
|
||||
#define GLU_H
|
||||
|
||||
|
||||
#if defined(USE_MGL_NAMESPACE)
|
||||
#include "glu_mangle.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#include "GL/gl.h"
|
||||
|
||||
/* to facilitate clean DLL building ... */
|
||||
#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__))
|
||||
# if defined(_MSC_VER) && defined(BUILD_GLU32) /* tag specify we're building mesa as a DLL */
|
||||
# define GLUAPI __declspec(dllexport)
|
||||
# elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
|
||||
# define GLUAPI __declspec(dllimport)
|
||||
# else /* for use with static link lib build of Win32 edition only */
|
||||
# define GLUAPI extern
|
||||
# endif /* _STATIC_MESA support */
|
||||
#else
|
||||
# define GLUAPI extern
|
||||
#endif /* WIN32 / CYGWIN32 bracket */
|
||||
|
||||
#ifdef macintosh
|
||||
#pragma enumsalwaysint on
|
||||
#if PRAGMA_IMPORT_SUPPORTED
|
||||
#pragma import on
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#define GLU_VERSION_1_1 1
|
||||
|
||||
|
||||
#define GLU_TRUE GL_TRUE
|
||||
#define GLU_FALSE GL_FALSE
|
||||
|
||||
|
||||
enum {
|
||||
/* Normal vectors */
|
||||
GLU_SMOOTH = 100000,
|
||||
GLU_FLAT = 100001,
|
||||
GLU_NONE = 100002,
|
||||
|
||||
/* Quadric draw styles */
|
||||
GLU_POINT = 100010,
|
||||
GLU_LINE = 100011,
|
||||
GLU_FILL = 100012,
|
||||
GLU_SILHOUETTE = 100013,
|
||||
|
||||
/* Quadric orientation */
|
||||
GLU_OUTSIDE = 100020,
|
||||
GLU_INSIDE = 100021,
|
||||
|
||||
/* Tesselator */
|
||||
GLU_BEGIN = 100100,
|
||||
GLU_VERTEX = 100101,
|
||||
GLU_END = 100102,
|
||||
GLU_ERROR = 100103,
|
||||
GLU_EDGE_FLAG = 100104,
|
||||
|
||||
/* Contour types */
|
||||
GLU_CW = 100120,
|
||||
GLU_CCW = 100121,
|
||||
GLU_INTERIOR = 100122,
|
||||
GLU_EXTERIOR = 100123,
|
||||
GLU_UNKNOWN = 100124,
|
||||
|
||||
/* Tesselation errors */
|
||||
GLU_TESS_ERROR1 = 100151, /* missing gluEndPolygon */
|
||||
GLU_TESS_ERROR2 = 100152, /* missing gluBeginPolygon */
|
||||
GLU_TESS_ERROR3 = 100153, /* misoriented contour */
|
||||
GLU_TESS_ERROR4 = 100154, /* vertex/edge intersection */
|
||||
GLU_TESS_ERROR5 = 100155, /* misoriented or self-intersecting loops */
|
||||
GLU_TESS_ERROR6 = 100156, /* coincident vertices */
|
||||
GLU_TESS_ERROR7 = 100157, /* all vertices collinear */
|
||||
GLU_TESS_ERROR8 = 100158, /* intersecting edges */
|
||||
GLU_TESS_ERROR9 = 100159, /* not coplanar contours */
|
||||
|
||||
/* NURBS */
|
||||
GLU_AUTO_LOAD_MATRIX = 100200,
|
||||
GLU_CULLING = 100201,
|
||||
GLU_PARAMETRIC_TOLERANCE= 100202,
|
||||
GLU_SAMPLING_TOLERANCE = 100203,
|
||||
GLU_DISPLAY_MODE = 100204,
|
||||
GLU_SAMPLING_METHOD = 100205,
|
||||
GLU_U_STEP = 100206,
|
||||
GLU_V_STEP = 100207,
|
||||
|
||||
GLU_PATH_LENGTH = 100215,
|
||||
GLU_PARAMETRIC_ERROR = 100216,
|
||||
GLU_DOMAIN_DISTANCE = 100217,
|
||||
|
||||
GLU_MAP1_TRIM_2 = 100210,
|
||||
GLU_MAP1_TRIM_3 = 100211,
|
||||
|
||||
GLU_OUTLINE_POLYGON = 100240,
|
||||
GLU_OUTLINE_PATCH = 100241,
|
||||
|
||||
GLU_NURBS_ERROR1 = 100251, /* spline order un-supported */
|
||||
GLU_NURBS_ERROR2 = 100252, /* too few knots */
|
||||
GLU_NURBS_ERROR3 = 100253, /* valid knot range is empty */
|
||||
GLU_NURBS_ERROR4 = 100254, /* decreasing knot sequence */
|
||||
GLU_NURBS_ERROR5 = 100255, /* knot multiplicity > spline order */
|
||||
GLU_NURBS_ERROR6 = 100256, /* endcurve() must follow bgncurve() */
|
||||
GLU_NURBS_ERROR7 = 100257, /* bgncurve() must precede endcurve() */
|
||||
GLU_NURBS_ERROR8 = 100258, /* ctrlarray or knot vector is NULL */
|
||||
GLU_NURBS_ERROR9 = 100259, /* can't draw pwlcurves */
|
||||
GLU_NURBS_ERROR10 = 100260, /* missing gluNurbsCurve() */
|
||||
GLU_NURBS_ERROR11 = 100261, /* missing gluNurbsSurface() */
|
||||
GLU_NURBS_ERROR12 = 100262, /* endtrim() must precede endsurface() */
|
||||
GLU_NURBS_ERROR13 = 100263, /* bgnsurface() must precede endsurface() */
|
||||
GLU_NURBS_ERROR14 = 100264, /* curve of improper type passed as trim curve */
|
||||
GLU_NURBS_ERROR15 = 100265, /* bgnsurface() must precede bgntrim() */
|
||||
GLU_NURBS_ERROR16 = 100266, /* endtrim() must follow bgntrim() */
|
||||
GLU_NURBS_ERROR17 = 100267, /* bgntrim() must precede endtrim()*/
|
||||
GLU_NURBS_ERROR18 = 100268, /* invalid or missing trim curve*/
|
||||
GLU_NURBS_ERROR19 = 100269, /* bgntrim() must precede pwlcurve() */
|
||||
GLU_NURBS_ERROR20 = 100270, /* pwlcurve referenced twice*/
|
||||
GLU_NURBS_ERROR21 = 100271, /* pwlcurve and nurbscurve mixed */
|
||||
GLU_NURBS_ERROR22 = 100272, /* improper usage of trim data type */
|
||||
GLU_NURBS_ERROR23 = 100273, /* nurbscurve referenced twice */
|
||||
GLU_NURBS_ERROR24 = 100274, /* nurbscurve and pwlcurve mixed */
|
||||
GLU_NURBS_ERROR25 = 100275, /* nurbssurface referenced twice */
|
||||
GLU_NURBS_ERROR26 = 100276, /* invalid property */
|
||||
GLU_NURBS_ERROR27 = 100277, /* endsurface() must follow bgnsurface() */
|
||||
GLU_NURBS_ERROR28 = 100278, /* intersecting or misoriented trim curves */
|
||||
GLU_NURBS_ERROR29 = 100279, /* intersecting trim curves */
|
||||
GLU_NURBS_ERROR30 = 100280, /* UNUSED */
|
||||
GLU_NURBS_ERROR31 = 100281, /* unconnected trim curves */
|
||||
GLU_NURBS_ERROR32 = 100282, /* unknown knot error */
|
||||
GLU_NURBS_ERROR33 = 100283, /* negative vertex count encountered */
|
||||
GLU_NURBS_ERROR34 = 100284, /* negative byte-stride */
|
||||
GLU_NURBS_ERROR35 = 100285, /* unknown type descriptor */
|
||||
GLU_NURBS_ERROR36 = 100286, /* null control point reference */
|
||||
GLU_NURBS_ERROR37 = 100287, /* duplicate point on pwlcurve */
|
||||
|
||||
/* Errors */
|
||||
GLU_INVALID_ENUM = 100900,
|
||||
GLU_INVALID_VALUE = 100901,
|
||||
GLU_OUT_OF_MEMORY = 100902,
|
||||
GLU_INCOMPATIBLE_GL_VERSION = 100903,
|
||||
|
||||
/* New in GLU 1.1 */
|
||||
GLU_VERSION = 100800,
|
||||
GLU_EXTENSIONS = 100801
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* These are the GLU 1.1 typedefs. GLU 1.2 has different ones!
|
||||
*/
|
||||
#if defined(__BEOS__)
|
||||
/* The BeOS does something funky and makes these typedefs in one
|
||||
* of its system headers.
|
||||
*/
|
||||
#else
|
||||
typedef struct GLUquadric GLUquadricObj;
|
||||
typedef struct GLUtesselator GLUtriangulatorObj;
|
||||
typedef struct GLUnurbs GLUnurbsObj;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
||||
#pragma export on
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Miscellaneous functions
|
||||
*
|
||||
*/
|
||||
|
||||
GLUAPI void GLAPIENTRY gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez,
|
||||
GLdouble centerx, GLdouble centery,
|
||||
GLdouble centerz,
|
||||
GLdouble upx, GLdouble upy, GLdouble upz );
|
||||
|
||||
|
||||
GLUAPI void GLAPIENTRY gluOrtho2D( GLdouble left, GLdouble right,
|
||||
GLdouble bottom, GLdouble top );
|
||||
|
||||
|
||||
GLUAPI void GLAPIENTRY gluPerspective( GLdouble fovy, GLdouble aspect,
|
||||
GLdouble zNear, GLdouble zFar );
|
||||
|
||||
|
||||
GLUAPI void GLAPIENTRY gluPickMatrix( GLdouble x, GLdouble y,
|
||||
GLdouble width, GLdouble height,
|
||||
const GLint viewport[4] );
|
||||
|
||||
GLUAPI GLint GLAPIENTRY gluProject( GLdouble objx, GLdouble objy, GLdouble objz,
|
||||
const GLdouble modelMatrix[16],
|
||||
const GLdouble projMatrix[16],
|
||||
const GLint viewport[4],
|
||||
GLdouble *winx, GLdouble *winy,
|
||||
GLdouble *winz );
|
||||
|
||||
GLUAPI GLint GLAPIENTRY gluUnProject( GLdouble winx, GLdouble winy,
|
||||
GLdouble winz,
|
||||
const GLdouble modelMatrix[16],
|
||||
const GLdouble projMatrix[16],
|
||||
const GLint viewport[4],
|
||||
GLdouble *objx, GLdouble *objy,
|
||||
GLdouble *objz );
|
||||
|
||||
GLUAPI const GLubyte* GLAPIENTRY gluErrorString( GLenum errorCode );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Mipmapping and image scaling
|
||||
*
|
||||
*/
|
||||
|
||||
GLUAPI GLint GLAPIENTRY gluScaleImage( GLenum format,
|
||||
GLint widthin, GLint heightin,
|
||||
GLenum typein, const void *datain,
|
||||
GLint widthout, GLint heightout,
|
||||
GLenum typeout, void *dataout );
|
||||
|
||||
GLUAPI GLint GLAPIENTRY gluBuild1DMipmaps( GLenum target, GLint components,
|
||||
GLint width, GLenum format,
|
||||
GLenum type, const void *data );
|
||||
|
||||
GLUAPI GLint GLAPIENTRY gluBuild2DMipmaps( GLenum target, GLint components,
|
||||
GLint width, GLint height,
|
||||
GLenum format,
|
||||
GLenum type, const void *data );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Quadrics
|
||||
*
|
||||
*/
|
||||
|
||||
GLUAPI GLUquadricObj* GLAPIENTRY gluNewQuadric( void );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluDeleteQuadric( GLUquadricObj *state );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluQuadricDrawStyle( GLUquadricObj *quadObject,
|
||||
GLenum drawStyle );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluQuadricOrientation( GLUquadricObj *quadObject,
|
||||
GLenum orientation );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluQuadricNormals( GLUquadricObj *quadObject,
|
||||
GLenum normals );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluQuadricTexture( GLUquadricObj *quadObject,
|
||||
GLboolean textureCoords );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluQuadricCallback( GLUquadricObj *qobj,
|
||||
GLenum which, void (GLCALLBACK *fn)() );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluCylinder( GLUquadricObj *qobj,
|
||||
GLdouble baseRadius,
|
||||
GLdouble topRadius,
|
||||
GLdouble height,
|
||||
GLint slices, GLint stacks );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluSphere( GLUquadricObj *qobj,
|
||||
GLdouble radius, GLint slices, GLint stacks );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluDisk( GLUquadricObj *qobj,
|
||||
GLdouble innerRadius, GLdouble outerRadius,
|
||||
GLint slices, GLint loops );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluPartialDisk( GLUquadricObj *qobj, GLdouble innerRadius,
|
||||
GLdouble outerRadius, GLint slices,
|
||||
GLint loops, GLdouble startAngle,
|
||||
GLdouble sweepAngle );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Nurbs
|
||||
*
|
||||
*/
|
||||
|
||||
GLUAPI GLUnurbsObj* GLAPIENTRY gluNewNurbsRenderer( void );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluDeleteNurbsRenderer( GLUnurbsObj *nobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluLoadSamplingMatrices( GLUnurbsObj *nobj,
|
||||
const GLfloat modelMatrix[16],
|
||||
const GLfloat projMatrix[16],
|
||||
const GLint viewport[4] );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluNurbsProperty( GLUnurbsObj *nobj, GLenum property,
|
||||
GLfloat value );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluGetNurbsProperty( GLUnurbsObj *nobj, GLenum property,
|
||||
GLfloat *value );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluBeginCurve( GLUnurbsObj *nobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluEndCurve( GLUnurbsObj * nobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluNurbsCurve( GLUnurbsObj *nobj, GLint nknots,
|
||||
GLfloat *knot, GLint stride,
|
||||
GLfloat *ctlarray, GLint order,
|
||||
GLenum type );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluBeginSurface( GLUnurbsObj *nobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluEndSurface( GLUnurbsObj * nobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluNurbsSurface( GLUnurbsObj *nobj,
|
||||
GLint sknot_count, GLfloat *sknot,
|
||||
GLint tknot_count, GLfloat *tknot,
|
||||
GLint s_stride, GLint t_stride,
|
||||
GLfloat *ctlarray,
|
||||
GLint sorder, GLint torder,
|
||||
GLenum type );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluBeginTrim( GLUnurbsObj *nobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluEndTrim( GLUnurbsObj *nobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluPwlCurve( GLUnurbsObj *nobj, GLint count,
|
||||
GLfloat *array, GLint stride, GLenum type );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluNurbsCallback( GLUnurbsObj *nobj, GLenum which,
|
||||
void (GLCALLBACK *fn)() );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Polygon tesselation
|
||||
*
|
||||
*/
|
||||
|
||||
GLUAPI GLUtriangulatorObj* GLAPIENTRY gluNewTess( void );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluTessCallback( GLUtriangulatorObj *tobj, GLenum which,
|
||||
void (GLCALLBACK *fn)() );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluDeleteTess( GLUtriangulatorObj *tobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluBeginPolygon( GLUtriangulatorObj *tobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluEndPolygon( GLUtriangulatorObj *tobj );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluNextContour( GLUtriangulatorObj *tobj, GLenum type );
|
||||
|
||||
GLUAPI void GLAPIENTRY gluTessVertex( GLUtriangulatorObj *tobj, GLdouble v[3],
|
||||
void *data );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* New functions in GLU 1.1
|
||||
*
|
||||
*/
|
||||
|
||||
GLUAPI const GLubyte* GLAPIENTRY gluGetString( GLenum name );
|
||||
|
||||
|
||||
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
||||
#pragma export off
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef macintosh
|
||||
#pragma enumsalwaysint reset
|
||||
#if PRAGMA_IMPORT_SUPPORTED
|
||||
#pragma import off
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,86 @@
|
||||
/* $Id: glu_mangle.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.0
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: glu_mangle.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 3.1 1999/06/21 22:00:42 brianp
|
||||
* added #ifndef GLU_MANGLE_H stuff
|
||||
*
|
||||
* Revision 3.0 1998/02/20 05:04:45 brianp
|
||||
* initial rev
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef GLU_MANGLE_H
|
||||
#define GLU_MANGLE_H
|
||||
|
||||
|
||||
#define gluLookAt mgluLookAt
|
||||
#define gluOrtho2D mgluOrtho2D
|
||||
#define gluPerspective mgluPerspective
|
||||
#define gluPickMatrix mgluPickMatrix
|
||||
#define gluProject mgluProject
|
||||
#define gluUnProject mgluUnProject
|
||||
#define gluErrorString mgluErrorString
|
||||
#define gluScaleImage mgluScaleImage
|
||||
#define gluBuild1DMipmaps mgluBuild1DMipmaps
|
||||
#define gluBuild2DMipmaps mgluBuild2DMipmaps
|
||||
#define gluNewQuadric mgluNewQuadric
|
||||
#define gluDeleteQuadric mgluDeleteQuadric
|
||||
#define gluQuadricDrawStyle mgluQuadricDrawStyle
|
||||
#define gluQuadricOrientation mgluQuadricOrientation
|
||||
#define gluQuadricNormals mgluQuadricNormals
|
||||
#define gluQuadricTexture mgluQuadricTexture
|
||||
#define gluQuadricCallback mgluQuadricCallback
|
||||
#define gluCylinder mgluCylinder
|
||||
#define gluSphere mgluSphere
|
||||
#define gluDisk mgluDisk
|
||||
#define gluPartialDisk mgluPartialDisk
|
||||
#define gluNewNurbsRenderer mgluNewNurbsRenderer
|
||||
#define gluDeleteNurbsRenderer mgluDeleteNurbsRenderer
|
||||
#define gluLoadSamplingMatrices mgluLoadSamplingMatrices
|
||||
#define gluNurbsProperty mgluNurbsProperty
|
||||
#define gluGetNurbsProperty mgluGetNurbsProperty
|
||||
#define gluBeginCurve mgluBeginCurve
|
||||
#define gluEndCurve mgluEndCurve
|
||||
#define gluNurbsCurve mgluNurbsCurve
|
||||
#define gluBeginSurface mgluBeginSurface
|
||||
#define gluEndSurface mgluEndSurface
|
||||
#define gluNurbsSurface mgluNurbsSurface
|
||||
#define gluBeginTrim mgluBeginTrim
|
||||
#define gluEndTrim mgluEndTrim
|
||||
#define gluPwlCurve mgluPwlCurve
|
||||
#define gluNurbsCallback mgluNurbsCallback
|
||||
#define gluNewTess mgluNewTess
|
||||
#define gluTessCallback mgluTessCallback
|
||||
#define gluDeleteTess mgluDeleteTess
|
||||
#define gluBeginPolygon mgluBeginPolygon
|
||||
#define gluEndPolygon mgluEndPolygon
|
||||
#define gluNextContour mgluNextContour
|
||||
#define gluTessVertex mgluTessVertex
|
||||
#define gluGetString mgluGetString
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,751 @@
|
||||
#ifndef __glut_h__
|
||||
#define __glut_h__
|
||||
|
||||
/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */
|
||||
|
||||
/* This program is freely distributable without licensing fees and is
|
||||
provided without guarantee or warrantee expressed or implied. This
|
||||
program is -not- in the public domain. */
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
|
||||
/* GLUT 3.7 now tries to avoid including <windows.h>
|
||||
to avoid name space pollution, but Win32's <GL/gl.h>
|
||||
needs APIENTRY and WINGDIAPI defined properly.
|
||||
|
||||
tjump@spgs.com contributes:
|
||||
If users are building glut code on MS Windows, then they should
|
||||
make sure they include windows.h early, let's not get into a
|
||||
header definitions war since MS has proven it's capability to
|
||||
change header dependencies w/o publishing they have done so.
|
||||
|
||||
So, let's not include windows.h here, as it's not really required and
|
||||
MS own gl/gl.h *should* include it if the dependency is there. */
|
||||
|
||||
/* To disable automatic library usage for GLUT, define GLUT_NO_LIB_PRAGMA
|
||||
in your compile preprocessor options. */
|
||||
# if !defined(GLUT_BUILDING_LIB) && !defined(GLUT_NO_LIB_PRAGMA)
|
||||
# pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */
|
||||
/* To enable automatic SGI OpenGL for Windows library usage for GLUT,
|
||||
define GLUT_USE_SGI_OPENGL in your compile preprocessor options. */
|
||||
# ifdef GLUT_USE_SGI_OPENGL
|
||||
# pragma comment (lib, "opengl.lib") /* link with SGI OpenGL for Windows lib */
|
||||
# pragma comment (lib, "glu.lib") /* link with SGI OpenGL Utility lib */
|
||||
# pragma comment (lib, "glut.lib") /* link with Win32 GLUT for SGI OpenGL lib */
|
||||
# else
|
||||
# pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */
|
||||
# pragma comment (lib, "glu32.lib") /* link with Microsoft OpenGL Utility lib */
|
||||
# pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* To disable supression of annoying warnings about floats being promoted
|
||||
to doubles, define GLUT_NO_WARNING_DISABLE in your compile preprocessor
|
||||
options. */
|
||||
# ifndef GLUT_NO_WARNING_DISABLE
|
||||
# pragma warning (disable:4244) /* Disable bogus VC++ 4.2 conversion warnings. */
|
||||
# pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
|
||||
# endif
|
||||
|
||||
/* Win32 has an annoying issue where there are multiple C run-time
|
||||
libraries (CRTs). If the executable is linked with a different CRT
|
||||
from the GLUT DLL, the GLUT DLL will not share the same CRT static
|
||||
data seen by the executable. In particular, atexit callbacks registered
|
||||
in the executable will not be called if GLUT calls its (different)
|
||||
exit routine). GLUT is typically built with the
|
||||
"/MD" option (the CRT with multithreading DLL support), but the Visual
|
||||
C++ linker default is "/ML" (the single threaded CRT).
|
||||
|
||||
One workaround to this issue is requiring users to always link with
|
||||
the same CRT as GLUT is compiled with. That requires users supply a
|
||||
non-standard option. GLUT 3.7 has its own built-in workaround where
|
||||
the executable's "exit" function pointer is covertly passed to GLUT.
|
||||
GLUT then calls the executable's exit function pointer to ensure that
|
||||
any "atexit" calls registered by the application are called if GLUT
|
||||
needs to exit.
|
||||
|
||||
Note that the __glut*WithExit routines should NEVER be called directly.
|
||||
To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */
|
||||
|
||||
/* XXX This is from Win32's <process.h> */
|
||||
# if !defined(_MSC_VER) && !defined(__cdecl)
|
||||
/* Define __cdecl for non-Microsoft compilers. */
|
||||
# define __cdecl
|
||||
# define GLUT_DEFINED___CDECL
|
||||
# endif
|
||||
# ifndef _CRTIMP
|
||||
# ifdef _NTSDK
|
||||
/* Definition compatible with NT SDK */
|
||||
# define _CRTIMP
|
||||
# else
|
||||
/* Current definition */
|
||||
# ifdef _DLL
|
||||
# define _CRTIMP __declspec(dllimport)
|
||||
# else
|
||||
# define _CRTIMP
|
||||
# endif
|
||||
# endif
|
||||
# define GLUT_DEFINED__CRTIMP
|
||||
# endif
|
||||
# ifndef GLUT_BUILDING_LIB
|
||||
extern _CRTIMP void __cdecl exit(int);
|
||||
# endif
|
||||
|
||||
/* GLUT callback calling convention for Win32. */
|
||||
# define GLUTCALLBACK __cdecl
|
||||
|
||||
/* for callback/function pointer defs */
|
||||
# define GLUTAPIENTRYV __cdecl
|
||||
|
||||
/* glut-win32 specific macros, defined to prevent collision with
|
||||
and redifinition of Windows system defs, also removes requirement of
|
||||
pretty much any standard windows header from this file */
|
||||
|
||||
#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
|
||||
# define GLUTAPIENTRY __stdcall
|
||||
#else
|
||||
# define GLUTAPIENTRY
|
||||
#endif
|
||||
|
||||
/* GLUT API entry point declarations for Win32. */
|
||||
#if defined(GLUT_BUILDING_LIB) && defined(_DLL)
|
||||
# define GLUTAPI __declspec(dllexport)
|
||||
#elif defined(_DLL)
|
||||
# define GLUTAPI __declspec(dllimport)
|
||||
#else
|
||||
# define GLUTAPI extern
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && !defined(_WINDEF_) && !defined(MESA)
|
||||
# if !defined(MESA_MINWARN)
|
||||
# pragma message( "note: WINDOWS.H not included, providing Mesa definition of CALLBACK macro" )
|
||||
# pragma message( "----: and PROC typedef. If you receive compiler warnings about either ")
|
||||
# pragma message( "----: being multiply defined you should include WINDOWS.H priot to gl/glut.h" )
|
||||
# endif
|
||||
# define CALLBACK __stdcall
|
||||
typedef int (GLUTAPIENTRY *PROC)();
|
||||
typedef void *HGLRC;
|
||||
typedef void *HDC;
|
||||
typedef unsigned long COLORREF;
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(MESA)
|
||||
# if !defined(MESA_MINWARN)
|
||||
# pragma message( "note: WINDOWS.H not included, providing Mesa definition of wgl functions" )
|
||||
# pragma message( "----: and macros. If you receive compiler warnings about any being multiply ")
|
||||
# pragma message( "----: defined you should include WINDOWS.H priot to gl/glut.h" )
|
||||
# endif
|
||||
# define WGL_FONT_LINES 0
|
||||
# define WGL_FONT_POLYGONS 1
|
||||
# ifdef UNICODE
|
||||
# define wglUseFontBitmaps wglUseFontBitmapsW
|
||||
# define wglUseFontOutlines wglUseFontOutlinesW
|
||||
# else
|
||||
# define wglUseFontBitmaps wglUseFontBitmapsA
|
||||
# define wglUseFontOutlines wglUseFontOutlinesA
|
||||
# endif /* !UNICODE */
|
||||
typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
|
||||
typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
|
||||
GLUTAPI int GLUTAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int);
|
||||
GLUTAPI HGLRC GLUTAPIENTRY wglCreateContext(HDC);
|
||||
GLUTAPI HGLRC GLUTAPIENTRY wglCreateLayerContext(HDC, int);
|
||||
GLUTAPI int GLUTAPIENTRY wglDeleteContext(HGLRC);
|
||||
GLUTAPI HGLRC GLUTAPIENTRY wglGetCurrentContext(void);
|
||||
GLUTAPI HDC GLUTAPIENTRY wglGetCurrentDC(void);
|
||||
GLUTAPI PROC GLUTAPIENTRY wglGetProcAddress(char*);
|
||||
GLUTAPI int GLUTAPIENTRY wglMakeCurrent(HDC, HGLRC);
|
||||
GLUTAPI int GLUTAPIENTRY wglShareLists(HGLRC, HGLRC);
|
||||
GLUTAPI int GLUTAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, unsigned long);
|
||||
GLUTAPI int GLUTAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long);
|
||||
GLUTAPI int GLUTAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
|
||||
GLUTAPI int GLUTAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
|
||||
GLUTAPI int GLUTAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR);
|
||||
GLUTAPI int GLUTAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *);
|
||||
GLUTAPI int GLUTAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *);
|
||||
GLUTAPI int GLUTAPIENTRY wglRealizeLayerPalette(HDC, int, int);
|
||||
GLUTAPI int GLUTAPIENTRY wglSwapLayerBuffers(HDC, unsigned int);
|
||||
GLUTAPI int GLUTAPIENTRY SwapBuffers(HDC);
|
||||
#endif
|
||||
|
||||
#else /* _WIN32 not defined */
|
||||
|
||||
/* Define GLUTAPIENTRY and GLUTCALLBACK to nothing if we aren't on Win32. */
|
||||
# define GLUTAPIENTRY
|
||||
# define GLUTAPIENTRYV
|
||||
# define GLUT_APIENTRY_DEFINED
|
||||
# define GLUTCALLBACK
|
||||
# define GLUTAPI extern
|
||||
/* Prototype exit for the non-Win32 case (see above). */
|
||||
extern void exit(int);
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
GLUT API revision history:
|
||||
|
||||
GLUT_API_VERSION is updated to reflect incompatible GLUT
|
||||
API changes (interface changes, semantic changes, deletions,
|
||||
or additions).
|
||||
|
||||
GLUT_API_VERSION=1 First public release of GLUT. 11/29/94
|
||||
|
||||
GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling,
|
||||
extension. Supports new input devices like tablet, dial and button
|
||||
box, and Spaceball. Easy to query OpenGL extensions.
|
||||
|
||||
GLUT_API_VERSION=3 glutMenuStatus added.
|
||||
|
||||
GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer,
|
||||
glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic
|
||||
video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
|
||||
glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
|
||||
glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!).
|
||||
**/
|
||||
#ifndef GLUT_API_VERSION /* allow this to be overriden */
|
||||
#define GLUT_API_VERSION 3
|
||||
#endif
|
||||
|
||||
/**
|
||||
GLUT implementation revision history:
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT
|
||||
API revisions and implementation revisions (ie, bug fixes).
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of
|
||||
GLUT Xlib-based implementation. 11/29/94
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of
|
||||
GLUT Xlib-based implementation providing GLUT version 2
|
||||
interfaces.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner
|
||||
and video resize. 1/3/97
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa <GL/glut.h>
|
||||
**/
|
||||
#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */
|
||||
#define GLUT_XLIB_IMPLEMENTATION 15
|
||||
#endif
|
||||
|
||||
/* Display mode bit masks. */
|
||||
#define GLUT_RGB 0
|
||||
#define GLUT_RGBA GLUT_RGB
|
||||
#define GLUT_INDEX 1
|
||||
#define GLUT_SINGLE 0
|
||||
#define GLUT_DOUBLE 2
|
||||
#define GLUT_ACCUM 4
|
||||
#define GLUT_ALPHA 8
|
||||
#define GLUT_DEPTH 16
|
||||
#define GLUT_STENCIL 32
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_MULTISAMPLE 128
|
||||
#define GLUT_STEREO 256
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_LUMINANCE 512
|
||||
#endif
|
||||
|
||||
/* Mouse buttons. */
|
||||
#define GLUT_LEFT_BUTTON 0
|
||||
#define GLUT_MIDDLE_BUTTON 1
|
||||
#define GLUT_RIGHT_BUTTON 2
|
||||
|
||||
/* Mouse button state. */
|
||||
#define GLUT_DOWN 0
|
||||
#define GLUT_UP 1
|
||||
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* function keys */
|
||||
#define GLUT_KEY_F1 1
|
||||
#define GLUT_KEY_F2 2
|
||||
#define GLUT_KEY_F3 3
|
||||
#define GLUT_KEY_F4 4
|
||||
#define GLUT_KEY_F5 5
|
||||
#define GLUT_KEY_F6 6
|
||||
#define GLUT_KEY_F7 7
|
||||
#define GLUT_KEY_F8 8
|
||||
#define GLUT_KEY_F9 9
|
||||
#define GLUT_KEY_F10 10
|
||||
#define GLUT_KEY_F11 11
|
||||
#define GLUT_KEY_F12 12
|
||||
/* directional keys */
|
||||
#define GLUT_KEY_LEFT 100
|
||||
#define GLUT_KEY_UP 101
|
||||
#define GLUT_KEY_RIGHT 102
|
||||
#define GLUT_KEY_DOWN 103
|
||||
#define GLUT_KEY_PAGE_UP 104
|
||||
#define GLUT_KEY_PAGE_DOWN 105
|
||||
#define GLUT_KEY_HOME 106
|
||||
#define GLUT_KEY_END 107
|
||||
#define GLUT_KEY_INSERT 108
|
||||
#endif
|
||||
|
||||
/* Entry/exit state. */
|
||||
#define GLUT_LEFT 0
|
||||
#define GLUT_ENTERED 1
|
||||
|
||||
/* Menu usage state. */
|
||||
#define GLUT_MENU_NOT_IN_USE 0
|
||||
#define GLUT_MENU_IN_USE 1
|
||||
|
||||
/* Visibility state. */
|
||||
#define GLUT_NOT_VISIBLE 0
|
||||
#define GLUT_VISIBLE 1
|
||||
|
||||
/* Window status state. */
|
||||
#define GLUT_HIDDEN 0
|
||||
#define GLUT_FULLY_RETAINED 1
|
||||
#define GLUT_PARTIALLY_RETAINED 2
|
||||
#define GLUT_FULLY_COVERED 3
|
||||
|
||||
/* Color index component selection values. */
|
||||
#define GLUT_RED 0
|
||||
#define GLUT_GREEN 1
|
||||
#define GLUT_BLUE 2
|
||||
|
||||
/* Layers for use. */
|
||||
#define GLUT_NORMAL 0
|
||||
#define GLUT_OVERLAY 1
|
||||
|
||||
#if defined(_WIN32)
|
||||
/* Stroke font constants (use these in GLUT program). */
|
||||
#define GLUT_STROKE_ROMAN ((void*)0)
|
||||
#define GLUT_STROKE_MONO_ROMAN ((void*)1)
|
||||
|
||||
/* Bitmap font constants (use these in GLUT program). */
|
||||
#define GLUT_BITMAP_9_BY_15 ((void*)2)
|
||||
#define GLUT_BITMAP_8_BY_13 ((void*)3)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5)
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_BITMAP_HELVETICA_10 ((void*)6)
|
||||
#define GLUT_BITMAP_HELVETICA_12 ((void*)7)
|
||||
#define GLUT_BITMAP_HELVETICA_18 ((void*)8)
|
||||
#endif
|
||||
#else
|
||||
/* Stroke font opaque addresses (use constants instead in source code). */
|
||||
GLUTAPI void *glutStrokeRoman;
|
||||
GLUTAPI void *glutStrokeMonoRoman;
|
||||
|
||||
/* Stroke font constants (use these in GLUT program). */
|
||||
#define GLUT_STROKE_ROMAN (&glutStrokeRoman)
|
||||
#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman)
|
||||
|
||||
/* Bitmap font opaque addresses (use constants instead in source code). */
|
||||
GLUTAPI void *glutBitmap9By15;
|
||||
GLUTAPI void *glutBitmap8By13;
|
||||
GLUTAPI void *glutBitmapTimesRoman10;
|
||||
GLUTAPI void *glutBitmapTimesRoman24;
|
||||
GLUTAPI void *glutBitmapHelvetica10;
|
||||
GLUTAPI void *glutBitmapHelvetica12;
|
||||
GLUTAPI void *glutBitmapHelvetica18;
|
||||
|
||||
/* Bitmap font constants (use these in GLUT program). */
|
||||
#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15)
|
||||
#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24)
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10)
|
||||
#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12)
|
||||
#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* glutGet parameters. */
|
||||
#define GLUT_WINDOW_X 100
|
||||
#define GLUT_WINDOW_Y 101
|
||||
#define GLUT_WINDOW_WIDTH 102
|
||||
#define GLUT_WINDOW_HEIGHT 103
|
||||
#define GLUT_WINDOW_BUFFER_SIZE 104
|
||||
#define GLUT_WINDOW_STENCIL_SIZE 105
|
||||
#define GLUT_WINDOW_DEPTH_SIZE 106
|
||||
#define GLUT_WINDOW_RED_SIZE 107
|
||||
#define GLUT_WINDOW_GREEN_SIZE 108
|
||||
#define GLUT_WINDOW_BLUE_SIZE 109
|
||||
#define GLUT_WINDOW_ALPHA_SIZE 110
|
||||
#define GLUT_WINDOW_ACCUM_RED_SIZE 111
|
||||
#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112
|
||||
#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113
|
||||
#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114
|
||||
#define GLUT_WINDOW_DOUBLEBUFFER 115
|
||||
#define GLUT_WINDOW_RGBA 116
|
||||
#define GLUT_WINDOW_PARENT 117
|
||||
#define GLUT_WINDOW_NUM_CHILDREN 118
|
||||
#define GLUT_WINDOW_COLORMAP_SIZE 119
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_WINDOW_NUM_SAMPLES 120
|
||||
#define GLUT_WINDOW_STEREO 121
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_WINDOW_CURSOR 122
|
||||
#endif
|
||||
#define GLUT_SCREEN_WIDTH 200
|
||||
#define GLUT_SCREEN_HEIGHT 201
|
||||
#define GLUT_SCREEN_WIDTH_MM 202
|
||||
#define GLUT_SCREEN_HEIGHT_MM 203
|
||||
#define GLUT_MENU_NUM_ITEMS 300
|
||||
#define GLUT_DISPLAY_MODE_POSSIBLE 400
|
||||
#define GLUT_INIT_WINDOW_X 500
|
||||
#define GLUT_INIT_WINDOW_Y 501
|
||||
#define GLUT_INIT_WINDOW_WIDTH 502
|
||||
#define GLUT_INIT_WINDOW_HEIGHT 503
|
||||
#define GLUT_INIT_DISPLAY_MODE 504
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_ELAPSED_TIME 700
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
#define GLUT_WINDOW_FORMAT_ID 123
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* glutDeviceGet parameters. */
|
||||
#define GLUT_HAS_KEYBOARD 600
|
||||
#define GLUT_HAS_MOUSE 601
|
||||
#define GLUT_HAS_SPACEBALL 602
|
||||
#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603
|
||||
#define GLUT_HAS_TABLET 604
|
||||
#define GLUT_NUM_MOUSE_BUTTONS 605
|
||||
#define GLUT_NUM_SPACEBALL_BUTTONS 606
|
||||
#define GLUT_NUM_BUTTON_BOX_BUTTONS 607
|
||||
#define GLUT_NUM_DIALS 608
|
||||
#define GLUT_NUM_TABLET_BUTTONS 609
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610
|
||||
#define GLUT_DEVICE_KEY_REPEAT 611
|
||||
#define GLUT_HAS_JOYSTICK 612
|
||||
#define GLUT_OWNS_JOYSTICK 613
|
||||
#define GLUT_JOYSTICK_BUTTONS 614
|
||||
#define GLUT_JOYSTICK_AXES 615
|
||||
#define GLUT_JOYSTICK_POLL_RATE 616
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
/* glutLayerGet parameters. */
|
||||
#define GLUT_OVERLAY_POSSIBLE 800
|
||||
#define GLUT_LAYER_IN_USE 801
|
||||
#define GLUT_HAS_OVERLAY 802
|
||||
#define GLUT_TRANSPARENT_INDEX 803
|
||||
#define GLUT_NORMAL_DAMAGED 804
|
||||
#define GLUT_OVERLAY_DAMAGED 805
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
/* glutVideoResizeGet parameters. */
|
||||
#define GLUT_VIDEO_RESIZE_POSSIBLE 900
|
||||
#define GLUT_VIDEO_RESIZE_IN_USE 901
|
||||
#define GLUT_VIDEO_RESIZE_X_DELTA 902
|
||||
#define GLUT_VIDEO_RESIZE_Y_DELTA 903
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905
|
||||
#define GLUT_VIDEO_RESIZE_X 906
|
||||
#define GLUT_VIDEO_RESIZE_Y 907
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH 908
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT 909
|
||||
#endif
|
||||
|
||||
/* glutUseLayer parameters. */
|
||||
#define GLUT_NORMAL 0
|
||||
#define GLUT_OVERLAY 1
|
||||
|
||||
/* glutGetModifiers return mask. */
|
||||
#define GLUT_ACTIVE_SHIFT 1
|
||||
#define GLUT_ACTIVE_CTRL 2
|
||||
#define GLUT_ACTIVE_ALT 4
|
||||
|
||||
/* glutSetCursor parameters. */
|
||||
/* Basic arrows. */
|
||||
#define GLUT_CURSOR_RIGHT_ARROW 0
|
||||
#define GLUT_CURSOR_LEFT_ARROW 1
|
||||
/* Symbolic cursor shapes. */
|
||||
#define GLUT_CURSOR_INFO 2
|
||||
#define GLUT_CURSOR_DESTROY 3
|
||||
#define GLUT_CURSOR_HELP 4
|
||||
#define GLUT_CURSOR_CYCLE 5
|
||||
#define GLUT_CURSOR_SPRAY 6
|
||||
#define GLUT_CURSOR_WAIT 7
|
||||
#define GLUT_CURSOR_TEXT 8
|
||||
#define GLUT_CURSOR_CROSSHAIR 9
|
||||
/* Directional cursors. */
|
||||
#define GLUT_CURSOR_UP_DOWN 10
|
||||
#define GLUT_CURSOR_LEFT_RIGHT 11
|
||||
/* Sizing cursors. */
|
||||
#define GLUT_CURSOR_TOP_SIDE 12
|
||||
#define GLUT_CURSOR_BOTTOM_SIDE 13
|
||||
#define GLUT_CURSOR_LEFT_SIDE 14
|
||||
#define GLUT_CURSOR_RIGHT_SIDE 15
|
||||
#define GLUT_CURSOR_TOP_LEFT_CORNER 16
|
||||
#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
|
||||
#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
|
||||
#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
|
||||
/* Inherit from parent window. */
|
||||
#define GLUT_CURSOR_INHERIT 100
|
||||
/* Blank cursor. */
|
||||
#define GLUT_CURSOR_NONE 101
|
||||
/* Fullscreen crosshair (if available). */
|
||||
#define GLUT_CURSOR_FULL_CROSSHAIR 102
|
||||
#endif
|
||||
|
||||
/* GLUT initialization sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutInit(int *argcp, char **argv);
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI void GLUTAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static void GLUTAPIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); }
|
||||
#define glutInit glutInit_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutInitDisplayMode(unsigned int mode);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void GLUTAPIENTRY glutInitDisplayString(const char *string);
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutInitWindowPosition(int x, int y);
|
||||
GLUTAPI void GLUTAPIENTRY glutInitWindowSize(int width, int height);
|
||||
GLUTAPI void GLUTAPIENTRY glutMainLoop(void);
|
||||
|
||||
/* GLUT window sub-API. */
|
||||
GLUTAPI int GLUTAPIENTRY glutCreateWindow(const char *title);
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI int GLUTAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static int GLUTAPIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); }
|
||||
#define glutCreateWindow glutCreateWindow_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI int GLUTAPIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
|
||||
GLUTAPI void GLUTAPIENTRY glutDestroyWindow(int win);
|
||||
GLUTAPI void GLUTAPIENTRY glutPostRedisplay(void);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
|
||||
GLUTAPI void GLUTAPIENTRY glutPostWindowRedisplay(int win);
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutSwapBuffers(void);
|
||||
GLUTAPI int GLUTAPIENTRY glutGetWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetWindow(int win);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetWindowTitle(const char *title);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetIconTitle(const char *title);
|
||||
GLUTAPI void GLUTAPIENTRY glutPositionWindow(int x, int y);
|
||||
GLUTAPI void GLUTAPIENTRY glutReshapeWindow(int width, int height);
|
||||
GLUTAPI void GLUTAPIENTRY glutPopWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutPushWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutIconifyWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutShowWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutHideWindow(void);
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI void GLUTAPIENTRY glutFullScreen(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetCursor(int cursor);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void GLUTAPIENTRY glutWarpPointer(int x, int y);
|
||||
#endif
|
||||
|
||||
/* GLUT overlay sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutEstablishOverlay(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutRemoveOverlay(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutUseLayer(GLenum layer);
|
||||
GLUTAPI void GLUTAPIENTRY glutPostOverlayRedisplay(void);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
|
||||
GLUTAPI void GLUTAPIENTRY glutPostWindowOverlayRedisplay(int win);
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutShowOverlay(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutHideOverlay(void);
|
||||
#endif
|
||||
|
||||
/* GLUT menu sub-API. */
|
||||
GLUTAPI int GLUTAPIENTRY glutCreateMenu(void (GLUTCALLBACK *func)(int));
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI int GLUTAPIENTRY __glutCreateMenuWithExit(void (GLUTCALLBACK *func)(int), void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static int GLUTAPIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)(int)) { return __glutCreateMenuWithExit(func, exit); }
|
||||
#define glutCreateMenu glutCreateMenu_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutDestroyMenu(int menu);
|
||||
GLUTAPI int GLUTAPIENTRY glutGetMenu(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetMenu(int menu);
|
||||
GLUTAPI void GLUTAPIENTRY glutAddMenuEntry(const char *label, int value);
|
||||
GLUTAPI void GLUTAPIENTRY glutAddSubMenu(const char *label, int submenu);
|
||||
GLUTAPI void GLUTAPIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
|
||||
GLUTAPI void GLUTAPIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
|
||||
GLUTAPI void GLUTAPIENTRY glutRemoveMenuItem(int item);
|
||||
GLUTAPI void GLUTAPIENTRY glutAttachMenu(int button);
|
||||
GLUTAPI void GLUTAPIENTRY glutDetachMenu(int button);
|
||||
|
||||
/* GLUT window callback sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutDisplayFunc(void (GLUTCALLBACK *func)(void));
|
||||
GLUTAPI void GLUTAPIENTRY glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height));
|
||||
GLUTAPI void GLUTAPIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutEntryFunc(void (GLUTCALLBACK *func)(int state));
|
||||
GLUTAPI void GLUTAPIENTRY glutVisibilityFunc(void (GLUTCALLBACK *func)(int state));
|
||||
GLUTAPI void GLUTAPIENTRY glutIdleFunc(void (GLUTCALLBACK *func)(void));
|
||||
GLUTAPI void GLUTAPIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value);
|
||||
GLUTAPI void GLUTAPIENTRY glutMenuStateFunc(void (GLUTCALLBACK *func)(int state));
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
GLUTAPI void GLUTAPIENTRY glutSpecialFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
|
||||
GLUTAPI void GLUTAPIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
|
||||
GLUTAPI void GLUTAPIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK *func)(int button, int state));
|
||||
GLUTAPI void GLUTAPIENTRY glutButtonBoxFunc(void (GLUTCALLBACK *func)(int button, int state));
|
||||
GLUTAPI void GLUTAPIENTRY glutDialsFunc(void (GLUTCALLBACK *func)(int dial, int value));
|
||||
GLUTAPI void GLUTAPIENTRY glutTabletMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutTabletButtonFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI void GLUTAPIENTRY glutMenuStatusFunc(void (GLUTCALLBACK *func)(int status, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK *func)(void));
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void GLUTAPIENTRY glutWindowStatusFunc(void (GLUTCALLBACK *func)(int state));
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
GLUTAPI void GLUTAPIENTRY glutKeyboardUpFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutSpecialUpFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutJoystickFunc(void (GLUTCALLBACK *func)(unsigned int buttonMask, int x, int y, int z), int pollInterval);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* GLUT color index sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
|
||||
GLUTAPI GLfloat GLUTAPIENTRY glutGetColor(int ndx, int component);
|
||||
GLUTAPI void GLUTAPIENTRY glutCopyColormap(int win);
|
||||
|
||||
/* GLUT state retrieval sub-API. */
|
||||
GLUTAPI int GLUTAPIENTRY glutGet(GLenum type);
|
||||
GLUTAPI int GLUTAPIENTRY glutDeviceGet(GLenum type);
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* GLUT extension support sub-API */
|
||||
GLUTAPI int GLUTAPIENTRY glutExtensionSupported(const char *name);
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI int GLUTAPIENTRY glutGetModifiers(void);
|
||||
GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type);
|
||||
#endif
|
||||
|
||||
/* GLUT font sub-API */
|
||||
GLUTAPI void GLUTAPIENTRY glutBitmapCharacter(void *font, int character);
|
||||
GLUTAPI int GLUTAPIENTRY glutBitmapWidth(void *font, int character);
|
||||
GLUTAPI void GLUTAPIENTRY glutStrokeCharacter(void *font, int character);
|
||||
GLUTAPI int GLUTAPIENTRY glutStrokeWidth(void *font, int character);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI int GLUTAPIENTRY glutBitmapLength(void *font, const unsigned char *string);
|
||||
GLUTAPI int GLUTAPIENTRY glutStrokeLength(void *font, const unsigned char *string);
|
||||
#endif
|
||||
|
||||
/* GLUT pre-built models sub-API */
|
||||
GLUTAPI void GLUTAPIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireCube(GLdouble size);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidCube(GLdouble size);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireDodecahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidDodecahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireTeapot(GLdouble size);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidTeapot(GLdouble size);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireOctahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidOctahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireTetrahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidTetrahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireIcosahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidIcosahedron(void);
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
/* GLUT video resize sub-API. */
|
||||
GLUTAPI int GLUTAPIENTRY glutVideoResizeGet(GLenum param);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetupVideoResizing(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutStopVideoResizing(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutVideoResize(int x, int y, int width, int height);
|
||||
GLUTAPI void GLUTAPIENTRY glutVideoPan(int x, int y, int width, int height);
|
||||
|
||||
/* GLUT debugging sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutReportErrors(void);
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
/* GLUT device control sub-API. */
|
||||
/* glutSetKeyRepeat modes. */
|
||||
#define GLUT_KEY_REPEAT_OFF 0
|
||||
#define GLUT_KEY_REPEAT_ON 1
|
||||
#define GLUT_KEY_REPEAT_DEFAULT 2
|
||||
|
||||
/* Joystick button masks. */
|
||||
#define GLUT_JOYSTICK_BUTTON_A 1
|
||||
#define GLUT_JOYSTICK_BUTTON_B 2
|
||||
#define GLUT_JOYSTICK_BUTTON_C 4
|
||||
#define GLUT_JOYSTICK_BUTTON_D 8
|
||||
|
||||
GLUTAPI void GLUTAPIENTRY glutIgnoreKeyRepeat(int ignore);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetKeyRepeat(int repeatMode);
|
||||
GLUTAPI void GLUTAPIENTRY glutForceJoystickFunc(void);
|
||||
|
||||
/* GLUT game mode sub-API. */
|
||||
/* glutGameModeGet. */
|
||||
#define GLUT_GAME_MODE_ACTIVE 0
|
||||
#define GLUT_GAME_MODE_POSSIBLE 1
|
||||
#define GLUT_GAME_MODE_WIDTH 2
|
||||
#define GLUT_GAME_MODE_HEIGHT 3
|
||||
#define GLUT_GAME_MODE_PIXEL_DEPTH 4
|
||||
#define GLUT_GAME_MODE_REFRESH_RATE 5
|
||||
#define GLUT_GAME_MODE_DISPLAY_CHANGED 6
|
||||
|
||||
GLUTAPI void GLUTAPIENTRY glutGameModeString(const char *string);
|
||||
GLUTAPI int GLUTAPIENTRY glutEnterGameMode(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutLeaveGameMode(void);
|
||||
GLUTAPI int GLUTAPIENTRY glutGameModeGet(GLenum mode);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#ifdef GLUT_APIENTRY_DEFINED
|
||||
# undef GLUT_APIENTRY_DEFINED
|
||||
# undef APIENTRY
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_WINGDIAPI_DEFINED
|
||||
# undef GLUT_WINGDIAPI_DEFINED
|
||||
# undef WINGDIAPI
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_DEFINED___CDECL
|
||||
# undef GLUT_DEFINED___CDECL
|
||||
# undef __cdecl
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_DEFINED__CRTIMP
|
||||
# undef GLUT_DEFINED__CRTIMP
|
||||
# undef _CRTIMP
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* __glut_h__ */
|
||||
@@ -0,0 +1,352 @@
|
||||
/* $Id*/
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: glut_h.dja,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 1.1 1999/06/23 00:51:27 brianp
|
||||
* initial check-in
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* This header file is based on the REAL glut.h by Mark J. Kilgard.
|
||||
*
|
||||
* The DJGPP/ALLEGRO (DJA) GLUT implementation was written by
|
||||
* Bernhard Tschirren (bernie-t@geocities.com) for the sole purpose
|
||||
* of compiling all the sample programs (which use GLUT). Therefore,
|
||||
* is NOT AT ALL a complete version of GLUT!
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __AGLUT_H__
|
||||
#define __AGLUT_H__
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#define GLUTCALLBACK
|
||||
#define APIENTRY
|
||||
#define GLUTAPI extern
|
||||
|
||||
#define GLUT_RGB 0
|
||||
#define GLUT_RGBA GLUT_RGB
|
||||
#define GLUT_INDEX 1
|
||||
#define GLUT_SINGLE 0
|
||||
#define GLUT_DOUBLE 2
|
||||
#define GLUT_ACCUM 4
|
||||
#define GLUT_ALPHA 8
|
||||
#define GLUT_DEPTH 16
|
||||
#define GLUT_STENCIL 32
|
||||
|
||||
/* Mouse buttons. */
|
||||
#define GLUT_LEFT_BUTTON 0
|
||||
#define GLUT_MIDDLE_BUTTON 1
|
||||
#define GLUT_RIGHT_BUTTON 2
|
||||
|
||||
/* Mouse button state. */
|
||||
#define GLUT_DOWN 0
|
||||
#define GLUT_UP 1
|
||||
|
||||
/* function keys */
|
||||
#define GLUT_KEY_F1 1
|
||||
#define GLUT_KEY_F2 2
|
||||
#define GLUT_KEY_F3 3
|
||||
#define GLUT_KEY_F4 4
|
||||
#define GLUT_KEY_F5 5
|
||||
#define GLUT_KEY_F6 6
|
||||
#define GLUT_KEY_F7 7
|
||||
#define GLUT_KEY_F8 8
|
||||
#define GLUT_KEY_F9 9
|
||||
#define GLUT_KEY_F10 10
|
||||
#define GLUT_KEY_F11 11
|
||||
#define GLUT_KEY_F12 12
|
||||
|
||||
/* directional keys */
|
||||
#define GLUT_KEY_LEFT 100
|
||||
#define GLUT_KEY_UP 101
|
||||
#define GLUT_KEY_RIGHT 102
|
||||
#define GLUT_KEY_DOWN 103
|
||||
#define GLUT_KEY_PAGE_UP 104
|
||||
#define GLUT_KEY_PAGE_DOWN 105
|
||||
#define GLUT_KEY_HOME 106
|
||||
#define GLUT_KEY_END 107
|
||||
#define GLUT_KEY_INSERT 108
|
||||
|
||||
/* Entry/exit state. */
|
||||
#define GLUT_LEFT 0
|
||||
#define GLUT_ENTERED 1
|
||||
|
||||
/* Visibility state. */
|
||||
#define GLUT_NOT_VISIBLE 0
|
||||
#define GLUT_VISIBLE 1
|
||||
|
||||
/* Color index component selection values. */
|
||||
#define GLUT_RED 0
|
||||
#define GLUT_GREEN 1
|
||||
#define GLUT_BLUE 2
|
||||
|
||||
/* Layers for use. */
|
||||
#define GLUT_NORMAL 0
|
||||
#define GLUT_OVERLAY 1
|
||||
|
||||
/* Stroke font constants (use these in GLUT program). */
|
||||
#define GLUT_STROKE_ROMAN ((void*)0)
|
||||
#define GLUT_STROKE_MONO_ROMAN ((void*)1)
|
||||
|
||||
/* Bitmap font constants (use these in GLUT program). */
|
||||
#define GLUT_BITMAP_9_BY_15 ((void*)2)
|
||||
#define GLUT_BITMAP_8_BY_13 ((void*)3)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5)
|
||||
#define GLUT_BITMAP_HELVETICA_10 ((void*)6)
|
||||
#define GLUT_BITMAP_HELVETICA_12 ((void*)7)
|
||||
#define GLUT_BITMAP_HELVETICA_18 ((void*)8)
|
||||
|
||||
/* glutGet parameters. */
|
||||
#define GLUT_WINDOW_X 100
|
||||
#define GLUT_WINDOW_Y 101
|
||||
#define GLUT_WINDOW_WIDTH 102
|
||||
#define GLUT_WINDOW_HEIGHT 103
|
||||
#define GLUT_WINDOW_BUFFER_SIZE 104
|
||||
#define GLUT_WINDOW_STENCIL_SIZE 105
|
||||
#define GLUT_WINDOW_DEPTH_SIZE 106
|
||||
#define GLUT_WINDOW_RED_SIZE 107
|
||||
#define GLUT_WINDOW_GREEN_SIZE 108
|
||||
#define GLUT_WINDOW_BLUE_SIZE 109
|
||||
#define GLUT_WINDOW_ALPHA_SIZE 110
|
||||
#define GLUT_WINDOW_ACCUM_RED_SIZE 111
|
||||
#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112
|
||||
#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113
|
||||
#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114
|
||||
#define GLUT_WINDOW_DOUBLEBUFFER 115
|
||||
#define GLUT_WINDOW_RGBA 116
|
||||
#define GLUT_WINDOW_PARENT 117
|
||||
#define GLUT_WINDOW_NUM_CHILDREN 118
|
||||
#define GLUT_WINDOW_COLORMAP_SIZE 119
|
||||
#define GLUT_WINDOW_NUM_SAMPLES 120
|
||||
#define GLUT_WINDOW_STEREO 121
|
||||
#define GLUT_WINDOW_CURSOR 122
|
||||
#define GLUT_SCREEN_WIDTH 200
|
||||
#define GLUT_SCREEN_HEIGHT 201
|
||||
#define GLUT_SCREEN_WIDTH_MM 202
|
||||
#define GLUT_SCREEN_HEIGHT_MM 203
|
||||
#define GLUT_MENU_NUM_ITEMS 300
|
||||
#define GLUT_DISPLAY_MODE_POSSIBLE 400
|
||||
#define GLUT_INIT_WINDOW_X 500
|
||||
#define GLUT_INIT_WINDOW_Y 501
|
||||
#define GLUT_INIT_WINDOW_WIDTH 502
|
||||
#define GLUT_INIT_WINDOW_HEIGHT 503
|
||||
#define GLUT_INIT_DISPLAY_MODE 504
|
||||
#define GLUT_ELAPSED_TIME 700
|
||||
#define GLUT_WINDOW_FORMAT_ID 123
|
||||
|
||||
/* glutDeviceGet parameters. */
|
||||
#define GLUT_HAS_KEYBOARD 600
|
||||
#define GLUT_HAS_MOUSE 601
|
||||
#define GLUT_HAS_SPACEBALL 602
|
||||
#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603
|
||||
#define GLUT_HAS_TABLET 604
|
||||
#define GLUT_NUM_MOUSE_BUTTONS 605
|
||||
#define GLUT_NUM_SPACEBALL_BUTTONS 606
|
||||
#define GLUT_NUM_BUTTON_BOX_BUTTONS 607
|
||||
#define GLUT_NUM_DIALS 608
|
||||
#define GLUT_NUM_TABLET_BUTTONS 609
|
||||
#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610
|
||||
#define GLUT_DEVICE_KEY_REPEAT 611
|
||||
#define GLUT_HAS_JOYSTICK 612
|
||||
#define GLUT_OWNS_JOYSTICK 613
|
||||
#define GLUT_JOYSTICK_BUTTONS 614
|
||||
#define GLUT_JOYSTICK_AXES 615
|
||||
#define GLUT_JOYSTICK_POLL_RATE 616
|
||||
|
||||
/* glutLayerGet parameters. */
|
||||
#define GLUT_OVERLAY_POSSIBLE 800
|
||||
#define GLUT_LAYER_IN_USE 801
|
||||
#define GLUT_HAS_OVERLAY 802
|
||||
#define GLUT_TRANSPARENT_INDEX 803
|
||||
#define GLUT_NORMAL_DAMAGED 804
|
||||
#define GLUT_OVERLAY_DAMAGED 805
|
||||
|
||||
/* glutVideoResizeGet parameters. */
|
||||
#define GLUT_VIDEO_RESIZE_POSSIBLE 900
|
||||
#define GLUT_VIDEO_RESIZE_IN_USE 901
|
||||
#define GLUT_VIDEO_RESIZE_X_DELTA 902
|
||||
#define GLUT_VIDEO_RESIZE_Y_DELTA 903
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905
|
||||
#define GLUT_VIDEO_RESIZE_X 906
|
||||
#define GLUT_VIDEO_RESIZE_Y 907
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH 908
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT 909
|
||||
|
||||
/* glutUseLayer parameters. */
|
||||
#define GLUT_NORMAL 0
|
||||
#define GLUT_OVERLAY 1
|
||||
|
||||
/* glutGetModifiers return mask. */
|
||||
#define GLUT_ACTIVE_SHIFT 1
|
||||
#define GLUT_ACTIVE_CTRL 2
|
||||
#define GLUT_ACTIVE_ALT 4
|
||||
|
||||
/* glutSetCursor parameters. */
|
||||
/* Basic arrows. */
|
||||
#define GLUT_CURSOR_RIGHT_ARROW 0
|
||||
#define GLUT_CURSOR_LEFT_ARROW 1
|
||||
/* Symbolic cursor shapes. */
|
||||
#define GLUT_CURSOR_INFO 2
|
||||
#define GLUT_CURSOR_DESTROY 3
|
||||
#define GLUT_CURSOR_HELP 4
|
||||
#define GLUT_CURSOR_CYCLE 5
|
||||
#define GLUT_CURSOR_SPRAY 6
|
||||
#define GLUT_CURSOR_WAIT 7
|
||||
#define GLUT_CURSOR_TEXT 8
|
||||
#define GLUT_CURSOR_CROSSHAIR 9
|
||||
/* Directional cursors. */
|
||||
#define GLUT_CURSOR_UP_DOWN 10
|
||||
#define GLUT_CURSOR_LEFT_RIGHT 11
|
||||
/* Sizing cursors. */
|
||||
#define GLUT_CURSOR_TOP_SIDE 12
|
||||
#define GLUT_CURSOR_BOTTOM_SIDE 13
|
||||
#define GLUT_CURSOR_LEFT_SIDE 14
|
||||
#define GLUT_CURSOR_RIGHT_SIDE 15
|
||||
#define GLUT_CURSOR_TOP_LEFT_CORNER 16
|
||||
#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
|
||||
#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
|
||||
#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
|
||||
/* Inherit from parent window. */
|
||||
#define GLUT_CURSOR_INHERIT 100
|
||||
/* Blank cursor. */
|
||||
#define GLUT_CURSOR_NONE 101
|
||||
/* Fullscreen crosshair (if available). */
|
||||
#define GLUT_CURSOR_FULL_CROSSHAIR 102
|
||||
|
||||
/* GLUT initialization sub-API. */
|
||||
GLUTAPI void APIENTRY glutInit(int *argcp, char **argv);
|
||||
GLUTAPI void APIENTRY glutInitDisplayMode(unsigned int mode);
|
||||
GLUTAPI void APIENTRY glutInitWindowPosition(int x, int y);
|
||||
GLUTAPI void APIENTRY glutInitWindowSize(int width, int height);
|
||||
GLUTAPI void APIENTRY glutMainLoop(void);
|
||||
|
||||
/* GLUT window sub-API. */
|
||||
GLUTAPI int APIENTRY glutCreateWindow(const char *title);
|
||||
GLUTAPI int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
|
||||
GLUTAPI void APIENTRY glutDestroyWindow(int win);
|
||||
GLUTAPI void APIENTRY glutPostRedisplay(void);
|
||||
GLUTAPI void APIENTRY glutSwapBuffers(void);
|
||||
GLUTAPI int APIENTRY glutGetWindow(void);
|
||||
GLUTAPI void APIENTRY glutSetWindow(int win);
|
||||
GLUTAPI void APIENTRY glutSetWindowTitle(const char *title);
|
||||
GLUTAPI void APIENTRY glutSetIconTitle(const char *title);
|
||||
GLUTAPI void APIENTRY glutPositionWindow(int x, int y);
|
||||
GLUTAPI void APIENTRY glutReshapeWindow(int width, int height);
|
||||
GLUTAPI void APIENTRY glutPopWindow(void);
|
||||
GLUTAPI void APIENTRY glutPushWindow(void);
|
||||
GLUTAPI void APIENTRY glutIconifyWindow(void);
|
||||
GLUTAPI void APIENTRY glutShowWindow(void);
|
||||
GLUTAPI void APIENTRY glutHideWindow(void);
|
||||
|
||||
/* GLUT overlay sub-API. */
|
||||
GLUTAPI void APIENTRY glutEstablishOverlay(void);
|
||||
GLUTAPI void APIENTRY glutRemoveOverlay(void);
|
||||
GLUTAPI void APIENTRY glutUseLayer(GLenum layer);
|
||||
GLUTAPI void APIENTRY glutPostOverlayRedisplay(void);
|
||||
GLUTAPI void APIENTRY glutShowOverlay(void);
|
||||
GLUTAPI void APIENTRY glutHideOverlay(void);
|
||||
|
||||
/* GLUT menu sub-API. */
|
||||
GLUTAPI int APIENTRY glutCreateMenu(void (GLUTCALLBACK *)(int));
|
||||
GLUTAPI void APIENTRY glutDestroyMenu(int menu);
|
||||
GLUTAPI int APIENTRY glutGetMenu(void);
|
||||
GLUTAPI void APIENTRY glutSetMenu(int menu);
|
||||
GLUTAPI void APIENTRY glutAddMenuEntry(const char *label, int value);
|
||||
GLUTAPI void APIENTRY glutAddSubMenu(const char *label, int submenu);
|
||||
GLUTAPI void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
|
||||
GLUTAPI void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
|
||||
GLUTAPI void APIENTRY glutRemoveMenuItem(int item);
|
||||
GLUTAPI void APIENTRY glutAttachMenu(int button);
|
||||
GLUTAPI void APIENTRY glutDetachMenu(int button);
|
||||
|
||||
/* GLUT window callback sub-API. */
|
||||
GLUTAPI void APIENTRY glutDisplayFunc(void (GLUTCALLBACK * func)(void));
|
||||
GLUTAPI void APIENTRY glutReshapeFunc(void (GLUTCALLBACK * func)(int width, int height));
|
||||
GLUTAPI void APIENTRY glutKeyboardFunc(void (GLUTCALLBACK * func)(unsigned char key, int x, int y));
|
||||
GLUTAPI void APIENTRY glutMouseFunc(void (GLUTCALLBACK * func)(int button, int state, int x, int y));
|
||||
GLUTAPI void APIENTRY glutMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
|
||||
GLUTAPI void APIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
|
||||
GLUTAPI void APIENTRY glutEntryFunc(void (GLUTCALLBACK * func)(int state));
|
||||
GLUTAPI void APIENTRY glutVisibilityFunc(void (GLUTCALLBACK * func)(int state));
|
||||
GLUTAPI void APIENTRY glutIdleFunc(void (GLUTCALLBACK * func)(void));
|
||||
GLUTAPI void APIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK * func)(int value), int value);
|
||||
GLUTAPI void APIENTRY glutMenuStateFunc(void (GLUTCALLBACK * func)(int state));
|
||||
GLUTAPI void APIENTRY glutSpecialFunc(void (GLUTCALLBACK * func)(int key, int x, int y));
|
||||
GLUTAPI void APIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK * func)(int x, int y, int z));
|
||||
GLUTAPI void APIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK * func)(int x, int y, int z));
|
||||
GLUTAPI void APIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK * func)(int button, int state));
|
||||
GLUTAPI void APIENTRY glutButtonBoxFunc(void (GLUTCALLBACK * func)(int button, int state));
|
||||
GLUTAPI void APIENTRY glutDialsFunc(void (GLUTCALLBACK * func)(int dial, int value));
|
||||
GLUTAPI void APIENTRY glutTabletMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
|
||||
GLUTAPI void APIENTRY glutTabletButtonFunc(void (GLUTCALLBACK * func)(int button, int state, int x, int y));
|
||||
GLUTAPI void APIENTRY glutMenuStatusFunc(void (GLUTCALLBACK * func)(int status, int x, int y));
|
||||
GLUTAPI void APIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK * func)(void));
|
||||
GLUTAPI void APIENTRY glutWindowStatusFunc(void (GLUTCALLBACK * func)(int state));
|
||||
|
||||
/* GLUT color index sub-API. */
|
||||
GLUTAPI void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
|
||||
GLUTAPI GLfloat APIENTRY glutGetColor(int ndx, int component);
|
||||
GLUTAPI void APIENTRY glutCopyColormap(int win);
|
||||
|
||||
/* GLUT state retrieval sub-API. */
|
||||
GLUTAPI int APIENTRY glutGet(GLenum type);
|
||||
GLUTAPI int APIENTRY glutDeviceGet(GLenum type);
|
||||
|
||||
/* GLUT font sub-API */
|
||||
GLUTAPI void APIENTRY glutBitmapCharacter(void *font, int character);
|
||||
GLUTAPI int APIENTRY glutBitmapWidth(void *font, int character);
|
||||
GLUTAPI void APIENTRY glutStrokeCharacter(void *font, int character);
|
||||
GLUTAPI int APIENTRY glutStrokeWidth(void *font, int character);
|
||||
|
||||
/* GLUT pre-built models sub-API */
|
||||
GLUTAPI void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
GLUTAPI void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
GLUTAPI void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUTAPI void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUTAPI void APIENTRY glutWireCube(GLdouble size);
|
||||
GLUTAPI void APIENTRY glutSolidCube(GLdouble size);
|
||||
GLUTAPI void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUTAPI void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUTAPI void APIENTRY glutWireDodecahedron(void);
|
||||
GLUTAPI void APIENTRY glutSolidDodecahedron(void);
|
||||
GLUTAPI void APIENTRY glutWireTeapot(GLdouble size);
|
||||
GLUTAPI void APIENTRY glutSolidTeapot(GLdouble size);
|
||||
GLUTAPI void APIENTRY glutWireOctahedron(void);
|
||||
GLUTAPI void APIENTRY glutSolidOctahedron(void);
|
||||
GLUTAPI void APIENTRY glutWireTetrahedron(void);
|
||||
GLUTAPI void APIENTRY glutSolidTetrahedron(void);
|
||||
GLUTAPI void APIENTRY glutWireIcosahedron(void);
|
||||
GLUTAPI void APIENTRY glutSolidIcosahedron(void);
|
||||
|
||||
#endif /* __AGLUT_H__ */
|
||||
@@ -0,0 +1,81 @@
|
||||
#ifndef __glutf90_h__
|
||||
#define __glutf90_h__
|
||||
|
||||
/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */
|
||||
|
||||
/* This program is freely distributable without licensing fees
|
||||
and is provided without guarantee or warrantee expressed or
|
||||
implied. This program is -not- in the public domain. */
|
||||
|
||||
/* This header provides the binding interface for William Mitchell's
|
||||
f90gl Fortran 90 GLUT binding. Other GLUT language bindings
|
||||
can and should use this interace. */
|
||||
|
||||
/* I appreciate the guidance from William Mitchell
|
||||
(mitchell@cam.nist.gov) in developing this friend interface
|
||||
for use by the f90gl package. See ../../README.fortran */
|
||||
|
||||
#include <GL/glut.h>
|
||||
|
||||
/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */
|
||||
/* NOTE These values are part of a binary interface for the f90gl Fortran
|
||||
90 binding and so must NOT changes (additions are allowed). */
|
||||
|
||||
/* GLUTwindow callbacks. */
|
||||
#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */
|
||||
#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */
|
||||
#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */
|
||||
#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */
|
||||
#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */
|
||||
#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */
|
||||
#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */
|
||||
#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */
|
||||
#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */
|
||||
#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */
|
||||
#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */
|
||||
#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */
|
||||
#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */
|
||||
#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */
|
||||
#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */
|
||||
#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */
|
||||
#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */
|
||||
#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */
|
||||
#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */
|
||||
#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */
|
||||
/* Non-GLUTwindow callbacks. */
|
||||
#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */
|
||||
#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */
|
||||
#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */
|
||||
|
||||
/* GLUT Fortran callback function types. */
|
||||
typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void);
|
||||
typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *);
|
||||
/* NOTE the pressed key is int, not unsigned char for Fortran! */
|
||||
typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTentryFCB) (int *);
|
||||
typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *);
|
||||
typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *);
|
||||
typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z);
|
||||
|
||||
typedef void (GLUTCALLBACK *GLUTselectFCB) (int *);
|
||||
typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *);
|
||||
typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */
|
||||
typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *);
|
||||
typedef void (GLUTCALLBACK *GLUTidleFCB) (void);
|
||||
|
||||
/* Functions that set and return Fortran callback functions. */
|
||||
extern void* GLUTAPIENTRY __glutGetFCB(int which);
|
||||
extern void GLUTAPIENTRY __glutSetFCB(int which, void *func);
|
||||
|
||||
#endif /* __glutf90_h__ */
|
||||
@@ -0,0 +1,261 @@
|
||||
/* $Id: glx.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
*
|
||||
* Copyright (C) 1999 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: glx.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 3.3 1999/02/14 03:39:09 brianp
|
||||
* new copyright
|
||||
*
|
||||
* Revision 3.2 1998/06/18 03:44:00 brianp
|
||||
* replaced "uint" with "unsigned int"
|
||||
*
|
||||
* Revision 3.1 1998/06/01 00:00:17 brianp
|
||||
* added GLX_SGI_video_sync extension
|
||||
*
|
||||
* Revision 3.0 1998/02/20 05:06:01 brianp
|
||||
* initial rev
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef GLX_H
|
||||
#define GLX_H
|
||||
|
||||
|
||||
/*
|
||||
* A pseudo-GLX implementation to allow GLX-based OpenGL programs to
|
||||
* work with Mesa.
|
||||
*
|
||||
* Notes:
|
||||
* 1. If the visual passed to glXGetConfig was not one returned by
|
||||
* glXChooseVisual then the GLX_RGBA and GLX_DOUBLEBUFFER queries
|
||||
* will always return True and the GLX_DEPTH_SIZE query will always
|
||||
* return non-zero.
|
||||
* 2. The glXIsDirect() function always returns True.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include "GL/gl.h"
|
||||
#ifdef MESA
|
||||
#include "GL/xmesa.h"
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(USE_MGL_NAMESPACE)
|
||||
#include "glx_mangle.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#define GLX_VERSION_1_1 1
|
||||
|
||||
|
||||
/*
|
||||
* Tokens for glXChooseVisual and glXGetConfig:
|
||||
*/
|
||||
enum _GLX_CONFIGS {
|
||||
GLX_USE_GL = 1,
|
||||
GLX_BUFFER_SIZE = 2,
|
||||
GLX_LEVEL = 3,
|
||||
GLX_RGBA = 4,
|
||||
GLX_DOUBLEBUFFER = 5,
|
||||
GLX_STEREO = 6,
|
||||
GLX_AUX_BUFFERS = 7,
|
||||
GLX_RED_SIZE = 8,
|
||||
GLX_GREEN_SIZE = 9,
|
||||
GLX_BLUE_SIZE = 10,
|
||||
GLX_ALPHA_SIZE = 11,
|
||||
GLX_DEPTH_SIZE = 12,
|
||||
GLX_STENCIL_SIZE = 13,
|
||||
GLX_ACCUM_RED_SIZE = 14,
|
||||
GLX_ACCUM_GREEN_SIZE = 15,
|
||||
GLX_ACCUM_BLUE_SIZE = 16,
|
||||
GLX_ACCUM_ALPHA_SIZE = 17,
|
||||
|
||||
/* GLX_EXT_visual_info extension */
|
||||
GLX_X_VISUAL_TYPE_EXT = 0x22,
|
||||
GLX_TRANSPARENT_TYPE_EXT = 0x23,
|
||||
GLX_TRANSPARENT_INDEX_VALUE_EXT = 0x24,
|
||||
GLX_TRANSPARENT_RED_VALUE_EXT = 0x25,
|
||||
GLX_TRANSPARENT_GREEN_VALUE_EXT = 0x26,
|
||||
GLX_TRANSPARENT_BLUE_VALUE_EXT = 0x27,
|
||||
GLX_TRANSPARENT_ALPHA_VALUE_EXT = 0x28
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* 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.1 and later:
|
||||
*/
|
||||
#define GLX_VENDOR 1
|
||||
#define GLX_VERSION 2
|
||||
#define GLX_EXTENSIONS 3
|
||||
|
||||
|
||||
/*
|
||||
* GLX_visual_info extension
|
||||
*/
|
||||
#define GLX_TRUE_COLOR_EXT 0x8002
|
||||
#define GLX_DIRECT_COLOR_EXT 0x8003
|
||||
#define GLX_PSEUDO_COLOR_EXT 0x8004
|
||||
#define GLX_STATIC_COLOR_EXT 0x8005
|
||||
#define GLX_GRAY_SCALE_EXT 0x8006
|
||||
#define GLX_STATIC_GRAY_EXT 0x8007
|
||||
#define GLX_NONE_EXT 0x8000
|
||||
#define GLX_TRANSPARENT_RGB_EXT 0x8008
|
||||
#define GLX_TRANSPARENT_INDEX_EXT 0x8009
|
||||
|
||||
|
||||
/*
|
||||
* Compile-time extension tests
|
||||
*/
|
||||
#ifdef MESA
|
||||
#define GLX_EXT_visual_info 1
|
||||
#define GLX_MESA_pixmap_colormap 1
|
||||
#define GLX_MESA_release_buffers 1
|
||||
#define GLX_MESA_copy_sub_buffer 1
|
||||
#define GLX_SGI_video_sync 1
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef MESA
|
||||
typedef XMesaContext GLXContext;
|
||||
typedef Pixmap GLXPixmap;
|
||||
typedef Drawable GLXDrawable;
|
||||
#else
|
||||
typedef void * GLXContext;
|
||||
typedef XID GLXPixmap;
|
||||
typedef XID GLXDrawable;
|
||||
#endif
|
||||
typedef XID GLXContextID;
|
||||
|
||||
|
||||
|
||||
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,
|
||||
GLuint mask );
|
||||
|
||||
extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
|
||||
|
||||
extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
|
||||
Pixmap pixmap );
|
||||
|
||||
extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
|
||||
|
||||
extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event );
|
||||
|
||||
extern Bool glXQueryVersion( Display *dpy, int *maj, int *min );
|
||||
|
||||
extern Bool glXIsDirect( Display *dpy, GLXContext ctx );
|
||||
|
||||
extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
|
||||
int attrib, int *value );
|
||||
|
||||
extern GLXContext glXGetCurrentContext( void );
|
||||
|
||||
extern GLXDrawable glXGetCurrentDrawable( void );
|
||||
|
||||
extern void glXWaitGL( void );
|
||||
|
||||
extern void glXWaitX( void );
|
||||
|
||||
extern void glXUseXFont( Font font, int first, int count, int list );
|
||||
|
||||
|
||||
|
||||
/* GLX 1.1 and later */
|
||||
extern const char *glXQueryExtensionsString( Display *dpy, int screen );
|
||||
|
||||
extern const char *glXQueryServerString( Display *dpy, int screen, int name );
|
||||
|
||||
extern const char *glXGetClientString( Display *dpy, int name );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Mesa GLX Extensions
|
||||
*/
|
||||
|
||||
#ifdef GLX_MESA_pixmap_colormap
|
||||
extern GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
|
||||
Pixmap pixmap, Colormap cmap );
|
||||
#endif
|
||||
|
||||
#ifdef GLX_MESA_release_buffers
|
||||
extern Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
|
||||
#endif
|
||||
|
||||
#ifdef GLX_MESA_copy_sub_buffer
|
||||
extern void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
|
||||
int x, int y, int width, int height );
|
||||
#endif
|
||||
|
||||
#ifdef GLX_SGI_video_sync
|
||||
extern int glXGetVideoSyncSGI(unsigned int *count);
|
||||
extern int glXWaitVideoSyncSGI(int divisor, int remainder,
|
||||
unsigned int *count);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,72 @@
|
||||
/* $Id: glx_mangle.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.0
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: glx_mangle.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 3.3 1999/06/21 22:01:00 brianp
|
||||
* added #ifndef GLX_MANGLE_H stuff, video sync extension functions
|
||||
*
|
||||
* Revision 3.2 1998/03/26 02:44:53 brianp
|
||||
* removed ^M characters
|
||||
*
|
||||
* Revision 3.1 1998/03/17 02:41:19 brianp
|
||||
* updated by Randy Frank
|
||||
*
|
||||
* Revision 3.0 1998/02/20 05:04:45 brianp
|
||||
* initial rev
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef GLX_MANGLE_H
|
||||
#define GLX_MANGLE_H
|
||||
|
||||
#define glXChooseVisual mglXChooseVisual
|
||||
#define glXCreateContext mglXCreateContext
|
||||
#define glXDestroyContext mglXDestroyContext
|
||||
#define glXMakeCurrent mglXMakeCurrent
|
||||
#define glXCopyContext mglXCopyContext
|
||||
#define glXSwapBuffers mglXSwapBuffers
|
||||
#define glXCreateGLXPixmap mglXCreateGLXPixmap
|
||||
#define glXDestroyGLXPixmap mglXDestroyGLXPixmap
|
||||
#define glXQueryExtension mglXQueryExtension
|
||||
#define glXQueryVersion mglXQueryVersion
|
||||
#define glXIsDirect mglXIsDirect
|
||||
#define glXGetConfig mglXGetConfig
|
||||
#define glXGetCurrentContext mglXGetCurrentContext
|
||||
#define glXGetCurrentDrawable mglXGetCurrentDrawable
|
||||
#define glXWaitGL mglXWaitGL
|
||||
#define glXWaitX mglXWaitX
|
||||
#define glXUseXFont mglXUseXFont
|
||||
#define glXQueryExtensionsString mglXQueryExtensionsString
|
||||
#define glXQueryServerString mglXQueryServerString
|
||||
#define glXGetClientString mglXGetClientString
|
||||
#define glXCreateGLXPixmapMESA mglXCreateGLXPixmapMESA
|
||||
#define glXReleaseBuffersMESA mglXReleaseBuffersMESA
|
||||
#define glXCopySubBufferMESA mglXCopySubBufferMESA
|
||||
#define glXGetVideoSyncSGI mglXGetVideoSyncSGI
|
||||
#define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,80 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Mesa bindings for SciTech MGL
|
||||
*
|
||||
* Copyright (C) 1996 SciTech Software.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Filename: $Workfile: mglmesa.h $
|
||||
* Version: $Revision: 1.1 $
|
||||
*
|
||||
* Language: ANSI C
|
||||
* Environment: Any
|
||||
*
|
||||
* Description: Header file for the Mesa/OpenGL interface bindings for the
|
||||
* SciTech MGL graphics library. Uses the MGL internal
|
||||
* device context structures to get direct access to the
|
||||
* high performance MGL rasterization functions for maximum
|
||||
* performance. Utilizes the VESA VBE/AF Accelerator Functions
|
||||
* via the MGL's accelerated device driver functions, as well
|
||||
* as basic DirectDraw accelerated functions provided by the
|
||||
* MGL.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Date: 1999/08/19 00:55:40 $ $Author: jtg $
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __MGLMESA_H
|
||||
#define __MGLMESA_H
|
||||
|
||||
#include "mgraph.h"
|
||||
|
||||
/*------------------------- Function Prototypes ---------------------------*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" { /* Use "C" linkage when in C++ mode */
|
||||
#endif
|
||||
|
||||
#ifndef __WINDOWS__
|
||||
#define GLAPIENTRY
|
||||
#endif
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
bool GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
|
||||
#endif
|
||||
void GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
|
||||
bool GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
|
||||
bool GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
|
||||
void GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);
|
||||
void GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);
|
||||
void GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
|
||||
|
||||
/* Palette manipulation support. The reason we provide palette manipulation
|
||||
* routines is so that when rendering in double buffered modes with a
|
||||
* software backbuffer, the palette for the backbuffer is kept consistent
|
||||
* with the hardware front buffer.
|
||||
*/
|
||||
|
||||
void GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
|
||||
void GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
|
||||
void GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* End of "C" linkage for C++ */
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __MGLMESA_H */
|
||||
@@ -0,0 +1,256 @@
|
||||
/* $Id: osmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
*
|
||||
* Copyright (C) 1999 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: osmesa.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 1.4 1999/02/14 03:39:09 brianp
|
||||
* new copyright
|
||||
*
|
||||
* Revision 1.3 1999/01/03 02:52:30 brianp
|
||||
* now using GLAPI and GLAPIENTRY keywords (Ted Jump)
|
||||
*
|
||||
* Revision 1.2 1998/07/26 01:33:51 brianp
|
||||
* added WINGDIAPI and APIENTRY keywords per Ted Jump
|
||||
*
|
||||
* Revision 1.1 1998/02/13 03:17:50 brianp
|
||||
* Initial revision
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Mesa Off-Screen rendering interface.
|
||||
*
|
||||
* This is an operating system and window system independent interface to
|
||||
* Mesa which allows one to render images into a client-supplied buffer in
|
||||
* main memory. Such images may manipulated or saved in whatever way the
|
||||
* client wants.
|
||||
*
|
||||
* These are the API functions:
|
||||
* OSMesaCreateContext - create a new Off-Screen Mesa rendering context
|
||||
* OSMesaMakeCurrent - bind an OSMesaContext to a client's image buffer
|
||||
* and make the specified context the current one.
|
||||
* OSMesaDestroyContext - destroy an OSMesaContext
|
||||
* OSMesaGetCurrentContext - return thread's current context ID
|
||||
* OSMesaPixelStore - controls how pixels are stored in image buffer
|
||||
* OSMesaGetIntegerv - return OSMesa state parameters
|
||||
*
|
||||
*
|
||||
* The limits on the width and height of an image buffer are MAX_WIDTH and
|
||||
* MAX_HEIGHT as defined in Mesa/src/config.h. Defaults are 1280 and 1024.
|
||||
* You can increase them as needed but beware that many temporary arrays in
|
||||
* Mesa are dimensioned by MAX_WIDTH or MAX_HEIGHT.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef OSMESA_H
|
||||
#define OSMESA_H
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#include "GL/gl.h"
|
||||
|
||||
|
||||
|
||||
#define OSMESA_MAJOR_VERSION 3
|
||||
#define OSMESA_MINOR_VERSION 0
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Values for the format parameter of OSMesaCreateContext()
|
||||
* New in version 2.0.
|
||||
*/
|
||||
#define OSMESA_COLOR_INDEX GL_COLOR_INDEX
|
||||
#define OSMESA_RGBA GL_RGBA
|
||||
#define OSMESA_BGRA 0x1
|
||||
#define OSMESA_ARGB 0x2
|
||||
#define OSMESA_RGB GL_RGB
|
||||
#define OSMESA_BGR 0x4
|
||||
|
||||
|
||||
/*
|
||||
* OSMesaPixelStore() parameters:
|
||||
* New in version 2.0.
|
||||
*/
|
||||
#define OSMESA_ROW_LENGTH 0x10
|
||||
#define OSMESA_Y_UP 0x11
|
||||
|
||||
|
||||
/*
|
||||
* Accepted by OSMesaGetIntegerv:
|
||||
*/
|
||||
#define OSMESA_WIDTH 0x20
|
||||
#define OSMESA_HEIGHT 0x21
|
||||
#define OSMESA_FORMAT 0x22
|
||||
#define OSMESA_TYPE 0x23
|
||||
|
||||
|
||||
|
||||
typedef struct osmesa_context *OSMesaContext;
|
||||
|
||||
|
||||
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
||||
#pragma export on
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Create an Off-Screen Mesa rendering context. The only attribute needed is
|
||||
* an RGBA vs Color-Index mode flag.
|
||||
*
|
||||
* Input: format - one of OSMESA_COLOR_INDEX, OSMESA_RGBA, OSMESA_BGRA,
|
||||
* OSMESA_ARGB, OSMESA_RGB, or OSMESA_BGR.
|
||||
* sharelist - specifies another OSMesaContext with which to share
|
||||
* display lists. NULL indicates no sharing.
|
||||
* Return: an OSMesaContext or 0 if error
|
||||
*/
|
||||
GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContext( GLenum format,
|
||||
OSMesaContext sharelist );
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Destroy an Off-Screen Mesa rendering context.
|
||||
*
|
||||
* Input: ctx - the context to destroy
|
||||
*/
|
||||
GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Bind an OSMesaContext to an image buffer. The image buffer is just a
|
||||
* block of memory which the client provides. Its size must be at least
|
||||
* as large as width*height*sizeof(type). Its address should be a multiple
|
||||
* of 4 if using RGBA mode.
|
||||
*
|
||||
* Image data is stored in the order of glDrawPixels: row-major order
|
||||
* with the lower-left image pixel stored in the first array position
|
||||
* (ie. bottom-to-top).
|
||||
*
|
||||
* Since the only type initially supported is GL_UNSIGNED_BYTE, if the
|
||||
* context is in RGBA mode, each pixel will be stored as a 4-byte RGBA
|
||||
* value. If the context is in color indexed mode, each pixel will be
|
||||
* stored as a 1-byte value.
|
||||
*
|
||||
* If the context's viewport hasn't been initialized yet, it will now be
|
||||
* initialized to (0,0,width,height).
|
||||
*
|
||||
* Input: ctx - the rendering context
|
||||
* buffer - the image buffer memory
|
||||
* type - data type for pixel components, only GL_UNSIGNED_BYTE
|
||||
* supported now
|
||||
* width, height - size of image buffer in pixels, at least 1
|
||||
* Return: GL_TRUE if success, GL_FALSE if error because of invalid ctx,
|
||||
* invalid buffer address, type!=GL_UNSIGNED_BYTE, width<1, height<1,
|
||||
* width>internal limit or height>internal limit.
|
||||
*/
|
||||
GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx,
|
||||
void *buffer, GLenum type,
|
||||
GLsizei width, GLsizei height );
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Return the current Off-Screen Mesa rendering context handle.
|
||||
*/
|
||||
GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Set pixel store/packing parameters for the current context.
|
||||
* This is similar to glPixelStore.
|
||||
* Input: pname - OSMESA_ROW_LENGTH
|
||||
* specify actual pixels per row in image buffer
|
||||
* 0 = same as image width (default)
|
||||
* OSMESA_Y_UP
|
||||
* zero = Y coordinates increase downward
|
||||
* non-zero = Y coordinates increase upward (default)
|
||||
* value - the value for the parameter pname
|
||||
*
|
||||
* New in version 2.0.
|
||||
*/
|
||||
GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Return context info. This is like glGetIntegerv.
|
||||
* Input: pname -
|
||||
* OSMESA_WIDTH return current image width
|
||||
* OSMESA_HEIGHT return current image height
|
||||
* OSMESA_FORMAT return image format
|
||||
* OSMESA_TYPE return color component data type
|
||||
* OSMESA_ROW_LENGTH return row length in pixels
|
||||
* OSMESA_Y_UP returns 1 or 0 to indicate Y axis direction
|
||||
* value - pointer to integer in which to return result.
|
||||
*/
|
||||
GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Return the depth buffer associated with an OSMesa context.
|
||||
* Input: c - the OSMesa context
|
||||
* Output: width, height - size of buffer in pixels
|
||||
* bytesPerValue - bytes per depth value (2 or 4)
|
||||
* buffer - pointer to depth buffer values
|
||||
* Return: GL_TRUE or GL_FALSE to indicate success or failure.
|
||||
*
|
||||
* New in Mesa 2.4.
|
||||
*/
|
||||
GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c,
|
||||
GLint *width, GLint *height,
|
||||
GLint *bytesPerValue, void **buffer );
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
||||
#pragma export off
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,106 @@
|
||||
/* $Id: svgamesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.0
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: svgamesa.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 3.0 1998/02/20 05:07:24 brianp
|
||||
* initial rev
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* SVGA/Mesa interface for Linux.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Intro to using the VGA/Mesa interface
|
||||
*
|
||||
* 1. #include the <vga.h> file
|
||||
* 2. Call vga_init() to initialize the SVGA library.
|
||||
* 3. Call vga_setmode() to specify the screen size and color depth.
|
||||
* 4. Call SVGAMesaCreateContext() to setup a Mesa context. If using 8-bit
|
||||
* color Mesa assumes color index mode, if using 16-bit or deeper color
|
||||
* Mesa assumes RGB mode.
|
||||
* 5. Call SVGAMesaMakeCurrent() to activate the Mesa context.
|
||||
* 6. You can now use the Mesa API functions.
|
||||
* 7. Before exiting, call SVGAMesaDestroyContext() then vga_setmode(TEXT)
|
||||
* to restore the original text screen.
|
||||
*
|
||||
* Notes
|
||||
* 1. You must run your executable as root (or use the set UID-bit) because
|
||||
* the SVGA library requires it.
|
||||
* 2. The SVGA driver is not fully implemented yet. See svgamesa.c for what
|
||||
* has to be done yet.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef SVGAMESA_H
|
||||
#define SVGAMESA_H
|
||||
|
||||
|
||||
#define SVGAMESA_MAJOR_VERSION 3
|
||||
#define SVGAMESA_MINOR_VERSION 0
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#include "GL/gl.h"
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* This is the SVGAMesa context 'handle':
|
||||
*/
|
||||
typedef struct svgamesa_context *SVGAMesaContext;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* doubleBuffer flag new in version 2.4
|
||||
*/
|
||||
extern SVGAMesaContext SVGAMesaCreateContext( GLboolean doubleBuffer );
|
||||
|
||||
extern void SVGAMesaDestroyContext( SVGAMesaContext ctx );
|
||||
|
||||
extern void SVGAMesaMakeCurrent( SVGAMesaContext ctx );
|
||||
|
||||
extern SVGAMesaContext SVGAMesaGetCurrentContext( void );
|
||||
|
||||
extern void SVGAMesaSwapBuffers( void );
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,155 @@
|
||||
/* $Id: wmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.0
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: wmesa.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 3.2 1999/01/03 02:54:45 brianp
|
||||
* updated per Ted Jump
|
||||
*
|
||||
* Revision 3.1 1998/12/01 02:34:27 brianp
|
||||
* applied Mark Kilgard's patches from November 30, 1998
|
||||
*
|
||||
* Revision 3.0 1998/02/20 05:06:59 brianp
|
||||
* initial rev
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Windows driver by: Mark E. Peterson (markp@ic.mankato.mn.us)
|
||||
* Updated by Li Wei (liwei@aiar.xjtu.edu.cn)
|
||||
*
|
||||
*
|
||||
***************************************************************
|
||||
* WMesa *
|
||||
* version 2.3 *
|
||||
* *
|
||||
* By *
|
||||
* Li Wei *
|
||||
* Institute of Artificial Intelligence & Robotics *
|
||||
* Xi'an Jiaotong University *
|
||||
* Email: liwei@aiar.xjtu.edu.cn *
|
||||
* Web page: http://sun.aiar.xjtu.edu.cn *
|
||||
* *
|
||||
* July 7th, 1997 *
|
||||
***************************************************************
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WMESA_H
|
||||
#define WMESA_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#include "gl\gl.h"
|
||||
|
||||
#pragma warning (disable:4273)
|
||||
#pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
|
||||
#pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
|
||||
#pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
|
||||
#pragma warning( disable : 4013 ) /* 'function' undefined; assuming extern returning int */
|
||||
#pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
|
||||
#pragma warning( disable : 4273 ) /* 'identifier' : inconsistent DLL linkage. dllexport assumed */
|
||||
#if (MESA_WARNQUIET>1)
|
||||
# pragma warning( disable : 4146 ) /* unary minus operator applied to unsigned type, result still unsigned */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is the WMesa context 'handle':
|
||||
*/
|
||||
typedef struct wmesa_context *WMesaContext;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Create a new WMesaContext for rendering into a window. You must
|
||||
* have already created the window of correct visual type and with an
|
||||
* appropriate colormap.
|
||||
*
|
||||
* Input:
|
||||
* hWnd - Window handle
|
||||
* Pal - Palette to use
|
||||
* rgb_flag - GL_TRUE = RGB mode,
|
||||
* GL_FALSE = color index mode
|
||||
* db_flag - GL_TRUE = double-buffered,
|
||||
* GL_FALSE = single buffered
|
||||
*
|
||||
* Note: Indexed mode requires double buffering under Windows.
|
||||
*
|
||||
* Return: a WMesa_context or NULL if error.
|
||||
*/
|
||||
extern WMesaContext WMesaCreateContext(HWND hWnd,HPALETTE* pPal,
|
||||
GLboolean rgb_flag,GLboolean db_flag);
|
||||
|
||||
|
||||
/*
|
||||
* Destroy a rendering context as returned by WMesaCreateContext()
|
||||
*/
|
||||
/*extern void WMesaDestroyContext( WMesaContext ctx );*/
|
||||
extern void WMesaDestroyContext( void );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Make the specified context the current one.
|
||||
*/
|
||||
extern void WMesaMakeCurrent( WMesaContext ctx );
|
||||
|
||||
|
||||
/*
|
||||
* Return a handle to the current context.
|
||||
*/
|
||||
extern WMesaContext WMesaGetCurrentContext( void );
|
||||
|
||||
|
||||
/*
|
||||
* Swap the front and back buffers for the current context. No action
|
||||
* taken if the context is not double buffered.
|
||||
*/
|
||||
extern void WMesaSwapBuffers(void);
|
||||
|
||||
|
||||
/*
|
||||
* In indexed color mode we need to know when the palette changes.
|
||||
*/
|
||||
extern void WMesaPaletteChange(HPALETTE Pal);
|
||||
|
||||
extern void WMesaMove(void);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,357 @@
|
||||
/* $Id: xmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.1
|
||||
*
|
||||
* Copyright (C) 1999 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* $Log: xmesa.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 1.3 1999/02/24 22:43:27 jens
|
||||
* Name changes to get XMesa to compile standalone inside XFree86
|
||||
*
|
||||
* Revision 1.2 1999/02/14 03:39:09 brianp
|
||||
* new copyright
|
||||
*
|
||||
* Revision 1.1 1998/02/13 03:17:32 brianp
|
||||
* Initial revision
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Mesa/X11 interface. This header file serves as the documentation for
|
||||
* the Mesa/X11 interface functions.
|
||||
*
|
||||
* Note: this interface isn't intended for user programs. It's primarily
|
||||
* just for implementing the pseudo-GLX interface.
|
||||
*/
|
||||
|
||||
|
||||
/* Sample Usage:
|
||||
|
||||
In addition to the usual X calls to select a visual, create a colormap
|
||||
and create a window, you must do the following to use the X/Mesa interface:
|
||||
|
||||
1. Call XMesaCreateVisual() to make an XMesaVisual from an XVisualInfo.
|
||||
|
||||
2. Call XMesaCreateContext() to create an X/Mesa rendering context, given
|
||||
the XMesaVisual.
|
||||
|
||||
3. Call XMesaCreateWindowBuffer() to create an XMesaBuffer from an X window
|
||||
and XMesaVisual.
|
||||
|
||||
4. Call XMesaMakeCurrent() to bind the XMesaBuffer to an XMesaContext and
|
||||
to make the context the current one.
|
||||
|
||||
5. Make gl* calls to render your graphics.
|
||||
|
||||
6. Use XMesaSwapBuffers() when double buffering to swap front/back buffers.
|
||||
|
||||
7. Before the X window is destroyed, call XMesaDestroyBuffer().
|
||||
|
||||
8. Before exiting, call XMesaDestroyVisual and XMesaDestroyContext.
|
||||
|
||||
See the demos/xdemo.c and xmesa1.c files for examples.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef XMESA_H
|
||||
#define XMESA_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef XFree86Server
|
||||
#include "xmesa_xf86.h"
|
||||
#else
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include "xmesa_x.h"
|
||||
#endif
|
||||
#include "GL/gl.h"
|
||||
|
||||
#ifdef AMIWIN
|
||||
#include <pragmas/xlib_pragmas.h>
|
||||
extern struct Library *XLibBase;
|
||||
#endif
|
||||
|
||||
|
||||
#define XMESA_MAJOR_VERSION 3
|
||||
#define XMESA_MINOR_VERSION 0
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Values passed to XMesaGetString:
|
||||
*/
|
||||
#define XMESA_VERSION 1
|
||||
#define XMESA_EXTENSIONS 2
|
||||
|
||||
|
||||
/*
|
||||
* Values passed to XMesaSetFXmode:
|
||||
*/
|
||||
#define XMESA_FX_WINDOW 1
|
||||
#define XMESA_FX_FULLSCREEN 2
|
||||
|
||||
|
||||
|
||||
typedef struct xmesa_context *XMesaContext;
|
||||
|
||||
typedef struct xmesa_visual *XMesaVisual;
|
||||
|
||||
typedef struct xmesa_buffer *XMesaBuffer;
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Create a new X/Mesa visual.
|
||||
* Input: display - X11 display
|
||||
* visinfo - an XVisualInfo pointer
|
||||
* rgb_flag - GL_TRUE = RGB mode,
|
||||
* GL_FALSE = color index mode
|
||||
* alpha_flag - alpha buffer requested?
|
||||
* db_flag - GL_TRUE = double-buffered,
|
||||
* GL_FALSE = single buffered
|
||||
* stereo_flag - stereo visual?
|
||||
* depth_size - requested bits/depth values, or zero
|
||||
* stencil_size - requested bits/stencil values, or zero
|
||||
* accum_size - requested bits/component values, or zero
|
||||
* ximage_flag - GL_TRUE = use an XImage for back buffer,
|
||||
* GL_FALSE = use an off-screen pixmap for back buffer
|
||||
* Return; a new XMesaVisual or 0 if error.
|
||||
*/
|
||||
extern XMesaVisual XMesaCreateVisual( XMesaDisplay *display,
|
||||
XMesaVisualInfo visinfo,
|
||||
GLboolean rgb_flag,
|
||||
GLboolean alpha_flag,
|
||||
GLboolean db_flag,
|
||||
GLboolean stereo_flag,
|
||||
GLboolean ximage_flag,
|
||||
GLint depth_size,
|
||||
GLint stencil_size,
|
||||
GLint accum_size,
|
||||
GLint level );
|
||||
|
||||
/*
|
||||
* Destroy an XMesaVisual, but not the associated XVisualInfo.
|
||||
*/
|
||||
extern void XMesaDestroyVisual( XMesaVisual v );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Create a new XMesaContext for rendering into an X11 window.
|
||||
*
|
||||
* Input: visual - an XMesaVisual
|
||||
* share_list - another XMesaContext with which to share display
|
||||
* lists or NULL if no sharing is wanted.
|
||||
* Return: an XMesaContext or NULL if error.
|
||||
*/
|
||||
extern XMesaContext XMesaCreateContext( XMesaVisual v,
|
||||
XMesaContext share_list );
|
||||
|
||||
|
||||
/*
|
||||
* Destroy a rendering context as returned by XMesaCreateContext()
|
||||
*/
|
||||
extern void XMesaDestroyContext( XMesaContext c );
|
||||
|
||||
|
||||
/*
|
||||
* Create an XMesaBuffer from an X window.
|
||||
*/
|
||||
extern XMesaBuffer XMesaCreateWindowBuffer( XMesaVisual v,
|
||||
XMesaWindow w );
|
||||
|
||||
|
||||
/*
|
||||
* Create an XMesaBuffer from an X pixmap.
|
||||
*/
|
||||
extern XMesaBuffer XMesaCreatePixmapBuffer( XMesaVisual v,
|
||||
XMesaPixmap p,
|
||||
XMesaColormap cmap );
|
||||
|
||||
|
||||
/*
|
||||
* Destroy an XMesaBuffer, but not the corresponding window or pixmap.
|
||||
*/
|
||||
extern void XMesaDestroyBuffer( XMesaBuffer b );
|
||||
|
||||
|
||||
/*
|
||||
* Return the XMesaBuffer handle which corresponds to an X drawable, if any.
|
||||
*
|
||||
* New in Mesa 2.3.
|
||||
*/
|
||||
extern XMesaBuffer XMesaFindBuffer( XMesaDisplay *dpy,
|
||||
XMesaDrawable d );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Bind a buffer to a context and make the context the current one.
|
||||
*/
|
||||
extern GLboolean XMesaMakeCurrent( XMesaContext c,
|
||||
XMesaBuffer b );
|
||||
|
||||
|
||||
/*
|
||||
* Return a handle to the current context.
|
||||
*/
|
||||
extern XMesaContext XMesaGetCurrentContext( void );
|
||||
|
||||
|
||||
/*
|
||||
* Return handle to the current buffer.
|
||||
*/
|
||||
extern XMesaBuffer XMesaGetCurrentBuffer( void );
|
||||
|
||||
|
||||
/*
|
||||
* Swap the front and back buffers for the given buffer. No action is
|
||||
* taken if the buffer is not double buffered.
|
||||
*/
|
||||
extern void XMesaSwapBuffers( XMesaBuffer b );
|
||||
|
||||
|
||||
/*
|
||||
* Copy a sub-region of the back buffer to the front buffer.
|
||||
*
|
||||
* New in Mesa 2.6
|
||||
*/
|
||||
extern void XMesaCopySubBuffer( XMesaBuffer b,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height );
|
||||
|
||||
|
||||
/*
|
||||
* Return a pointer to the the Pixmap or XImage being used as the back
|
||||
* color buffer of an XMesaBuffer. This function is a way to get "under
|
||||
* the hood" of X/Mesa so one can manipulate the back buffer directly.
|
||||
* Input: b - the XMesaBuffer
|
||||
* Output: pixmap - pointer to back buffer's Pixmap, or 0
|
||||
* ximage - pointer to back buffer's XImage, or NULL
|
||||
* Return: GL_TRUE = context is double buffered
|
||||
* GL_FALSE = context is single buffered
|
||||
*/
|
||||
extern GLboolean XMesaGetBackBuffer( XMesaBuffer b,
|
||||
XMesaPixmap *pixmap,
|
||||
XMesaImage **ximage );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Return the depth buffer associated with an XMesaBuffer.
|
||||
* Input: b - the XMesa buffer handle
|
||||
* Output: width, height - size of buffer in pixels
|
||||
* bytesPerValue - bytes per depth value (2 or 4)
|
||||
* buffer - pointer to depth buffer values
|
||||
* Return: GL_TRUE or GL_FALSE to indicate success or failure.
|
||||
*
|
||||
* New in Mesa 2.4.
|
||||
*/
|
||||
extern GLboolean XMesaGetDepthBuffer( XMesaBuffer b,
|
||||
GLint *width,
|
||||
GLint *height,
|
||||
GLint *bytesPerValue,
|
||||
void **buffer );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Flush/sync a context
|
||||
*/
|
||||
extern void XMesaFlush( XMesaContext c );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Get an X/Mesa-specific string.
|
||||
* Input: name - either XMESA_VERSION or XMESA_EXTENSIONS
|
||||
*/
|
||||
extern const char *XMesaGetString( XMesaContext c, int name );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Scan for XMesaBuffers whose window/pixmap has been destroyed, then free
|
||||
* any memory used by that buffer.
|
||||
*
|
||||
* New in Mesa 2.3.
|
||||
*/
|
||||
extern void XMesaGarbageCollect( void );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Return a dithered pixel value.
|
||||
* Input: c - XMesaContext
|
||||
* x, y - window coordinate
|
||||
* red, green, blue, alpha - color components in [0,1]
|
||||
* Return: pixel value
|
||||
*
|
||||
* New in Mesa 2.3.
|
||||
*/
|
||||
extern unsigned long XMesaDitherColor( XMesaContext xmesa,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLfloat red,
|
||||
GLfloat green,
|
||||
GLfloat blue,
|
||||
GLfloat alpha );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 3Dfx Glide driver only!
|
||||
* Set 3Dfx/Glide full-screen or window rendering mode.
|
||||
* Input: mode - either XMESA_FX_WINDOW (window rendering mode) or
|
||||
* XMESA_FX_FULLSCREEN (full-screen rendering mode)
|
||||
* Return: GL_TRUE if success
|
||||
* GL_FALSE if invalid mode or if not using 3Dfx driver
|
||||
*
|
||||
* New in Mesa 2.6.
|
||||
*/
|
||||
extern GLboolean XMesaSetFXmode( GLint mode );
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,92 @@
|
||||
|
||||
/**************************************************************************
|
||||
|
||||
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
|
||||
All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sub license, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice (including the
|
||||
next paragraph) shall be included in all copies or substantial portions
|
||||
of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
|
||||
IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
|
||||
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
**************************************************************************/
|
||||
|
||||
/*
|
||||
* Authors:
|
||||
* Kevin E. Martin <kevin@precisioninsight.com>
|
||||
*
|
||||
* $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/include/GL/xmesa_x.h,v 1.1 1999/08/19 00:55:40 jtg Exp $
|
||||
*/
|
||||
|
||||
#ifndef _XMESA_X_H_
|
||||
#define _XMESA_X_H_
|
||||
|
||||
typedef Display XMesaDisplay;
|
||||
typedef Pixmap XMesaPixmap;
|
||||
typedef Colormap XMesaColormap;
|
||||
typedef Drawable XMesaDrawable;
|
||||
typedef Window XMesaWindow;
|
||||
typedef GC XMesaGC;
|
||||
typedef XVisualInfo *XMesaVisualInfo;
|
||||
typedef XImage XMesaImage;
|
||||
typedef XPoint XMesaPoint;
|
||||
typedef XColor XMesaColor;
|
||||
|
||||
#define XMesaDestroyImage XDestroyImage
|
||||
|
||||
#define XMesaPutPixel XPutPixel
|
||||
#define XMesaGetPixel XGetPixel
|
||||
|
||||
#define XMesaSetForeground XSetForeground
|
||||
#define XMesaSetBackground XSetBackground
|
||||
#define XMesaSetPlaneMask XSetPlaneMask
|
||||
#define XMesaSetFunction XSetFunction
|
||||
#define XMesaSetDashes XSetDashes
|
||||
#define XMesaSetLineAttributes XSetLineAttributes
|
||||
#define XMesaSetFillStyle XSetFillStyle
|
||||
#define XMesaSetTile XSetTile
|
||||
#define XMesaSetStipple XSetStipple
|
||||
|
||||
#define XMesaDrawPoint XDrawPoint
|
||||
#define XMesaDrawPoints XDrawPoints
|
||||
#define XMesaDrawLine XDrawLine
|
||||
#define XMesaFillRectangle XFillRectangle
|
||||
#define XMesaPutImage XPutImage
|
||||
#define XMesaCopyArea XCopyArea
|
||||
#define XMesaFillPolygon XFillPolygon
|
||||
|
||||
#define XMesaCreatePixmap XCreatePixmap
|
||||
#define XMesaFreePixmap XFreePixmap
|
||||
#define XMesaFreeGC XFreeGC
|
||||
|
||||
#define GET_COLORMAP_SIZE(__v) __v->visinfo->colormap_size
|
||||
#define GET_REDMASK(__v) __v->visinfo->red_mask
|
||||
#define GET_GREENMASK(__v) __v->visinfo->green_mask
|
||||
#define GET_BLUEMASK(__v) __v->visinfo->blue_mask
|
||||
#define GET_BITS_PER_PIXEL(__v) bits_per_pixel(__v->display, __v->visinfo)
|
||||
#if defined(__cplusplus) || defined(c_plusplus)
|
||||
#define GET_VISUAL_CLASS(__v) __v->visinfo->c_class
|
||||
#else
|
||||
#define GET_VISUAL_CLASS(__v) __v->visinfo->class
|
||||
#endif
|
||||
#define GET_VISUAL_DEPTH(__v) __v->visinfo->depth
|
||||
#define GET_BLACK_PIXEL(__v) BlackPixel(__v->display, __v->visinfo->screen)
|
||||
#define CHECK_BYTE_ORDER(__v) host_byte_order()==ImageByteOrder(__v->display)
|
||||
#define CHECK_FOR_HPCR(__v) XInternAtom(__v->display, "_HP_RGB_SMOOTH_MAP_LIST", True)
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,189 @@
|
||||
|
||||
/**************************************************************************
|
||||
|
||||
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
|
||||
All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sub license, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice (including the
|
||||
next paragraph) shall be included in all copies or substantial portions
|
||||
of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
|
||||
IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
|
||||
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
**************************************************************************/
|
||||
|
||||
/*
|
||||
* Authors:
|
||||
* Kevin E. Martin <kevin@precisioninsight.com>
|
||||
*
|
||||
* $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/include/GL/xmesa_xf86.h,v 1.1 1999/08/19 00:55:40 jtg Exp $
|
||||
*/
|
||||
|
||||
#ifndef _XMESA_XF86_H_
|
||||
#define _XMESA_XF86_H_
|
||||
|
||||
#include "scrnintstr.h"
|
||||
#include "pixmapstr.h"
|
||||
|
||||
typedef struct _XMesaImageRec XMesaImage;
|
||||
|
||||
typedef ScreenRec XMesaDisplay;
|
||||
typedef PixmapPtr XMesaPixmap;
|
||||
typedef ColormapPtr XMesaColormap;
|
||||
typedef DrawablePtr XMesaDrawable;
|
||||
typedef WindowPtr XMesaWindow;
|
||||
typedef GCPtr XMesaGC;
|
||||
typedef VisualPtr XMesaVisualInfo;
|
||||
typedef DDXPointRec XMesaPoint;
|
||||
typedef xColorItem XMesaColor;
|
||||
|
||||
#define XMesaSetGeneric(__d,__gc,__val,__mask) \
|
||||
{ \
|
||||
CARD32 __v[1]; \
|
||||
(void) __d; \
|
||||
__v[0] = __val; \
|
||||
dixChangeGC(NullClient, __gc, __mask, __v, NULL); \
|
||||
}
|
||||
|
||||
#define XMesaSetGenericPtr(__d,__gc,__pval,__mask) \
|
||||
{ \
|
||||
ChangeGCVal __v[1]; \
|
||||
(void) __d; \
|
||||
__v[0].ptr = __pval; \
|
||||
dixChangeGC(NullClient, __gc, __mask, NULL, __v); \
|
||||
}
|
||||
|
||||
#define XMesaSetDashes(__d,__gc,__do,__dl,__n) \
|
||||
{ \
|
||||
(void) __d; \
|
||||
SetDashes(__gc, __do, __n, (unsigned char *)__dl); \
|
||||
}
|
||||
|
||||
#define XMesaSetLineAttributes(__d,__gc,__lw,__ls,__cs,__js) \
|
||||
{ \
|
||||
CARD32 __v[4]; \
|
||||
(void) __d; \
|
||||
__v[0] = __lw; \
|
||||
__v[1] = __ls; \
|
||||
__v[2] = __cs; \
|
||||
__v[3] = __js; \
|
||||
dixChangeGC(NullClient, __gc, \
|
||||
GCLineWidth|GCLineStyle|GCCapStyle|GCJoinStyle, \
|
||||
__v, NULL); \
|
||||
}
|
||||
|
||||
#define XMesaSetForeground(d,gc,v) XMesaSetGeneric(d,gc,v,GCForeground)
|
||||
#define XMesaSetBackground(d,gc,v) XMesaSetGeneric(d,gc,v,GCBackground)
|
||||
#define XMesaSetPlaneMask(d,gc,v) XMesaSetGeneric(d,gc,v,GCPlaneMask)
|
||||
#define XMesaSetFunction(d,gc,v) XMesaSetGeneric(d,gc,v,GCFunction)
|
||||
#define XMesaSetFillStyle(d,gc,v) XMesaSetGeneric(d,gc,v,GCFillStyle)
|
||||
|
||||
#define XMesaSetTile(d,gc,v) XMesaSetGenericPtr(d,gc,v,GCTile)
|
||||
#define XMesaSetStipple(d,gc,v) XMesaSetGenericPtr(d,gc,v,GCStipple)
|
||||
|
||||
#define XMesaDrawPoint(__d,__b,__gc,__x,__y) \
|
||||
{ \
|
||||
XMesaPoint __p[1]; \
|
||||
(void) __d; \
|
||||
__p[0].x = __x; \
|
||||
__p[0].y = __y; \
|
||||
ValidateGC(__b, __gc); \
|
||||
(*gc->ops->PolyPoint)(__b, __gc, CoordModeOrigin, 1, __p); \
|
||||
}
|
||||
|
||||
#define XMesaDrawPoints(__d,__b,__gc,__p,__n,__m) \
|
||||
{ \
|
||||
(void) __d; \
|
||||
ValidateGC(__b, __gc); \
|
||||
(*gc->ops->PolyPoint)(__b, __gc, __m, __n, __p); \
|
||||
}
|
||||
|
||||
#define XMesaDrawLine(__d,__b,__gc,__x0,__y0,__x1,__y1) \
|
||||
{ \
|
||||
XMesaPoint __p[2]; \
|
||||
(void) __d; \
|
||||
ValidateGC(__b, __gc); \
|
||||
__p[0].x = __x0; \
|
||||
__p[0].y = __y0; \
|
||||
__p[1].x = __x1; \
|
||||
__p[1].y = __y1; \
|
||||
(*__gc->ops->Polylines)(__b, __gc, CoordModeOrigin, 2, __p); \
|
||||
}
|
||||
|
||||
#define XMesaFillRectangle(__d,__b,__gc,__x,__y,__w,__h) \
|
||||
{ \
|
||||
xRectangle __r[1]; \
|
||||
(void) __d; \
|
||||
ValidateGC(__b, __gc); \
|
||||
__r[0].x = __x; \
|
||||
__r[0].y = __y; \
|
||||
__r[0].width = __w; \
|
||||
__r[0].height = __h; \
|
||||
(*__gc->ops->PolyFillRect)(__b, __gc, 1, __r); \
|
||||
}
|
||||
|
||||
#define XMesaPutImage(__d,__b,__gc,__i,__sx,__sy,__x,__y,__w,__h) \
|
||||
{ \
|
||||
/* Assumes: Images are always in ZPixmap format */ \
|
||||
(void) __d; \
|
||||
if (__sx || __sy) /* The non-trivial case */ \
|
||||
XMesaPutImageHelper(__d,__b,__gc,__i,__sx,__sy,__x,__y,__w,__h); \
|
||||
ValidateGC(__b, __gc); \
|
||||
(*__gc->ops->PutImage)(__b, __gc, ((XMesaDrawable)(__b))->depth, \
|
||||
__x, __y, __w, __h, 0, ZPixmap, \
|
||||
((XMesaImage *)(__i))->data); \
|
||||
}
|
||||
|
||||
#define XMesaCopyArea(__d,__sb,__db,__gc,__sx,__sy,__w,__h,__x,__y) \
|
||||
{ \
|
||||
(void) __d; \
|
||||
ValidateGC(__db, __gc); \
|
||||
(*__gc->ops->CopyArea)((DrawablePtr)__sb, __db, __gc, \
|
||||
__sx, __sy, __w, __h, __x, __y); \
|
||||
}
|
||||
|
||||
#define XMesaFillPolygon(__d,__b,__gc,__p,__n,__s,__m) \
|
||||
{ \
|
||||
(void) __d; \
|
||||
ValidateGC(__b, __gc); \
|
||||
(*__gc->ops->FillPolygon)(__b, __gc, __s, __m, __n, __p); \
|
||||
}
|
||||
|
||||
/* CreatePixmap returns a PixmapPtr; so, it cannot be inside braces */
|
||||
#define XMesaCreatePixmap(__d,__b,__w,__h,__depth) \
|
||||
(*__d->CreatePixmap)(__d, __w, __h, __depth)
|
||||
#define XMesaFreePixmap(__d,__b) \
|
||||
(*__d->DestroyPixmap)(__b)
|
||||
|
||||
#define XMesaFreeGC(__d,__gc) \
|
||||
{ \
|
||||
(void) __d; \
|
||||
FreeScratchGC(__gc); \
|
||||
}
|
||||
|
||||
#define GET_COLORMAP_SIZE(__v) __v->visinfo->ColormapEntries
|
||||
#define GET_REDMASK(__v) __v->visinfo->redMask
|
||||
#define GET_GREENMASK(__v) __v->visinfo->greenMask
|
||||
#define GET_BLUEMASK(__v) __v->visinfo->blueMask
|
||||
#define GET_BITS_PER_PIXEL(__v) __v->visinfo->bitsPerRGBValue
|
||||
#define GET_VISUAL_CLASS(__v) __v->visinfo->class
|
||||
#define GET_VISUAL_DEPTH(__v) __v->visinfo->nplanes
|
||||
#define GET_BLACK_PIXEL(__v) __v->display->blackPixel
|
||||
#define CHECK_BYTE_ORDER(__v) GL_TRUE
|
||||
#define CHECK_FOR_HPCR(__v) GL_FALSE
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user