1
0
Fork 0
mirror of https://github.com/gwm17/glfw.git synced 2024-11-30 05:58:52 -05:00

Formatted public header, removed per-token docs.

Some tokens are used for more than one purpose, making it difficult to write
good documentation on the token itself.  These tokens should instead be
described in the documentation for each function or callback that uses them.
This commit is contained in:
Camilla Berglund 2013-01-17 21:51:39 +01:00
parent 38aef53b0c
commit 2fca5c5df1

View File

@ -203,7 +203,7 @@ extern "C" {
/************************************************************************* /*************************************************************************
* GLFW version * GLFW API tokens
*************************************************************************/ *************************************************************************/
/*! @name GLFW version macros /*! @name GLFW version macros
@ -213,38 +213,33 @@ extern "C" {
* This is incremented when the API is changed in non-compatible ways. * This is incremented when the API is changed in non-compatible ways.
* @ingroup init * @ingroup init
*/ */
#define GLFW_VERSION_MAJOR 3 #define GLFW_VERSION_MAJOR 3
/*! @brief The minor version number of the GLFW library. /*! @brief The minor version number of the GLFW library.
* *
* This is incremented when features are added to the API but it remains * This is incremented when features are added to the API but it remains
* backward-compatible. * backward-compatible.
* @ingroup init * @ingroup init
*/ */
#define GLFW_VERSION_MINOR 0 #define GLFW_VERSION_MINOR 0
/*! @brief The revision number of the GLFW library. /*! @brief The revision number of the GLFW library.
* *
* This is incremented when a bug fix release is made that does not contain any * This is incremented when a bug fix release is made that does not contain any
* API changes. * API changes.
* @ingroup init * @ingroup init
*/ */
#define GLFW_VERSION_REVISION 0 #define GLFW_VERSION_REVISION 0
/*! @} */ /*! @} */
/*************************************************************************
* Input handling definitions
*************************************************************************/
/*! @name Key and button actions /*! @name Key and button actions
* @{ */ * @{ */
/*! @brief The key or button was released. /*! @brief The key or button was released.
* @ingroup input * @ingroup input
*/ */
#define GLFW_RELEASE 0 #define GLFW_RELEASE 0
/*! @brief The key or button was pressed. /*! @brief The key or button was pressed.
* @ingroup input * @ingroup input
*/ */
#define GLFW_PRESS 1 #define GLFW_PRESS 1
/*! @} */ /*! @} */
/* Keyboard raw key codes. /* Keyboard raw key codes.
@ -269,412 +264,184 @@ extern "C" {
*/ */
/* Printable keys */ /* Printable keys */
#define GLFW_KEY_SPACE 32 #define GLFW_KEY_SPACE 32
#define GLFW_KEY_APOSTROPHE 39 /* ' */ #define GLFW_KEY_APOSTROPHE 39 /* ' */
#define GLFW_KEY_COMMA 44 /* , */ #define GLFW_KEY_COMMA 44 /* , */
#define GLFW_KEY_MINUS 45 /* - */ #define GLFW_KEY_MINUS 45 /* - */
#define GLFW_KEY_PERIOD 46 /* . */ #define GLFW_KEY_PERIOD 46 /* . */
#define GLFW_KEY_SLASH 47 /* / */ #define GLFW_KEY_SLASH 47 /* / */
#define GLFW_KEY_0 48 #define GLFW_KEY_0 48
#define GLFW_KEY_1 49 #define GLFW_KEY_1 49
#define GLFW_KEY_2 50 #define GLFW_KEY_2 50
#define GLFW_KEY_3 51 #define GLFW_KEY_3 51
#define GLFW_KEY_4 52 #define GLFW_KEY_4 52
#define GLFW_KEY_5 53 #define GLFW_KEY_5 53
#define GLFW_KEY_6 54 #define GLFW_KEY_6 54
#define GLFW_KEY_7 55 #define GLFW_KEY_7 55
#define GLFW_KEY_8 56 #define GLFW_KEY_8 56
#define GLFW_KEY_9 57 #define GLFW_KEY_9 57
#define GLFW_KEY_SEMICOLON 59 /* ; */ #define GLFW_KEY_SEMICOLON 59 /* ; */
#define GLFW_KEY_EQUAL 61 /* = */ #define GLFW_KEY_EQUAL 61 /* = */
#define GLFW_KEY_A 65 #define GLFW_KEY_A 65
#define GLFW_KEY_B 66 #define GLFW_KEY_B 66
#define GLFW_KEY_C 67 #define GLFW_KEY_C 67
#define GLFW_KEY_D 68 #define GLFW_KEY_D 68
#define GLFW_KEY_E 69 #define GLFW_KEY_E 69
#define GLFW_KEY_F 70 #define GLFW_KEY_F 70
#define GLFW_KEY_G 71 #define GLFW_KEY_G 71
#define GLFW_KEY_H 72 #define GLFW_KEY_H 72
#define GLFW_KEY_I 73 #define GLFW_KEY_I 73
#define GLFW_KEY_J 74 #define GLFW_KEY_J 74
#define GLFW_KEY_K 75 #define GLFW_KEY_K 75
#define GLFW_KEY_L 76 #define GLFW_KEY_L 76
#define GLFW_KEY_M 77 #define GLFW_KEY_M 77
#define GLFW_KEY_N 78 #define GLFW_KEY_N 78
#define GLFW_KEY_O 79 #define GLFW_KEY_O 79
#define GLFW_KEY_P 80 #define GLFW_KEY_P 80
#define GLFW_KEY_Q 81 #define GLFW_KEY_Q 81
#define GLFW_KEY_R 82 #define GLFW_KEY_R 82
#define GLFW_KEY_S 83 #define GLFW_KEY_S 83
#define GLFW_KEY_T 84 #define GLFW_KEY_T 84
#define GLFW_KEY_U 85 #define GLFW_KEY_U 85
#define GLFW_KEY_V 86 #define GLFW_KEY_V 86
#define GLFW_KEY_W 87 #define GLFW_KEY_W 87
#define GLFW_KEY_X 88 #define GLFW_KEY_X 88
#define GLFW_KEY_Y 89 #define GLFW_KEY_Y 89
#define GLFW_KEY_Z 90 #define GLFW_KEY_Z 90
#define GLFW_KEY_LEFT_BRACKET 91 /* [ */ #define GLFW_KEY_LEFT_BRACKET 91 /* [ */
#define GLFW_KEY_BACKSLASH 92 /* \ */ #define GLFW_KEY_BACKSLASH 92 /* \ */
#define GLFW_KEY_RIGHT_BRACKET 93 /* ] */ #define GLFW_KEY_RIGHT_BRACKET 93 /* ] */
#define GLFW_KEY_GRAVE_ACCENT 96 /* ` */ #define GLFW_KEY_GRAVE_ACCENT 96 /* ` */
#define GLFW_KEY_WORLD_1 161 /* non-US #1 */ #define GLFW_KEY_WORLD_1 161 /* non-US #1 */
#define GLFW_KEY_WORLD_2 162 /* non-US #2 */ #define GLFW_KEY_WORLD_2 162 /* non-US #2 */
/* Function keys */ /* Function keys */
#define GLFW_KEY_ESCAPE 256 #define GLFW_KEY_ESCAPE 256
#define GLFW_KEY_ENTER 257 #define GLFW_KEY_ENTER 257
#define GLFW_KEY_TAB 258 #define GLFW_KEY_TAB 258
#define GLFW_KEY_BACKSPACE 259 #define GLFW_KEY_BACKSPACE 259
#define GLFW_KEY_INSERT 260 #define GLFW_KEY_INSERT 260
#define GLFW_KEY_DELETE 261 #define GLFW_KEY_DELETE 261
#define GLFW_KEY_RIGHT 262 #define GLFW_KEY_RIGHT 262
#define GLFW_KEY_LEFT 263 #define GLFW_KEY_LEFT 263
#define GLFW_KEY_DOWN 264 #define GLFW_KEY_DOWN 264
#define GLFW_KEY_UP 265 #define GLFW_KEY_UP 265
#define GLFW_KEY_PAGE_UP 266 #define GLFW_KEY_PAGE_UP 266
#define GLFW_KEY_PAGE_DOWN 267 #define GLFW_KEY_PAGE_DOWN 267
#define GLFW_KEY_HOME 268 #define GLFW_KEY_HOME 268
#define GLFW_KEY_END 269 #define GLFW_KEY_END 269
#define GLFW_KEY_CAPS_LOCK 280 #define GLFW_KEY_CAPS_LOCK 280
#define GLFW_KEY_SCROLL_LOCK 281 #define GLFW_KEY_SCROLL_LOCK 281
#define GLFW_KEY_NUM_LOCK 282 #define GLFW_KEY_NUM_LOCK 282
#define GLFW_KEY_PRINT_SCREEN 283 #define GLFW_KEY_PRINT_SCREEN 283
#define GLFW_KEY_PAUSE 284 #define GLFW_KEY_PAUSE 284
#define GLFW_KEY_F1 290 #define GLFW_KEY_F1 290
#define GLFW_KEY_F2 291 #define GLFW_KEY_F2 291
#define GLFW_KEY_F3 292 #define GLFW_KEY_F3 292
#define GLFW_KEY_F4 293 #define GLFW_KEY_F4 293
#define GLFW_KEY_F5 294 #define GLFW_KEY_F5 294
#define GLFW_KEY_F6 295 #define GLFW_KEY_F6 295
#define GLFW_KEY_F7 296 #define GLFW_KEY_F7 296
#define GLFW_KEY_F8 297 #define GLFW_KEY_F8 297
#define GLFW_KEY_F9 298 #define GLFW_KEY_F9 298
#define GLFW_KEY_F10 299 #define GLFW_KEY_F10 299
#define GLFW_KEY_F11 300 #define GLFW_KEY_F11 300
#define GLFW_KEY_F12 301 #define GLFW_KEY_F12 301
#define GLFW_KEY_F13 302 #define GLFW_KEY_F13 302
#define GLFW_KEY_F14 303 #define GLFW_KEY_F14 303
#define GLFW_KEY_F15 304 #define GLFW_KEY_F15 304
#define GLFW_KEY_F16 305 #define GLFW_KEY_F16 305
#define GLFW_KEY_F17 306 #define GLFW_KEY_F17 306
#define GLFW_KEY_F18 307 #define GLFW_KEY_F18 307
#define GLFW_KEY_F19 308 #define GLFW_KEY_F19 308
#define GLFW_KEY_F20 309 #define GLFW_KEY_F20 309
#define GLFW_KEY_F21 310 #define GLFW_KEY_F21 310
#define GLFW_KEY_F22 311 #define GLFW_KEY_F22 311
#define GLFW_KEY_F23 312 #define GLFW_KEY_F23 312
#define GLFW_KEY_F24 313 #define GLFW_KEY_F24 313
#define GLFW_KEY_F25 314 #define GLFW_KEY_F25 314
#define GLFW_KEY_KP_0 320 #define GLFW_KEY_KP_0 320
#define GLFW_KEY_KP_1 321 #define GLFW_KEY_KP_1 321
#define GLFW_KEY_KP_2 322 #define GLFW_KEY_KP_2 322
#define GLFW_KEY_KP_3 323 #define GLFW_KEY_KP_3 323
#define GLFW_KEY_KP_4 324 #define GLFW_KEY_KP_4 324
#define GLFW_KEY_KP_5 325 #define GLFW_KEY_KP_5 325
#define GLFW_KEY_KP_6 326 #define GLFW_KEY_KP_6 326
#define GLFW_KEY_KP_7 327 #define GLFW_KEY_KP_7 327
#define GLFW_KEY_KP_8 328 #define GLFW_KEY_KP_8 328
#define GLFW_KEY_KP_9 329 #define GLFW_KEY_KP_9 329
#define GLFW_KEY_KP_DECIMAL 330 #define GLFW_KEY_KP_DECIMAL 330
#define GLFW_KEY_KP_DIVIDE 331 #define GLFW_KEY_KP_DIVIDE 331
#define GLFW_KEY_KP_MULTIPLY 332 #define GLFW_KEY_KP_MULTIPLY 332
#define GLFW_KEY_KP_SUBTRACT 333 #define GLFW_KEY_KP_SUBTRACT 333
#define GLFW_KEY_KP_ADD 334 #define GLFW_KEY_KP_ADD 334
#define GLFW_KEY_KP_ENTER 335 #define GLFW_KEY_KP_ENTER 335
#define GLFW_KEY_KP_EQUAL 336 #define GLFW_KEY_KP_EQUAL 336
#define GLFW_KEY_LEFT_SHIFT 340 #define GLFW_KEY_LEFT_SHIFT 340
#define GLFW_KEY_LEFT_CONTROL 341 #define GLFW_KEY_LEFT_CONTROL 341
#define GLFW_KEY_LEFT_ALT 342 #define GLFW_KEY_LEFT_ALT 342
#define GLFW_KEY_LEFT_SUPER 343 #define GLFW_KEY_LEFT_SUPER 343
#define GLFW_KEY_RIGHT_SHIFT 344 #define GLFW_KEY_RIGHT_SHIFT 344
#define GLFW_KEY_RIGHT_CONTROL 345 #define GLFW_KEY_RIGHT_CONTROL 345
#define GLFW_KEY_RIGHT_ALT 346 #define GLFW_KEY_RIGHT_ALT 346
#define GLFW_KEY_RIGHT_SUPER 347 #define GLFW_KEY_RIGHT_SUPER 347
#define GLFW_KEY_MENU 348 #define GLFW_KEY_MENU 348
#define GLFW_KEY_LAST GLFW_KEY_MENU #define GLFW_KEY_LAST GLFW_KEY_MENU
/* GLFW 2.x key name aliases (deprecated) */ /* GLFW 2.x key name aliases (deprecated) */
#define GLFW_KEY_ESC GLFW_KEY_ESCAPE #define GLFW_KEY_ESC GLFW_KEY_ESCAPE
#define GLFW_KEY_DEL GLFW_KEY_DELETE #define GLFW_KEY_DEL GLFW_KEY_DELETE
#define GLFW_KEY_PAGEUP GLFW_KEY_PAGE_UP #define GLFW_KEY_PAGEUP GLFW_KEY_PAGE_UP
#define GLFW_KEY_PAGEDOWN GLFW_KEY_PAGE_DOWN #define GLFW_KEY_PAGEDOWN GLFW_KEY_PAGE_DOWN
#define GLFW_KEY_KP_NUM_LOCK GLFW_KEY_NUM_LOCK #define GLFW_KEY_KP_NUM_LOCK GLFW_KEY_NUM_LOCK
#define GLFW_KEY_LCTRL GLFW_KEY_LEFT_CONTROL #define GLFW_KEY_LCTRL GLFW_KEY_LEFT_CONTROL
#define GLFW_KEY_LSHIFT GLFW_KEY_LEFT_SHIFT #define GLFW_KEY_LSHIFT GLFW_KEY_LEFT_SHIFT
#define GLFW_KEY_LALT GLFW_KEY_LEFT_ALT #define GLFW_KEY_LALT GLFW_KEY_LEFT_ALT
#define GLFW_KEY_LSUPER GLFW_KEY_LEFT_SUPER #define GLFW_KEY_LSUPER GLFW_KEY_LEFT_SUPER
#define GLFW_KEY_RCTRL GLFW_KEY_RIGHT_CONTROL #define GLFW_KEY_RCTRL GLFW_KEY_RIGHT_CONTROL
#define GLFW_KEY_RSHIFT GLFW_KEY_RIGHT_SHIFT #define GLFW_KEY_RSHIFT GLFW_KEY_RIGHT_SHIFT
#define GLFW_KEY_RALT GLFW_KEY_RIGHT_ALT #define GLFW_KEY_RALT GLFW_KEY_RIGHT_ALT
#define GLFW_KEY_RSUPER GLFW_KEY_RIGHT_SUPER #define GLFW_KEY_RSUPER GLFW_KEY_RIGHT_SUPER
/*! @} */ /*! @} */
/*! @defgroup buttons Mouse buttons /*! @defgroup buttons Mouse buttons
* @ingroup input * @ingroup input
* @{ */ * @{ */
#define GLFW_MOUSE_BUTTON_1 0 #define GLFW_MOUSE_BUTTON_1 0
#define GLFW_MOUSE_BUTTON_2 1 #define GLFW_MOUSE_BUTTON_2 1
#define GLFW_MOUSE_BUTTON_3 2 #define GLFW_MOUSE_BUTTON_3 2
#define GLFW_MOUSE_BUTTON_4 3 #define GLFW_MOUSE_BUTTON_4 3
#define GLFW_MOUSE_BUTTON_5 4 #define GLFW_MOUSE_BUTTON_5 4
#define GLFW_MOUSE_BUTTON_6 5 #define GLFW_MOUSE_BUTTON_6 5
#define GLFW_MOUSE_BUTTON_7 6 #define GLFW_MOUSE_BUTTON_7 6
#define GLFW_MOUSE_BUTTON_8 7 #define GLFW_MOUSE_BUTTON_8 7
#define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8 #define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8
#define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1 #define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1
#define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2 #define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2
#define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3 #define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3
/*! @} */ /*! @} */
/*! @defgroup joysticks Joysticks /*! @defgroup joysticks Joysticks
* @ingroup input * @ingroup input
* @{ */ * @{ */
#define GLFW_JOYSTICK_1 0 #define GLFW_JOYSTICK_1 0
#define GLFW_JOYSTICK_2 1 #define GLFW_JOYSTICK_2 1
#define GLFW_JOYSTICK_3 2 #define GLFW_JOYSTICK_3 2
#define GLFW_JOYSTICK_4 3 #define GLFW_JOYSTICK_4 3
#define GLFW_JOYSTICK_5 4 #define GLFW_JOYSTICK_5 4
#define GLFW_JOYSTICK_6 5 #define GLFW_JOYSTICK_6 5
#define GLFW_JOYSTICK_7 6 #define GLFW_JOYSTICK_7 6
#define GLFW_JOYSTICK_8 7 #define GLFW_JOYSTICK_8 7
#define GLFW_JOYSTICK_9 8 #define GLFW_JOYSTICK_9 8
#define GLFW_JOYSTICK_10 9 #define GLFW_JOYSTICK_10 9
#define GLFW_JOYSTICK_11 10 #define GLFW_JOYSTICK_11 10
#define GLFW_JOYSTICK_12 11 #define GLFW_JOYSTICK_12 11
#define GLFW_JOYSTICK_13 12 #define GLFW_JOYSTICK_13 12
#define GLFW_JOYSTICK_14 13 #define GLFW_JOYSTICK_14 13
#define GLFW_JOYSTICK_15 14 #define GLFW_JOYSTICK_15 14
#define GLFW_JOYSTICK_16 15 #define GLFW_JOYSTICK_16 15
#define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16 #define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16
/*! @} */
/*************************************************************************
* Other definitions
*************************************************************************/
/*! @defgroup paramhints Window parameters and hints
* @ingroup window
* @{ */
/*! @brief @c GL_TRUE if the window has focus, or @c GL_FALSE otherwise.
* @see glfwGetWindowParam
*/
#define GLFW_FOCUSED 0x00020001
/*! @brief @c GL_TRUE if the window is iconified, or @c GL_FALSE otherwise.
* @see glfwGetWindowParam
*/
#define GLFW_ICONIFIED 0x00020002
/*! @brief @c GL_TRUE if the window has been requested to close, or @c GL_FALSE
* otherwise.
* @see glfwGetWindowParam
*/
#define GLFW_SHOULD_CLOSE 0x00020003
/*! @brief The revision number of the context's API version.
* @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_CONTEXT_REVISION 0x00020004
/*! @brief The bit depth of the red component of the color buffer.
* @see glfwWindowHint
*/
#define GLFW_RED_BITS 0x00021000
/*! @brief The bit depth of the green component of the color buffer.
* @see glfwWindowHint
*/
#define GLFW_GREEN_BITS 0x00021001
/*! @brief The bit depth of the blue component of the color buffer.
* @see glfwWindowHint
*/
#define GLFW_BLUE_BITS 0x00021002
/*! @brief The bit depth of the alpha component of the color buffer.
* @see glfwWindowHint
*/
#define GLFW_ALPHA_BITS 0x00021003
/*! @brief The bit depth of the depth buffer of the default framebuffer.
* @see glfwWindowHint
*/
#define GLFW_DEPTH_BITS 0x00021004
/*! @brief The bit depth of the stencil buffer of the default framebuffer.
* @see glfwWindowHint
*/
#define GLFW_STENCIL_BITS 0x00021005
/*! @brief The bit depth of the red component of the accumulation buffer.
* @see glfwWindowHint
*/
#define GLFW_ACCUM_RED_BITS 0x00021006
/*! @brief The bit depth of the red component of the accumulation buffer.
* @see glfwWindowHint
*/
#define GLFW_ACCUM_GREEN_BITS 0x00021007
/*! @brief The bit depth of the red component of the accumulation buffer.
* @see glfwWindowHint
*/
#define GLFW_ACCUM_BLUE_BITS 0x00021008
/*! @brief The bit depth of the red component of the accumulation buffer.
* @see glfwWindowHint
*/
#define GLFW_ACCUM_ALPHA_BITS 0x00021009
/*! @brief The number of auxiliary buffers.
* @see glfwWindowHint
*/
#define GLFW_AUX_BUFFERS 0x0002100A
/*! @brief @c GL_TRUE for stereo rendering, or @c GL_FALSE otherwise.
* @see glfwWindowHint
*/
#define GLFW_STEREO 0x0002100B
/*! @brief The number of samples used for default framebuffer multisampling, or
* zero to disable multisampling.
* @see glfwWindowHint
*/
#define GLFW_SAMPLES 0x0002100C
/*! @brief @c GL_TRUE if the framebuffer should be sRGB capable, or @c GL_FALSE
* otherwise.
* @see glfwWindowHint
*/
#define GLFW_SRGB_CAPABLE 0x0002100D
/*! @brief The client API used for the window's context; one of
* @ref One of GLFW_OPENGL_API or @ref GLFW_OPENGL_ES_API.
* @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_CLIENT_API 0x00022000
/*! @brief The major number of the context's API version.
* @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_CONTEXT_VERSION_MAJOR 0x00022001
/*! @brief The minor number of the context's API version.
* @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_CONTEXT_VERSION_MINOR 0x00022002
/*! @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_CONTEXT_ROBUSTNESS 0x00022003
/*! @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_OPENGL_FORWARD_COMPAT 0x00022004
/*! @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_OPENGL_DEBUG_CONTEXT 0x00022005
/*! @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_OPENGL_PROFILE 0x00022006
/*! @brief @c GL_TRUE if the window is resizable, or @c GL_FALSE otherwise.
* @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_RESIZABLE 0x00022007
/*! @brief @c GL_TRUE if the window is visible, or @c GL_FALSE otherwise.
* @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_VISIBLE 0x00022008
/*! @brief The x-coordinate, in pixels, of the upper-left corner of the
* client area of the window.
* @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_POSITION_X 0x00022009
/*! @brief The y-coordinate, in pixels, of the upper-left corner of the
* client area of the window.
* @see glfwWindowHint glfwGetWindowParam
*/
#define GLFW_POSITION_Y 0x0002200A
/*! @} */
/*! @name Client APIs
* @{ */
/*! @brief The OpenGL API.
* @ingroup context
*/
#define GLFW_OPENGL_API 0x00000001
/*! @brief The OpenGL ES API.
* @ingroup context
*/
#define GLFW_OPENGL_ES_API 0x00000002
/*! @} */
/*! @name Context robustness strategies
* @{ */
/*! @brief No robustness strategy is used.
*
* This is the default.
* @ingroup context
*/
#define GLFW_NO_ROBUSTNESS 0x00000000
/*! @brief
* @ingroup context
*/
#define GLFW_NO_RESET_NOTIFICATION 0x00000001
/*! @brief
* @ingroup context
*/
#define GLFW_LOSE_CONTEXT_ON_RESET 0x00000002
/*! @} */
/*! @name OpenGL profiles
* @{ */
/*! @brief No OpenGL profile.
* @ingroup context
*/
#define GLFW_OPENGL_NO_PROFILE 0x00000000
/*! @brief The OpenGL core profile.
* @ingroup context
*/
#define GLFW_OPENGL_CORE_PROFILE 0x00000001
/*! @brief The OpenGL compatibility profile.
* @ingroup context
*/
#define GLFW_OPENGL_COMPAT_PROFILE 0x00000002
/*! @} */
/*! @name Input modes
* @{ */
/*! @brief The behaviour of the cursor.
* @ingroup input
*/
#define GLFW_CURSOR_MODE 0x00030001
/*! @brief Whether the @ref glfwGetKey function uses sticky state.
* @ingroup input
*/
#define GLFW_STICKY_KEYS 0x00030002
/*! @brief Whether the @ref glfwGetMouseButton function uses sticky state.
* @ingroup input
*/
#define GLFW_STICKY_MOUSE_BUTTONS 0x00030003
/*! @} */
/*! @name Cursor modes
* @{ */
/*! @brief The cursor is visible and behaves normally.
* @ingroup input
*/
#define GLFW_CURSOR_NORMAL 0x00040001
/*! @brief The cursor is hidden when over the client area of the window.
* @ingroup input
*/
#define GLFW_CURSOR_HIDDEN 0x00040002
/*! @brief The cursor is disabled and cursor movement is unbounded.
* @ingroup input
*/
#define GLFW_CURSOR_CAPTURED 0x00040003
/*! @} */
/*! @name Joystick parameters
* @{ */
/*! @brief @c GL_TRUE if the joystick is present, or @c GL_FALSE otherwise.
* @ingroup input
*/
#define GLFW_PRESENT 0x00050001
/*! @brief The number of axes on the specified joystick, or zero if the joystick
* is not present.
* @ingroup input
*/
#define GLFW_AXES 0x00050002
/*! @brief The number of buttons on the specified joystick, or zero if the
* joystick is not present.
* @ingroup input
*/
#define GLFW_BUTTONS 0x00050003
/*! @} */ /*! @} */
/*! @defgroup errors Error codes /*! @defgroup errors Error codes
@ -682,80 +449,107 @@ extern "C" {
* @{ */ * @{ */
/*! @brief No error has occurred. /*! @brief No error has occurred.
*/ */
#define GLFW_NO_ERROR 0 #define GLFW_NO_ERROR 0
/*! @brief GLFW has not been initialized. /*! @brief GLFW has not been initialized.
*/ */
#define GLFW_NOT_INITIALIZED 0x00070001 #define GLFW_NOT_INITIALIZED 0x00070001
/*! @brief No context is current for this thread. /*! @brief No context is current for this thread.
*/ */
#define GLFW_NO_CURRENT_CONTEXT 0x00070002 #define GLFW_NO_CURRENT_CONTEXT 0x00070002
/*! @brief One of the enum parameters for the function was given an invalid /*! @brief One of the enum parameters for the function was given an invalid
* enum. * enum.
*/ */
#define GLFW_INVALID_ENUM 0x00070003 #define GLFW_INVALID_ENUM 0x00070003
/*! @brief One of the parameters for the function was given an invalid value. /*! @brief One of the parameters for the function was given an invalid value.
*/ */
#define GLFW_INVALID_VALUE 0x00070004 #define GLFW_INVALID_VALUE 0x00070004
/*! @brief A memory allocation failed. /*! @brief A memory allocation failed.
*/ */
#define GLFW_OUT_OF_MEMORY 0x00070005 #define GLFW_OUT_OF_MEMORY 0x00070005
/*! @brief GLFW could not find support for the requested client API on the /*! @brief GLFW could not find support for the requested client API on the
* system. * system.
*/ */
#define GLFW_API_UNAVAILABLE 0x00070006 #define GLFW_API_UNAVAILABLE 0x00070006
/*! @brief The requested client API version is not available. /*! @brief The requested client API version is not available.
*/ */
#define GLFW_VERSION_UNAVAILABLE 0x00070007 #define GLFW_VERSION_UNAVAILABLE 0x00070007
/*! @brief A platform-specific error occurred that does not match any of the /*! @brief A platform-specific error occurred that does not match any of the
* more specific categories. * more specific categories.
*/ */
#define GLFW_PLATFORM_ERROR 0x00070008 #define GLFW_PLATFORM_ERROR 0x00070008
/*! @brief The clipboard did not contain data in the requested format. /*! @brief The clipboard did not contain data in the requested format.
*/ */
#define GLFW_FORMAT_UNAVAILABLE 0x00070009 #define GLFW_FORMAT_UNAVAILABLE 0x00070009
/*! @} */ /*! @} */
/*! @brief The number of entries in the gamma ramp. #define GLFW_FOCUSED 0x00020001
* @ingroup gamma #define GLFW_ICONIFIED 0x00020002
*/ #define GLFW_SHOULD_CLOSE 0x00020003
#define GLFW_GAMMA_RAMP_SIZE 256 #define GLFW_RESIZABLE 0x00022007
#define GLFW_VISIBLE 0x00022008
#define GLFW_POSITION_X 0x00022009
#define GLFW_POSITION_Y 0x0002200A
/*! @name Monitor parameters #define GLFW_CONTEXT_REVISION 0x00020004
* @{ */ #define GLFW_RED_BITS 0x00021000
/*! @brief The physical width, in mm, of the monitor. #define GLFW_GREEN_BITS 0x00021001
* @ingroup monitor #define GLFW_BLUE_BITS 0x00021002
*/ #define GLFW_ALPHA_BITS 0x00021003
#define GLFW_MONITOR_WIDTH_MM 0x00060001 #define GLFW_DEPTH_BITS 0x00021004
/*! @brief The physical height, in mm, of the monitor. #define GLFW_STENCIL_BITS 0x00021005
* @ingroup monitor #define GLFW_ACCUM_RED_BITS 0x00021006
*/ #define GLFW_ACCUM_GREEN_BITS 0x00021007
#define GLFW_MONITOR_HEIGHT_MM 0x00060002 #define GLFW_ACCUM_BLUE_BITS 0x00021008
/*! @brief The x-coordinate of the upper-left corner of the monitor on the #define GLFW_ACCUM_ALPHA_BITS 0x00021009
* virtual desktop. #define GLFW_AUX_BUFFERS 0x0002100A
* @ingroup monitor #define GLFW_STEREO 0x0002100B
*/ #define GLFW_SAMPLES 0x0002100C
#define GLFW_MONITOR_POS_X 0x00060003 #define GLFW_SRGB_CAPABLE 0x0002100D
/*! @brief The y-coordinate of the upper-left corner of the monitor on the
* virtual desktop. #define GLFW_CLIENT_API 0x00022000
* @ingroup monitor #define GLFW_CONTEXT_VERSION_MAJOR 0x00022001
*/ #define GLFW_CONTEXT_VERSION_MINOR 0x00022002
#define GLFW_MONITOR_POS_Y 0x00060004 #define GLFW_CONTEXT_ROBUSTNESS 0x00022003
/* @} */ #define GLFW_OPENGL_FORWARD_COMPAT 0x00022004
#define GLFW_OPENGL_DEBUG_CONTEXT 0x00022005
#define GLFW_OPENGL_PROFILE 0x00022006
#define GLFW_OPENGL_API 0x00000001
#define GLFW_OPENGL_ES_API 0x00000002
#define GLFW_NO_ROBUSTNESS 0x00000000
#define GLFW_NO_RESET_NOTIFICATION 0x00000001
#define GLFW_LOSE_CONTEXT_ON_RESET 0x00000002
#define GLFW_OPENGL_NO_PROFILE 0x00000000
#define GLFW_OPENGL_CORE_PROFILE 0x00000001
#define GLFW_OPENGL_COMPAT_PROFILE 0x00000002
#define GLFW_CURSOR_MODE 0x00030001
#define GLFW_STICKY_KEYS 0x00030002
#define GLFW_STICKY_MOUSE_BUTTONS 0x00030003
#define GLFW_CURSOR_NORMAL 0x00040001
#define GLFW_CURSOR_HIDDEN 0x00040002
#define GLFW_CURSOR_CAPTURED 0x00040003
#define GLFW_PRESENT 0x00050001
#define GLFW_AXES 0x00050002
#define GLFW_BUTTONS 0x00050003
#define GLFW_GAMMA_RAMP_SIZE 256
#define GLFW_MONITOR_WIDTH_MM 0x00060001
#define GLFW_MONITOR_HEIGHT_MM 0x00060002
#define GLFW_MONITOR_POS_X 0x00060003
#define GLFW_MONITOR_POS_Y 0x00060004
#define GLFW_CONNECTED 0x00061000
#define GLFW_DISCONNECTED 0x00061001
/*! @name Monitor events
* @{ */
/*! @brief The monitor was connected.
* @ingroup monitor
*/
#define GLFW_CONNECTED 0x00061000
/*! @brief The monitor was disconnected.
* @ingroup monitor
*/
#define GLFW_DISCONNECTED 0x00061001
/* @} */
/************************************************************************* /*************************************************************************
* Typedefs * GLFW API types
*************************************************************************/ *************************************************************************/
/*! @brief Client API function pointer type. /*! @brief Client API function pointer type.
@ -907,7 +701,7 @@ typedef struct
/************************************************************************* /*************************************************************************
* Prototypes * GLFW API functions
*************************************************************************/ *************************************************************************/
/*! @brief Initializes the GLFW library. /*! @brief Initializes the GLFW library.