glut.h

来自「SiftGPU is an implementation of SIFT [1]」· C头文件 代码 · 共 792 行 · 第 1/3 页

H
792
字号

 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>

 GLUT_XLIB_IMPLEMENTATION=16 mjk's early GLUT 3.8 

 GLUT_XLIB_IMPLEMENTATION=17 mjk's GLUT 3.8 with glutStrokeWidthf and glutStrokeLengthf
**/
#ifndef GLUT_XLIB_IMPLEMENTATION  /* Allow this to be overriden. */
#define GLUT_XLIB_IMPLEMENTATION        17
#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

#ifdef _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                   ((GLenum) 100)
#define GLUT_WINDOW_Y                   ((GLenum) 101)
#define GLUT_WINDOW_WIDTH               ((GLenum) 102)
#define GLUT_WINDOW_HEIGHT              ((GLenum) 103)
#define GLUT_WINDOW_BUFFER_SIZE         ((GLenum) 104)
#define GLUT_WINDOW_STENCIL_SIZE        ((GLenum) 105)
#define GLUT_WINDOW_DEPTH_SIZE          ((GLenum) 106)
#define GLUT_WINDOW_RED_SIZE            ((GLenum) 107)
#define GLUT_WINDOW_GREEN_SIZE          ((GLenum) 108)
#define GLUT_WINDOW_BLUE_SIZE           ((GLenum) 109)
#define GLUT_WINDOW_ALPHA_SIZE          ((GLenum) 110)
#define GLUT_WINDOW_ACCUM_RED_SIZE      ((GLenum) 111)
#define GLUT_WINDOW_ACCUM_GREEN_SIZE    ((GLenum) 112)
#define GLUT_WINDOW_ACCUM_BLUE_SIZE     ((GLenum) 113)
#define GLUT_WINDOW_ACCUM_ALPHA_SIZE    ((GLenum) 114)
#define GLUT_WINDOW_DOUBLEBUFFER        ((GLenum) 115)
#define GLUT_WINDOW_RGBA                ((GLenum) 116)
#define GLUT_WINDOW_PARENT              ((GLenum) 117)
#define GLUT_WINDOW_NUM_CHILDREN        ((GLenum) 118)
#define GLUT_WINDOW_COLORMAP_SIZE       ((GLenum) 119)
#if (GLUT_API_VERSION >= 2)
#define GLUT_WINDOW_NUM_SAMPLES         ((GLenum) 120)
#define GLUT_WINDOW_STEREO              ((GLenum) 121)
#endif
#if (GLUT_API_VERSION >= 3)
#define GLUT_WINDOW_CURSOR              ((GLenum) 122)
#endif
#define GLUT_SCREEN_WIDTH               ((GLenum) 200)
#define GLUT_SCREEN_HEIGHT              ((GLenum) 201)
#define GLUT_SCREEN_WIDTH_MM            ((GLenum) 202)
#define GLUT_SCREEN_HEIGHT_MM           ((GLenum) 203)
#define GLUT_MENU_NUM_ITEMS             ((GLenum) 300)
#define GLUT_DISPLAY_MODE_POSSIBLE      ((GLenum) 400)
#define GLUT_INIT_WINDOW_X              ((GLenum) 500)
#define GLUT_INIT_WINDOW_Y              ((GLenum) 501)
#define GLUT_INIT_WINDOW_WIDTH          ((GLenum) 502)
#define GLUT_INIT_WINDOW_HEIGHT         ((GLenum) 503)
#define GLUT_INIT_DISPLAY_MODE          ((GLenum) 504)
#if (GLUT_API_VERSION >= 2)
#define GLUT_ELAPSED_TIME               ((GLenum) 700)
#endif
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
#define GLUT_WINDOW_FORMAT_ID           ((GLenum) 123)
#endif

#if (GLUT_API_VERSION >= 2)
/* glutDeviceGet parameters. */
#define GLUT_HAS_KEYBOARD               ((GLenum) 600)
#define GLUT_HAS_MOUSE                  ((GLenum) 601)
#define GLUT_HAS_SPACEBALL              ((GLenum) 602)
#define GLUT_HAS_DIAL_AND_BUTTON_BOX    ((GLenum) 603)
#define GLUT_HAS_TABLET                 ((GLenum) 604)
#define GLUT_NUM_MOUSE_BUTTONS          ((GLenum) 605)
#define GLUT_NUM_SPACEBALL_BUTTONS      ((GLenum) 606)
#define GLUT_NUM_BUTTON_BOX_BUTTONS     ((GLenum) 607)
#define GLUT_NUM_DIALS                  ((GLenum) 608)
#define GLUT_NUM_TABLET_BUTTONS         ((GLenum) 609)
#endif
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
#define GLUT_DEVICE_IGNORE_KEY_REPEAT   ((GLenum) 610)
#define GLUT_DEVICE_KEY_REPEAT          ((GLenum) 611)
#define GLUT_HAS_JOYSTICK               ((GLenum) 612)
#define GLUT_OWNS_JOYSTICK              ((GLenum) 613)
#define GLUT_JOYSTICK_BUTTONS           ((GLenum) 614)
#define GLUT_JOYSTICK_AXES              ((GLenum) 615)
#define GLUT_JOYSTICK_POLL_RATE         ((GLenum) 616)
#endif

#if (GLUT_API_VERSION >= 3)
/* glutLayerGet parameters. */
#define GLUT_OVERLAY_POSSIBLE           ((GLenum) 800)
#define GLUT_LAYER_IN_USE               ((GLenum) 801)
#define GLUT_HAS_OVERLAY                ((GLenum) 802)
#define GLUT_TRANSPARENT_INDEX          ((GLenum) 803)
#define GLUT_NORMAL_DAMAGED             ((GLenum) 804)
#define GLUT_OVERLAY_DAMAGED            ((GLenum) 805)

#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
/* glutVideoResizeGet parameters. */
#define GLUT_VIDEO_RESIZE_POSSIBLE      ((GLenum) 900)
#define GLUT_VIDEO_RESIZE_IN_USE        ((GLenum) 901)
#define GLUT_VIDEO_RESIZE_X_DELTA       ((GLenum) 902)
#define GLUT_VIDEO_RESIZE_Y_DELTA       ((GLenum) 903)
#define GLUT_VIDEO_RESIZE_WIDTH_DELTA   ((GLenum) 904)
#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA  ((GLenum) 905)
#define GLUT_VIDEO_RESIZE_X             ((GLenum) 906)
#define GLUT_VIDEO_RESIZE_Y             ((GLenum) 907)
#define GLUT_VIDEO_RESIZE_WIDTH         ((GLenum) 908)
#define GLUT_VIDEO_RESIZE_HEIGHT        ((GLenum) 909)
#endif

/* glutUseLayer parameters. */
#define GLUT_NORMAL                     ((GLenum) 0)
#define GLUT_OVERLAY                    ((GLenum) 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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?