Initial revision
[mesa.git] / include / GL / glut_h.dja
diff --git a/include/GL/glut_h.dja b/include/GL/glut_h.dja
new file mode 100644 (file)
index 0000000..d5713f0
--- /dev/null
@@ -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__ */