Converted docs to hybrid Markdown.

This commit is contained in:
Camilla Berglund 2013-03-12 15:33:05 +01:00
parent 200e07027c
commit 71d2b574f8
7 changed files with 310 additions and 452 deletions

View File

@ -20,21 +20,21 @@ varied window managers in use on Unix-like systems. In order for applications
and window managers to work well together, a number of standards and and window managers to work well together, a number of standards and
conventions have been developed that regulate behavior outside the scope of the conventions have been developed that regulate behavior outside the scope of the
X11 API; most importantly the X11 API; most importantly the
<a href="http://www.tronche.com/gui/x/icccm/">Inter-Client Communication Conventions Manual</a> [Inter-Client Communication Conventions Manual](http://www.tronche.com/gui/x/icccm/)
(ICCCM) and (ICCCM) and
<a href="http://standards.freedesktop.org/wm-spec/wm-spec-latest.html">Extended Window Manager Hints</a> [Extended Window Manager Hints](http://standards.freedesktop.org/wm-spec/wm-spec-latest.html)
(EWMH) standards. (EWMH) standards.
GLFW uses the ICCCM @c WM_DELETE_WINDOW protocol to intercept the user GLFW uses the ICCCM `WM_DELETE_WINDOW` protocol to intercept the user
attempting to close the GLFW window. If the running window manager does not attempting to close the GLFW window. If the running window manager does not
support this protocol, the close callback will never be called. support this protocol, the close callback will never be called.
GLFW uses the EWMH @c _NET_WM_PING protocol, allowing the window manager notify GLFW uses the EWMH `_NET_WM_PING` protocol, allowing the window manager notify
the user when the application has stopped responding, i.e. when it has ceased to the user when the application has stopped responding, i.e. when it has ceased to
process events. If the running window manager does not support this protocol, process events. If the running window manager does not support this protocol,
the user will not be notified if the application locks up. the user will not be notified if the application locks up.
GLFW uses the EWMH @c _NET_WM_STATE protocol to tell the window manager to make GLFW uses the EWMH `_NET_WM_STATE` protocol to tell the window manager to make
the GLFW window fullscreen. If the running window manager does not support this the GLFW window fullscreen. If the running window manager does not support this
protocol, fullscreen windows may not work properly. GLFW has a fallback code protocol, fullscreen windows may not work properly. GLFW has a fallback code
path in case this protocol is unavailable, but every window manager behaves path in case this protocol is unavailable, but every window manager behaves
@ -45,63 +45,63 @@ slightly differently in this regard.
The GLX API is the default API used to create OpenGL contexts on Unix-like The GLX API is the default API used to create OpenGL contexts on Unix-like
systems using the X Window System. systems using the X Window System.
GLFW uses the @c GLXFBConfig API to enumerate and select framebuffer pixel GLFW uses the `GLXFBConfig` API to enumerate and select framebuffer pixel
formats. This requires either GLX 1.3 or greater, or the @c GLX_SGIX_fbconfig formats. This requires either GLX 1.3 or greater, or the `GLX_SGIX_fbconfig`
extension. Where both are available, the SGIX extension is preferred. If extension. Where both are available, the SGIX extension is preferred. If
neither is available, GLFW will be unable to create windows. neither is available, GLFW will be unable to create windows.
GLFW uses the @c GLX_MESA_swap_control, @c GLX_EXT_swap_control and @c GLFW uses the `GLX_MESA_swap_control,` `GLX_EXT_swap_control` and
GLX_SGI_swap_control extensions to provide vertical retrace synchronization (or `GLX_SGI_swap_control` extensions to provide vertical retrace synchronization
"vsync"), in that order of preference. Where none of these extension are (or "vsync"), in that order of preference. Where none of these extension are
available, calling @ref glfwSwapInterval will have no effect. available, calling @ref glfwSwapInterval will have no effect.
GLFW uses the @c GLX_ARB_multisample extension to create contexts with GLFW uses the `GLX_ARB_multisample` extension to create contexts with
multisampling anti-aliasing. Where this extension is unavailable, the @c multisampling anti-aliasing. Where this extension is unavailable, the
GLFW_SAMPLES hint will have no effect. `GLFW_SAMPLES` hint will have no effect.
GLFW uses the @c GLX_ARB_create_context extension when available, even when GLFW uses the `GLX_ARB_create_context` extension when available, even when
creating OpenGL contexts of version 2.1 and below. Where this extension is creating OpenGL contexts of version 2.1 and below. Where this extension is
unavailable, the @c GLFW_CONTEXT_VERSION_MAJOR and @c GLFW_CONTEXT_VERSION_MINOR unavailable, the `GLFW_CONTEXT_VERSION_MAJOR` and `GLFW_CONTEXT_VERSION_MINOR`
hints will only be partially supported, the @c GLFW_OPENGL_DEBUG_CONTEXT hint hints will only be partially supported, the `GLFW_OPENGL_DEBUG_CONTEXT` hint
will have no effect, and setting the @c GLFW_OPENGL_PROFILE or @c will have no effect, and setting the `GLFW_OPENGL_PROFILE` or
GLFW_OPENGL_FORWARD_COMPAT hints to a non-zero value will cause @ref `GLFW_OPENGL_FORWARD_COMPAT` hints to a non-zero value will cause @ref
glfwCreateWindow to fail. glfwCreateWindow to fail.
GLFW uses the @c GLX_ARB_create_context_profile extension to provide support for GLFW uses the `GLX_ARB_create_context_profile` extension to provide support for
context profiles. Where this extension is unavailable, setting the @c context profiles. Where this extension is unavailable, setting the
GLFW_OPENGL_PROFILE hint to anything but zero, or setting @c GLFW_CLIENT_API to `GLFW_OPENGL_PROFILE` hint to anything but zero, or setting `GLFW_CLIENT_API` to
anything but @c GLFW_OPENGL_API will cause @ref glfwCreateWindow to fail. anything but `GLFW_OPENGL_API` will cause @ref glfwCreateWindow to fail.
@section compat_wgl WGL extensions @section compat_wgl WGL extensions
The WGL API is used to create OpenGL contexts on Microsoft Windows and other The WGL API is used to create OpenGL contexts on Microsoft Windows and other
implementations of the Win32 API, such as Wine. implementations of the Win32 API, such as Wine.
GLFW uses either the @c WGL_EXT_extension_string or the @c GLFW uses either the `WGL_EXT_extension_string` or the
WGL_ARB_extension_string extension to check for the presence of all other WGL `WGL_ARB_extension_string` extension to check for the presence of all other WGL
extensions listed below. If both are available, the EXT one is preferred. If extensions listed below. If both are available, the EXT one is preferred. If
neither is available, no other extensions are used and many GLFW features neither is available, no other extensions are used and many GLFW features
related to context creation will have no effect or cause errors when used. related to context creation will have no effect or cause errors when used.
GLFW uses the @c WGL_EXT_swap_control extension to provide vertical retrace GLFW uses the `WGL_EXT_swap_control` extension to provide vertical retrace
synchronization (or "vsync"). Where this extension is unavailable, calling @ref synchronization (or "vsync"). Where this extension is unavailable, calling @ref
glfwSwapInterval will have no effect. glfwSwapInterval will have no effect.
GLFW uses the @c WGL_ARB_pixel_format and @c WGL_ARB_multisample extensions to GLFW uses the `WGL_ARB_pixel_format` and `WGL_ARB_multisample` extensions to
create contexts with multisampling anti-aliasing. Where these extensions are create contexts with multisampling anti-aliasing. Where these extensions are
unavailable, the @c GLFW_SAMPLES hint will have no effect. unavailable, the `GLFW_SAMPLES` hint will have no effect.
GLFW uses the @c WGL_ARB_create_context extension when available, even when GLFW uses the `WGL_ARB_create_context` extension when available, even when
creating OpenGL contexts of version 2.1 and below. Where this extension is creating OpenGL contexts of version 2.1 and below. Where this extension is
unavailable, the @c GLFW_CONTEXT_VERSION_MAJOR and @c GLFW_CONTEXT_VERSION_MINOR unavailable, the `GLFW_CONTEXT_VERSION_MAJOR` and `GLFW_CONTEXT_VERSION_MINOR`
hints will only be partially supported, the @c GLFW_OPENGL_DEBUG_CONTEXT hint hints will only be partially supported, the `GLFW_OPENGL_DEBUG_CONTEXT` hint
will have no effect, and setting the @c GLFW_OPENGL_PROFILE or @c will have no effect, and setting the `GLFW_OPENGL_PROFILE` or
GLFW_OPENGL_FORWARD_COMPAT hints to a non-zero value will cause @ref `GLFW_OPENGL_FORWARD_COMPAT` hints to a non-zero value will cause @ref
glfwCreateWindow to fail. glfwCreateWindow to fail.
GLFW uses the @c WGL_ARB_create_context_profile extension to provide support for GLFW uses the `WGL_ARB_create_context_profile` extension to provide support for
context profiles. Where this extension is unavailable, setting the @c context profiles. Where this extension is unavailable, setting the
GLFW_OPENGL_PROFILE hint to anything but zero will cause @ref glfwCreateWindow `GLFW_OPENGL_PROFILE` hint to anything but zero will cause @ref glfwCreateWindow
to fail. to fail.
@section cmopat_osx OpenGL 3.2 on Mac OS X @section cmopat_osx OpenGL 3.2 on Mac OS X
@ -111,17 +111,17 @@ then only forward-compatible OpenGL 3.2 core profile contexts are supported.
There is also still no mechanism for requesting debug contexts. Versions of There is also still no mechanism for requesting debug contexts. Versions of
Mac OS X earlier than 10.7 support at most OpenGL version 2.1. Mac OS X earlier than 10.7 support at most OpenGL version 2.1.
Because of this, on Mac OS X 10.7, the @c GLFW_CONTEXT_VERSION_MAJOR and Because of this, on Mac OS X 10.7, the `GLFW_CONTEXT_VERSION_MAJOR` and
@c GLFW_CONTEXT_VERSION_MINOR hints will fail if given a version above 3.2, the `GLFW_CONTEXT_VERSION_MINOR` hints will fail if given a version above 3.2, the
@c GLFW_OPENGL_FORWARD_COMPAT is required for creating OpenGL 3.2 contexts, the `GLFW_OPENGL_FORWARD_COMPAT` is required for creating OpenGL 3.2 contexts, the
@c GLFW_OPENGL_DEBUG_CONTEXT hint is ignored and setting the @c `GLFW_OPENGL_DEBUG_CONTEXT` hint is ignored and setting the
GLFW_OPENGL_PROFILE hint to anything except @c GLFW_OPENGL_CORE_PROFILE will `GLFW_OPENGL_PROFILE` hint to anything except `GLFW_OPENGL_CORE_PROFILE` will
cause @ref glfwCreateWindow to fail. cause @ref glfwCreateWindow to fail.
Also, on Mac OS X 10.6 and below, the @c GLFW_CONTEXT_VERSION_MAJOR and @c Also, on Mac OS X 10.6 and below, the `GLFW_CONTEXT_VERSION_MAJOR` and
GLFW_CONTEXT_VERSION_MINOR hints will fail if given a version above 2.1, the @c `GLFW_CONTEXT_VERSION_MINOR` hints will fail if given a version above 2.1, the
GLFW_OPENGL_DEBUG_CONTEXT hint will have no effect, and setting the @c `GLFW_OPENGL_DEBUG_CONTEXT` hint will have no effect, and setting the
GLFW_OPENGL_PROFILE or @c GLFW_OPENGL_FORWARD_COMPAT hints to a non-zero value `GLFW_OPENGL_PROFILE` or `GLFW_OPENGL_FORWARD_COMPAT` hints to a non-zero value
will cause @ref glfwCreateWindow to fail. will cause @ref glfwCreateWindow to fail.
*/ */

View File

@ -8,9 +8,9 @@ GLFW is a free, Open Source, multi-platform library for opening a window,
creating an OpenGL context and managing input. It is easy to integrate into creating an OpenGL context and managing input. It is easy to integrate into
existing applications and does not lay claim to the main loop. existing applications and does not lay claim to the main loop.
@link quick Quick introduction @endlink is a short tutorial for people new to GLFW. [Quick introduction](@ref quick) is a short tutorial for people new to GLFW.
@link moving Moving from GLFW 2 to 3 @endlink explains what has changed and how [Moving from GLFW 2 to 3](@ref moving) explains what has changed and how to
to update existing code to use the GLFW 3 API. update existing code to use the GLFW 3 API.
*/ */

View File

@ -2,19 +2,19 @@
@page moving Moving from GLFW 2 to 3 @page moving Moving from GLFW 2 to 3
This is a guide for people moving from GLFW 2 to 3. It describes API @em This is a guide for people moving from GLFW 2 to 3. It describes API *changes*,
changes, but does @em not include entirely new features unless they are required but does *not* include entirely new features unless they are required when
when moving an existing code base onto the new API. One example of this is the moving an existing code base onto the new API. One example of this is the new
new multi-monitor support, which you are now required to use to create multi-monitor support, which you are now required to use to create fullscreen
fullscreen windows. windows.
@section moving_names Library and header names @section moving_names Library and header names
The GLFW 3 header is named @ref glfw3.h, to avoid collisions with the GLFW 2 @c The GLFW 3 header is named @ref glfw3.h, to avoid collisions with the GLFW 2
glfw.h header, in case they are both installed. Similarly, the GLFW 3 library `glfw.h` header, in case they are both installed. Similarly, the GLFW 3 library
is named @c glfw3, except when it's installed as a shared library on is named `glfw3,` except when it's installed as a shared library on Unix-like
Unix-like systems, where it uses the systems, where it uses the [soname](https://en.wikipedia.org/wiki/soname)
<a href="https://en.wikipedia.org/wiki/soname">soname</a> @c libglfw.so.3 . `libglfw.so.3`.
@section moving_threads Removal of threading functions @section moving_threads Removal of threading functions
@ -31,11 +31,11 @@ The image and texture loading support has been removed.
Because GLFW 3 supports multiple windows, window handle parameters have been Because GLFW 3 supports multiple windows, window handle parameters have been
added to all window-related functions and callbacks. Window handles are of the added to all window-related functions and callbacks. Window handles are of the
@c GLFWwindow* type, i.e. a pointer to an opaque struct. `GLFWwindow*` type, i.e. a pointer to an opaque struct.
@section moving_monitor Multi-monitor support @section moving_monitor Multi-monitor support
GLFW 3 provides support for multiple monitors, adding the @c GLFWmonitor* handle GLFW 3 provides support for multiple monitors, adding the `GLFWmonitor*` handle
type and a set of related functions. To request a fullscreen mode window, you type and a set of related functions. To request a fullscreen mode window, you
need to specify which monitor you wish the window to use. There is @ref need to specify which monitor you wish the window to use. There is @ref
glfwGetPrimaryMonitor that provides something similar to the earlier behaviour. glfwGetPrimaryMonitor that provides something similar to the earlier behaviour.
@ -62,12 +62,12 @@ a window but before calling any OpenGL functions.
GLFW 3 uses the physical key locations named after the symbols they generate GLFW 3 uses the physical key locations named after the symbols they generate
using the US keyboard layout, instead of layout-dependent characters like in using the US keyboard layout, instead of layout-dependent characters like in
GLFW 2. This means that (for example) @c GLFW_KEY_BACKSLASH is always a single GLFW 2. This means that (for example) `GLFW_KEY_BACKSLASH` is always a single
key and is the same key in the same place regardless of what keyboard layouts key and is the same key in the same place regardless of what keyboard layouts
the users of your program has. the users of your program has.
GLFW 3 has key tokens for all keys, so instead of trying to remember whether to GLFW 3 has key tokens for all keys, so instead of trying to remember whether to
check for @c 'a' or @c 'A', you now check for @c GLFW_KEY_A. check for `'a'` or `'A'`, you now check for `GLFW_KEY_A`.
The key input facility was never meant for text input, although using it that The key input facility was never meant for text input, although using it that
way worked slightly better in GLFW 2. If you were using it to input text, you way worked slightly better in GLFW 2. If you were using it to input text, you
@ -76,7 +76,7 @@ give you the characters being input, as opposed to the keys being pressed.
@section moving_video_modes Video mode enumeration @section moving_video_modes Video mode enumeration
Video mode enumeration is now per-monitor. The @c glfwGetDesktopMode function Video mode enumeration is now per-monitor. The `glfwGetDesktopMode` function
has been replaced by @ref glfwGetVideoMode, which returns the current mode of has been replaced by @ref glfwGetVideoMode, which returns the current mode of
a monitor. The @ref glfwGetVideoMode function now returns all available modes a monitor. The @ref glfwGetVideoMode function now returns all available modes
for a monitor instead of requiring you to guess how large an array you need. for a monitor instead of requiring you to guess how large an array you need.
@ -84,7 +84,7 @@ for a monitor instead of requiring you to guess how large an array you need.
@section moving_glu GLU header inclusion @section moving_glu GLU header inclusion
Unlike GLFW 2, GLFW 3 doesn't include the GLU header by default, but you can Unlike GLFW 2, GLFW 3 doesn't include the GLU header by default, but you can
make it do so by defining @c GLFW_INCLUDE_GLU before including the GLFW make it do so by defining `GLFW_INCLUDE_GLU` before including the GLFW
3 header. 3 header.
@section moving_cursor Cursor positioning @section moving_cursor Cursor positioning
@ -97,183 +97,43 @@ function fails silently.
@subsection moving_renamed_functions Renamed functions @subsection moving_renamed_functions Renamed functions
<table> | GLFW 2 | GLFW 3 | Notes |
<tr> | --------------------------- | ----------------------------- | ----- |
<td>GLFW 2</td> | `glfwOpenWindow` | @ref glfwCreateWindow | All channel bit depths are now hints<br />Accepts initial window title, optional monitor to go fullscreen on and optional context to share objects with |
<td>GLFW 3</td> | `glfwCloseWindow` | @ref glfwDestroyWindow | |
<td>Notes</td> | `glfwOpenWindowHint` | @ref glfwWindowHint | Now accepts all `GLFW_*_BITS` tokens |
</tr> | `glfwEnable` | @ref glfwSetInputMode | |
<tr> | `glfwDisable` | @ref glfwSetInputMode | |
<td>@c glfwOpenWindow</td> | `glfwGetMousePos` | @ref glfwGetCursorPos | |
<td>@ref glfwCreateWindow</td> | `glfwSetMousePos` | @ref glfwSetCursorPos | |
<td>All channel bit depths are now hints<br />The defaults are 24-bit color | `glfwSetMousePosCallback` | @ref glfwSetCursorPosCallback | |
and depth buffers<br />Accepts initial window title, optional monitor to go | `glfwSetMouseWheelCallback` | @ref glfwSetScrollCallback | Accepts two-dimensional scroll offsets as doubles |
fullscreen on and optional context to share objects with</td> | `glfwGetJoystickPos` | @ref glfwGetJoystickAxes | |
</tr> | `glfwGetGLVersion` | @ref glfwGetWindowParam | Use `GLFW_OPENGL_VERSION_MAJOR`, `GLFW_OPENGL_VERSION_MINOR` and `GLFW_OPENGL_REVISION` |
<tr> | `glfwGetDesktopMode` | @ref glfwGetVideoMode | Returns the current mode of a monitor |
<td>@c glfwCloseWindow</td>
<td>@ref glfwDestroyWindow</td>
<td></td>
</tr>
<tr>
<td>@c glfwOpenWindowHint</td>
<td>@ref glfwWindowHint</td>
<td>Now also accepts @c GLFW_RED_BITS, @c GLFW_GREEN_BITS, @c
GLFW_BLUE_BITS, @c GLFW_ALPHA_BITS, @c GLFW_DEPTH_BITS and @c
GLFW_STENCIL_BITS</td>
</tr>
<tr>
<td>@c glfwEnable</td>
<td>@ref glfwSetInputMode</td>
<td></td>
</tr>
<tr>
<td>@c glfwDisable</td>
<td>@ref glfwSetInputMode</td>
<td></td>
</tr>
<tr>
<td>@c glfwGetMousePos</td>
<td>@ref glfwGetCursorPos</td>
<td></td>
</tr>
<tr>
<td>@c glfwSetMousePos</td>
<td>@ref glfwSetCursorPos</td>
<td></td>
</tr>
<tr>
<td>@c glfwSetMousePosCallback</td>
<td>@ref glfwSetCursorPosCallback</td>
<td></td>
</tr>
<tr>
<td>@c glfwSetMouseWheelCallback</td>
<td>@ref glfwSetScrollCallback</td>
<td>Accepts two-dimensional scroll offsets as doubles</td>
</tr>
<tr>
<td>@c glfwGetJoystickPos</td>
<td>@ref glfwGetJoystickAxes</td>
<td></td>
</tr>
<tr>
<td>@c glfwGetGLVersion</td>
<td>@ref glfwGetWindowParam</td>
<td>Use @c GLFW_OPENGL_VERSION_MAJOR, @c GLFW_OPENGL_VERSION_MINOR and @c
GLFW_OPENGL_REVISION</td>
</tr>
<tr>
<td>@c glfwGetDesktopMode</td>
<td>@ref glfwGetVideoMode</td>
<td>Returns the current mode of a monitor</td>
</tr>
</table>
@subsection moving_renamed_tokens Renamed tokens @subsection moving_renamed_tokens Renamed tokens
<table> | GLFW 2 | GLFW 3 | Notes |
<tr> | --------------------------- | ---------------------------- | ----- |
<td>GLFW 2</td> | `GLFW_OPENGL_VERSION_MAJOR` | `GLFW_CONTEXT_VERSION_MAJOR` | Renamed as it applies to OpenGL ES as well |
<td>GLFW 3</td> | `GLFW_OPENGL_VERSION_MINOR` | `GLFW_CONTEXT_VERSION_MINOR` | Renamed as it applies to OpenGL ES as well |
<td>Notes</td> | `GLFW_FSAA_SAMPLES` | `GLFW_SAMPLES` | Renamed to match the OpenGL API |
</tr> | `GLFW_ACTIVE` | `GLFW_FOCUSED` | Renamed to match the window focus callback |
<tr> | `GLFW_WINDOW_NO_RESIZE` | `GLFW_RESIZABLE` | The default has been inverted |
<td>@c GLFW_OPENGL_VERSION_MAJOR</td> | `GLFW_MOUSE_CURSOR` | `GLFW_CURSOR_MODE` | Used with @ref glfwSetInputMode |
<td>@c GLFW_CONTEXT_VERSION_MAJOR</td> | `GLFW_KEY_ESC` | `GLFW_KEY_ESCAPE` | |
<td>Renamed as it applies to OpenGL ES as well</td> | `GLFW_KEY_DEL` | `GLFW_KEY_DELETE` | |
</tr> | `GLFW_KEY_PAGEUP` | `GLFW_KEY_PAGE_UP` | |
<tr> | `GLFW_KEY_PAGEDOWN` | `GLFW_KEY_PAGE_DOWN` | |
<td>@c GLFW_OPENGL_VERSION_MINOR</td> | `GLFW_KEY_KP_NUM_LOCK` | `GLFW_KEY_NUM_LOCK` | |
<td>@c GLFW_CONTEXT_VERSION_MINOR</td> | `GLFW_KEY_LCTRL` | `GLFW_KEY_LEFT_CONTROL` | |
<td>Renamed as it applies to OpenGL ES as well</td> | `GLFW_KEY_LSHIFT` | `GLFW_KEY_LEFT_SHIFT` | |
</tr> | `GLFW_KEY_LALT` | `GLFW_KEY_LEFT_ALT` | |
<tr> | `GLFW_KEY_LSUPER` | `GLFW_KEY_LEFT_SUPER` | |
<td>@c GLFW_FSAA_SAMPLES</td> | `GLFW_KEY_RCTRL` | `GLFW_KEY_RIGHT_CONTROL` | |
<td>@c GLFW_SAMPLES</td> | `GLFW_KEY_RSHIFT` | `GLFW_KEY_RIGHT_SHIFT` | |
<td>Renamed to match the OpenGL API</td> | `GLFW_KEY_RALT` | `GLFW_KEY_RIGHT_ALT` | |
</tr> | `GLFW_KEY_RSUPER` | `GLFW_KEY_RIGHT_SUPER` | |
<tr>
<td>@c GLFW_ACTIVE</td>
<td>@c GLFW_FOCUSED</td>
<td>Renamed to match the window focus callback</td>
</tr>
<tr>
<td>@c GLFW_WINDOW_NO_RESIZE</td>
<td>@c GLFW_RESIZABLE</td>
<td>The default has been inverted</td>
</tr>
<tr>
<td>@c GLFW_MOUSE_CURSOR</td>
<td>@c GLFW_CURSOR_MODE</td>
<td>Used with @c glfwSetInputMode<br />Accepts @c GLFW_CURSOR_NORMAL, @c
GLFW_CURSOR_HIDDEN and @c GLFW_CURSOR_CAPTURED</td>
</tr>
<tr>
<td>@c GLFW_KEY_ESC</td>
<td>@c GLFW_KEY_ESCAPE</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_DEL</td>
<td>@c GLFW_KEY_DELETE</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_PAGEUP</td>
<td>@c GLFW_KEY_PAGE_UP</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_PAGEDOWN</td>
<td>@c GLFW_KEY_PAGE_DOWN</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_KP_NUM_LOCK</td>
<td>@c GLFW_KEY_NUM_LOCK</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_LCTRL</td>
<td>@c GLFW_KEY_LEFT_CONTROL</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_LSHIFT</td>
<td>@c GLFW_KEY_LEFT_SHIFT</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_LALT</td>
<td>@c GLFW_KEY_LEFT_ALT</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_LSUPER</td>
<td>@c GLFW_KEY_LEFT_SUPER</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_RCTRL</td>
<td>@c GLFW_KEY_RIGHT_CONTROL</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_RSHIFT</td>
<td>@c GLFW_KEY_RIGHT_SHIFT</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_RALT</td>
<td>@c GLFW_KEY_RIGHT_ALT</td>
<td></td>
</tr>
<tr>
<td>@c GLFW_KEY_RSUPER</td>
<td>@c GLFW_KEY_RIGHT_SUPER</td>
<td></td>
</tr>
</table>
*/ */

View File

@ -23,25 +23,25 @@ This defines all the constants, types and function prototypes of the GLFW API.
It also includes the OpenGL header, and defines all the constants and types It also includes the OpenGL header, and defines all the constants and types
necessary for it to work on your platform. necessary for it to work on your platform.
For example, under Windows you are normally required to include @c windows.h For example, under Windows you are normally required to include `windows.h`
before including @c GL/gl.h. This would make your source file tied to Windows before including `GL/gl.h`. This would make your source file tied to Windows
and pollute your code's namespace with the whole Win32 API. and pollute your code's namespace with the whole Win32 API.
Instead, the GLFW header takes care of this for you, not by including @c Instead, the GLFW header takes care of this for you, not by including
windows.h, but rather by itself duplicating only the necessary parts of it. It `windows.h`, but rather by itself duplicating only the necessary parts of it.
does this only where needed, so if @c windows.h @em is included, the GLFW header It does this only where needed, so if `windows.h` *is* included, the GLFW header
does not try to redefine those symbols. does not try to redefine those symbols.
In other words: In other words:
@arg Do @em not include the OpenGL headers yourself, as GLFW does this for you * Do *not* include the OpenGL headers yourself, as GLFW does this for you Do
@arg Do @em not include @c windows.h or other platform-specific headers unless * *not* include `windows.h` or other platform-specific headers unless
you plan on using those APIs directly you plan on using those APIs directly
@arg If you @em do need to include such headers, do it @em before including the * If you *do* need to include such headers, do it *before* including the
GLFW and it will detect this GLFW and it will detect this
Starting with version 3.0, the GLU header @c glu.h is no longer included by Starting with version 3.0, the GLU header `glu.h` is no longer included by
default. If you wish to include it, define @c GLFW_INCLUDE_GLU before the default. If you wish to include it, define `GLFW_INCLUDE_GLU` before the
inclusion of the GLFW header. inclusion of the GLFW header.
@code @code
@ -84,7 +84,7 @@ In case @ref glfwInit or any other GLFW function fails, an error is reported to
the GLFW error callback. You can receive these reports by setting the error the GLFW error callback. You can receive these reports by setting the error
callback. The callback function itself should match the signature of @ref callback. The callback function itself should match the signature of @ref
GLFWerrorfun. Here is a simple error callback that just prints the error GLFWerrorfun. Here is a simple error callback that just prints the error
description to @c stderr. description to `stderr`.
@code @code
void error_callback(int error, const char* description) void error_callback(int error, const char* description)
@ -113,7 +113,7 @@ pixels windowed mode window:
GLFWwindow* window = glfwCreateWindow(640, 480, "My Title", NULL, NULL); GLFWwindow* window = glfwCreateWindow(640, 480, "My Title", NULL, NULL);
@endcode @endcode
If window creation fails, @c NULL will be returned, so you need to check whether If window creation fails, `NULL` will be returned, so you need to check whether
it did. it did.
@code @code
@ -170,9 +170,9 @@ be checked with @ref glfwWindowShouldClose.
When the user attempts to close the window, either by pressing the close widget When the user attempts to close the window, either by pressing the close widget
in the title bar or using a key combination like Alt+F4, this flag is set to 1. in the title bar or using a key combination like Alt+F4, this flag is set to 1.
Note that <b>the window isn't actually closed</b>, so you are expected to Note that **the window isn't actually closed**, so you are expected to monitor
monitor this flag and either destroy the window or give some kind of feedback to this flag and either destroy the window or give some kind of feedback to the
the user. user.
@code @code
while (!glfwWindowShouldClose(window)) while (!glfwWindowShouldClose(window))
@ -194,10 +194,10 @@ for example pressing the escape key.
Once you have a current OpenGL context, you can use OpenGL normally. In this Once you have a current OpenGL context, you can use OpenGL normally. In this
tutorial, a multi-colored rotating triangle will be rendered. The window size, tutorial, a multi-colored rotating triangle will be rendered. The window size,
needed here by @c glViewport and @c glOrtho, is retrieved using @ref needed here by `glViewport` and `glOrtho`, is retrieved using @ref
glfwGetWindowSize. However, if you only need it for updating the viewport when glfwGetWindowSize. However, if you only need it for updating the viewport when
the window size changes, you can set a window size callback using @ref the window size changes, you can set a window size callback using @ref
glfwSetWindowSizeCallback and call @c glViewport from there. glfwSetWindowSizeCallback and call `glViewport` from there.
@code @code
void window_size_callback(GLFWwindow* window, int width, int height) void window_size_callback(GLFWwindow* window, int width, int height)
@ -211,7 +211,7 @@ void window_size_callback(GLFWwindow* window, int width, int height)
For the triangle to rotate properly, a time source is needed. GLFW provides For the triangle to rotate properly, a time source is needed. GLFW provides
@ref glfwGetTime, which returns the number of seconds since @ref glfwInit as @ref glfwGetTime, which returns the number of seconds since @ref glfwInit as
a @c double. The time source used is the most accurate on each platform and a `double`. The time source used is the most accurate on each platform and
generally has micro- or nanosecond resolution. generally has micro- or nanosecond resolution.
@code @code

View File

@ -559,7 +559,7 @@ typedef struct GLFWmonitor GLFWmonitor;
typedef struct GLFWwindow GLFWwindow; typedef struct GLFWwindow GLFWwindow;
/*! @brief The function signature for error callbacks. /*! @brief The function signature for error callbacks.
* @param[in] error An @link errors error code @endlink. * @param[in] error An [error code](@ref errors).
* @param[in] description A UTF-8 encoded string describing the error. * @param[in] description A UTF-8 encoded string describing the error.
* @ingroup error * @ingroup error
* *
@ -607,7 +607,7 @@ typedef void (* GLFWwindowrefreshfun)(GLFWwindow*);
/*! @brief The function signature for window focus/defocus callbacks. /*! @brief The function signature for window focus/defocus callbacks.
* @param[in] window The window that was focused or defocused. * @param[in] window The window that was focused or defocused.
* @param[in] focused @c GL_TRUE if the window was focused, or @c GL_FALSE if * @param[in] focused `GL_TRUE` if the window was focused, or `GL_FALSE` if
* it was defocused. * it was defocused.
* @ingroup window * @ingroup window
* *
@ -617,7 +617,7 @@ typedef void (* GLFWwindowfocusfun)(GLFWwindow*,int);
/*! @brief The function signature for window iconify/restore callbacks. /*! @brief The function signature for window iconify/restore callbacks.
* @param[in] window The window that was iconified or restored. * @param[in] window The window that was iconified or restored.
* @param[in] iconified @c GL_TRUE if the window was iconified, or @c GL_FALSE * @param[in] iconified `GL_TRUE` if the window was iconified, or `GL_FALSE`
* if it was restored. * if it was restored.
* @ingroup window * @ingroup window
* *
@ -627,9 +627,9 @@ typedef void (* GLFWwindowiconifyfun)(GLFWwindow*,int);
/*! @brief The function signature for mouse button callbacks. /*! @brief The function signature for mouse button callbacks.
* @param[in] window The window that received the event. * @param[in] window The window that received the event.
* @param[in] button The @link buttons mouse button @endlink that was pressed * @param[in] button The [mouse button](@ref buttons) that was pressed or
* or released. * released.
* @param[in] action One of @c GLFW_PRESS or @c GLFW_RELEASE. * @param[in] action One of `GLFW_PRESS` or `GLFW_RELEASE`.
* @ingroup input * @ingroup input
* *
* @sa glfwSetMouseButtonCallback * @sa glfwSetMouseButtonCallback
@ -648,8 +648,8 @@ typedef void (* GLFWcursorposfun)(GLFWwindow*,int,int);
/*! @brief The function signature for cursor enter/exit callbacks. /*! @brief The function signature for cursor enter/exit callbacks.
* @param[in] window The window that received the event. * @param[in] window The window that received the event.
* @param[in] entered @c GL_TRUE if the cursor entered the window's client * @param[in] entered `GL_TRUE` if the cursor entered the window's client
* area, or @c GL_FALSE if it left it. * area, or `GL_FALSE` if it left it.
* @ingroup input * @ingroup input
* *
* @sa glfwSetCursorEnterCallback * @sa glfwSetCursorEnterCallback
@ -668,8 +668,7 @@ typedef void (* GLFWscrollfun)(GLFWwindow*,double,double);
/*! @brief The function signature for keyboard key callbacks. /*! @brief The function signature for keyboard key callbacks.
* @param[in] window The window that received the event. * @param[in] window The window that received the event.
* @param[in] key The @link keys keyboard key @endlink that was pressed or * @param[in] key The [keyboard key](@ref keys) that was pressed or released.
* released.
* @param[in] action @ref GLFW_PRESS, @ref GLFW_RELEASE or @ref GLFW_REPEAT. * @param[in] action @ref GLFW_PRESS, @ref GLFW_RELEASE or @ref GLFW_REPEAT.
* @ingroup input * @ingroup input
* *
@ -688,7 +687,7 @@ typedef void (* GLFWcharfun)(GLFWwindow*,unsigned int);
/*! @brief The function signature for monitor configuration callbacks. /*! @brief The function signature for monitor configuration callbacks.
* @param[in] monitor The monitor that was connected or disconnected. * @param[in] monitor The monitor that was connected or disconnected.
* @param[in] event One of @c GLFW_CONNECTED or @c GLFW_DISCONNECTED. * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`.
* @ingroup monitor * @ingroup monitor
* *
* @sa glfwSetMonitorCallback * @sa glfwSetMonitorCallback
@ -728,7 +727,7 @@ typedef struct
* a program terminates GLFW should be terminated in order to free allocated * a program terminates GLFW should be terminated in order to free allocated
* resources, memory, etc. * resources, memory, etc.
* *
* @return @c GL_TRUE if successful, or @c GL_FALSE if an error occurred. * @return `GL_TRUE` if successful, or `GL_FALSE` if an error occurred.
* @ingroup init * @ingroup init
* *
* @remarks Additional calls to this function after successful initialization * @remarks Additional calls to this function after successful initialization
@ -739,8 +738,8 @@ typedef struct
* @note This function may take several seconds to complete on some systems, * @note This function may take several seconds to complete on some systems,
* while on other systems it may take only a fraction of a second to complete. * while on other systems it may take only a fraction of a second to complete.
* *
* @note <b>Mac OS X:</b> This function will change the current directory of the * @note **Mac OS X:** This function will change the current directory of the
* application to the @c Contents/Resources subdirectory of the application's * application to the `Contents/Resources` subdirectory of the application's
* bundle, if present. * bundle, if present.
* *
* @sa glfwTerminate * @sa glfwTerminate
@ -766,9 +765,9 @@ GLFWAPI int glfwInit(void);
GLFWAPI void glfwTerminate(void); GLFWAPI void glfwTerminate(void);
/*! @brief Retrieves the version of the GLFW library. /*! @brief Retrieves the version of the GLFW library.
* @param[out] major Where to store the major version number, or @c NULL. * @param[out] major Where to store the major version number, or `NULL`.
* @param[out] minor Where to store the minor version number, or @c NULL. * @param[out] minor Where to store the minor version number, or `NULL`.
* @param[out] rev Where to store the revision number, or @c NULL. * @param[out] rev Where to store the revision number, or `NULL`.
* @ingroup init * @ingroup init
* *
* @remarks This function may be called before @ref glfwInit. * @remarks This function may be called before @ref glfwInit.
@ -798,7 +797,7 @@ GLFWAPI void glfwGetVersion(int* major, int* minor, int* rev);
GLFWAPI const char* glfwGetVersionString(void); GLFWAPI const char* glfwGetVersionString(void);
/*! @brief Sets the error callback. /*! @brief Sets the error callback.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup error * @ingroup error
* *
@ -817,7 +816,7 @@ GLFWAPI void glfwSetErrorCallback(GLFWerrorfun cbfun);
/*! @brief Returns the currently connected monitors. /*! @brief Returns the currently connected monitors.
* @param[out] count The size of the returned array. * @param[out] count The size of the returned array.
* @return An array of monitor handles, or @c NULL if an error occurred. * @return An array of monitor handles, or `NULL` if an error occurred.
* @ingroup monitor * @ingroup monitor
* *
* @sa glfwGetPrimaryMonitor * @sa glfwGetPrimaryMonitor
@ -825,7 +824,7 @@ GLFWAPI void glfwSetErrorCallback(GLFWerrorfun cbfun);
GLFWAPI GLFWmonitor** glfwGetMonitors(int* count); GLFWAPI GLFWmonitor** glfwGetMonitors(int* count);
/*! @brief Returns the primary monitor. /*! @brief Returns the primary monitor.
* @return The primary monitor, or @c NULL if an error occurred. * @return The primary monitor, or `NULL` if an error occurred.
* @ingroup monitor * @ingroup monitor
* *
* @sa glfwGetMonitors * @sa glfwGetMonitors
@ -850,14 +849,14 @@ GLFWAPI void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* width, int* h
/*! @brief Returns the name of the specified monitor. /*! @brief Returns the name of the specified monitor.
* @param[in] monitor The monitor to query. * @param[in] monitor The monitor to query.
* @return The UTF-8 encoded name of the monitor, or @c NULL if an error * @return The UTF-8 encoded name of the monitor, or `NULL` if an error
* occurred. * occurred.
* @ingroup monitor * @ingroup monitor
*/ */
GLFWAPI const char* glfwGetMonitorName(GLFWmonitor* monitor); GLFWAPI const char* glfwGetMonitorName(GLFWmonitor* monitor);
/*! @brief Sets the monitor configuration callback. /*! @brief Sets the monitor configuration callback.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup monitor * @ingroup monitor
*/ */
@ -866,7 +865,7 @@ GLFWAPI void glfwSetMonitorCallback(GLFWmonitorfun cbfun);
/*! @brief Returns the available video modes for the specified monitor. /*! @brief Returns the available video modes for the specified monitor.
* @param[in] monitor The monitor to query. * @param[in] monitor The monitor to query.
* @param[out] count The number of video modes in the returned array. * @param[out] count The number of video modes in the returned array.
* @return An array of video modes, or @c NULL if an error occurred. * @return An array of video modes, or `NULL` if an error occurred.
* @ingroup monitor * @ingroup monitor
* *
* @sa glfwGetVideoMode * @sa glfwGetVideoMode
@ -913,21 +912,21 @@ GLFWAPI void glfwSetGammaRamp(GLFWmonitor* monitor, const GLFWgammaramp* ramp);
/*! @brief Resets all window hints to their default values /*! @brief Resets all window hints to their default values
* *
* The @c GLFW_RED_BITS, @c GLFW_GREEN_BITS, @c GLFW_BLUE_BITS, @c * The `GLFW_RED_BITS`, `GLFW_GREEN_BITS`, `GLFW_BLUE_BITS`, `GLFW_ALPHA_BITS`
* GLFW_ALPHA_BITS and @c GLFW_STENCIL_BITS hints are set to 8. * and `GLFW_STENCIL_BITS` hints are set to 8.
* *
* The @c GLFW_DEPTH_BITS hint is set to 24. * The `GLFW_DEPTH_BITS` hint is set to 24.
* *
* The @c GLFW_VISIBLE and @c GLFW_RESIZABLE hints are set to 1. * The `GLFW_VISIBLE` and `GLFW_RESIZABLE` hints are set to 1.
* *
* The @c GLFW_CLIENT_API hint is set to @c GLFW_OPENGL_API. * The `GLFW_CLIENT_API` hint is set to `GLFW_OPENGL_API`.
* *
* The @c GLFW_CONTEXT_VERSION_MAJOR and @c GLFW_CONTEXT_VERSION_MINOR * The `GLFW_CONTEXT_VERSION_MAJOR` and `GLFW_CONTEXT_VERSION_MINOR` hints are
* hints are set to 1 and 0, respectively. * set to 1 and 0, respectively.
* *
* The @c GLFW_CONTEXT_ROBUSTNESS hint is set to @c GLFW_NO_ROBUSTNESS. * The `GLFW_CONTEXT_ROBUSTNESS` hint is set to `GLFW_NO_ROBUSTNESS`.
* *
* The @c GLFW_OPENGL_PROFILE hint is set to @c GLFW_OPENGL_NO_PROFILE. * The `GLFW_OPENGL_PROFILE` hint is set to `GLFW_OPENGL_NO_PROFILE`.
* *
* All other hints are set to 0. * All other hints are set to 0.
* *
@ -952,54 +951,54 @@ GLFWAPI void glfwDefaultWindowHints(void);
* @par Hard and soft constraints * @par Hard and soft constraints
* *
* Some window hints are hard constraints. These must match the available * Some window hints are hard constraints. These must match the available
* capabilities @em exactly for window and context creation to succeed. Hints * capabilities *exactly* for window and context creation to succeed. Hints
* that are not hard constraints are matched as closely as possible, but the * that are not hard constraints are matched as closely as possible, but the
* resulting window and context may differ from what these hints requested. To * resulting window and context may differ from what these hints requested. To
* find out the actual parameters of the created window and context, use the * find out the actual parameters of the created window and context, use the
* @ref glfwGetWindowParam function. * @ref glfwGetWindowParam function.
* *
* The following hints are hard constraints: * The following hints are hard constraints:
* @arg @c GLFW_STEREO * * `GLFW_STEREO`
* @arg @c GLFW_CLIENT_API * * `GLFW_CLIENT_API`
* *
* The following additional hints are hard constraints if requesting an OpenGL * The following additional hints are hard constraints if requesting an OpenGL
* context: * context:
* @arg @c GLFW_OPENGL_FORWARD_COMPAT * * `GLFW_OPENGL_FORWARD_COMPAT`
* @arg @c GLFW_OPENGL_PROFILE * * `GLFW_OPENGL_PROFILE`
* *
* Hints that do not apply to a given type of window or context are ignored. * Hints that do not apply to a given type of window or context are ignored.
* *
* @par Framebuffer hints * @par Framebuffer hints
* *
* The @c GLFW_RED_BITS, @c GLFW_GREEN_BITS, @c GLFW_BLUE_BITS, @c * The `GLFW_RED_BITS`, `GLFW_GREEN_BITS`, `GLFW_BLUE_BITS`, `GLFW_ALPHA_BITS`,
* GLFW_ALPHA_BITS, @c GLFW_DEPTH_BITS and @c GLFW_STENCIL_BITS hints specify * `GLFW_DEPTH_BITS` and `GLFW_STENCIL_BITS` hints specify the desired bit
* the desired bit depths of the various components of the default framebuffer. * depths of the various components of the default framebuffer.
* *
* The @c GLFW_ACCUM_RED_BITS, @c GLFW_ACCUM_GREEN_BITS, @c * The `GLFW_ACCUM_RED_BITS`, `GLFW_ACCUM_GREEN_BITS`, `GLFW_ACCUM_BLUE_BITS`
* GLFW_ACCUM_BLUE_BITS and @c GLFW_ACCUM_ALPHA_BITS hints specify the desired * and `GLFW_ACCUM_ALPHA_BITS` hints specify the desired bit depths of the
* bit depths of the various components of the accumulation buffer. * various components of the accumulation buffer.
* *
* The @c GLFW_AUX_BUFFERS hint specifies the desired number of auxiliary * The `GLFW_AUX_BUFFERS` hint specifies the desired number of auxiliary
* buffers. * buffers.
* *
* The @c GLFW_STEREO hint specifies whether to use stereoscopic rendering. * The `GLFW_STEREO` hint specifies whether to use stereoscopic rendering.
* *
* The @c GLFW_SAMPLES hint specifies the desired number of samples to use * The `GLFW_SAMPLES` hint specifies the desired number of samples to use for
* for multisampling. * multisampling.
* *
* The @c GLFW_SRGB_CAPABLE hint specifies whether the framebuffer should be * The `GLFW_SRGB_CAPABLE` hint specifies whether the framebuffer should be
* sRGB capable. * sRGB capable.
* *
* @par Context hints * @par Context hints
* *
* The @c GLFW_CLIENT_API hint specifies which client API to create the context * The `GLFW_CLIENT_API` hint specifies which client API to create the context
* for. Possible values are @c GLFW_OPENGL_API and @c GLFW_OPENGL_ES_API. * for. Possible values are `GLFW_OPENGL_API` and `GLFW_OPENGL_ES_API`.
* *
* The @c GLFW_CONTEXT_VERSION_MAJOR and @c GLFW_CONTEXT_VERSION_MINOR hints * The `GLFW_CONTEXT_VERSION_MAJOR` and `GLFW_CONTEXT_VERSION_MINOR` hints
* specify the client API version that the created context must be compatible * specify the client API version that the created context must be compatible
* with. * with.
* *
* For OpenGL, these hints are @em not hard constraints, as they don't have to * For OpenGL, these hints are *not* hard constraints, as they don't have to
* match exactly, but @ref glfwCreateWindow will still fail if the resulting * match exactly, but @ref glfwCreateWindow will still fail if the resulting
* OpenGL version is less than the one requested. It is therefore perfectly * OpenGL version is less than the one requested. It is therefore perfectly
* safe to use the default of version 1.0 for legacy code and you will still * safe to use the default of version 1.0 for legacy code and you will still
@ -1008,36 +1007,36 @@ GLFWAPI void glfwDefaultWindowHints(void);
* For OpenGL ES, these hints are hard constraints, as there is no backward * For OpenGL ES, these hints are hard constraints, as there is no backward
* compatibility between OpenGL ES versions. * compatibility between OpenGL ES versions.
* *
* If an OpenGL context is requested, the @c GLFW_OPENGL_FORWARD_COMPAT hint * If an OpenGL context is requested, the `GLFW_OPENGL_FORWARD_COMPAT` hint
* specifies whether the OpenGL context should be forward-compatible, i.e. one * specifies whether the OpenGL context should be forward-compatible, i.e. one
* where all functionality deprecated in the requested version of OpenGL is * where all functionality deprecated in the requested version of OpenGL is
* removed. This may only be used if the requested OpenGL version is 3.0 or * removed. This may only be used if the requested OpenGL version is 3.0 or
* above. If another client API is requested, this hint is ignored. * above. If another client API is requested, this hint is ignored.
* *
* If an OpenGL context is requested, the @c GLFW_OPENGL_DEBUG_CONTEXT hint * If an OpenGL context is requested, the `GLFW_OPENGL_DEBUG_CONTEXT` hint
* specifies whether to create a debug OpenGL context, which may have * specifies whether to create a debug OpenGL context, which may have
* additional error and performance issue reporting functionality. If another * additional error and performance issue reporting functionality. If another
* client API is requested, this hint is ignored. * client API is requested, this hint is ignored.
* *
* If an OpenGL context is requested, the @c GLFW_OPENGL_PROFILE hint * If an OpenGL context is requested, the `GLFW_OPENGL_PROFILE` hint specifies
* specifies which OpenGL profile to create the context for. Possible values * which OpenGL profile to create the context for. Possible values are one of
* are one of @c GLFW_OPENGL_CORE_PROFILE or @c GLFW_OPENGL_COMPAT_PROFILE, * `GLFW_OPENGL_CORE_PROFILE` or `GLFW_OPENGL_COMPAT_PROFILE`, or
* or @c GLFW_OPENGL_NO_PROFILE to not request a specific profile. If * `GLFW_OPENGL_NO_PROFILE` to not request a specific profile. If requesting
* requesting an OpenGL version below 3.2, @c GLFW_OPENGL_NO_PROFILE must be * an OpenGL version below 3.2, `GLFW_OPENGL_NO_PROFILE` must be used. If
* used. If another client API is requested, this hint is ignored. * another client API is requested, this hint is ignored.
* *
* The @c GLFW_CONTEXT_ROBUSTNESS hint specifies the robustness strategy to * The `GLFW_CONTEXT_ROBUSTNESS` hint specifies the robustness strategy to be
* be used by the context. This can be one of @c GLFW_NO_RESET_NOTIFICATION * used by the context. This can be one of `GLFW_NO_RESET_NOTIFICATION` or
* or @c GLFW_LOSE_CONTEXT_ON_RESET, or @c GLFW_NO_ROBUSTNESS to not * `GLFW_LOSE_CONTEXT_ON_RESET`, or `GLFW_NO_ROBUSTNESS` to not request
* request a robustness strategy. * a robustness strategy.
* *
* @par Window hints * @par Window hints
* *
* The @c GLFW_RESIZABLE hint specifies whether the window will be resizable * The `GLFW_RESIZABLE` hint specifies whether the window will be resizable by
* by the user. The window will still be resizable using the @ref * the user. The window will still be resizable using the @ref
* glfwSetWindowSize function. This hint is ignored for fullscreen windows. * glfwSetWindowSize function. This hint is ignored for fullscreen windows.
* *
* The @c GLFW_VISIBLE hint specifies whether the window will be initially * The `GLFW_VISIBLE` hint specifies whether the window will be initially
* visible. This hint is ignored for fullscreen windows. * visible. This hint is ignored for fullscreen windows.
* *
* @note This function may only be called from the main thread. * @note This function may only be called from the main thread.
@ -1053,11 +1052,11 @@ GLFWAPI void glfwWindowHint(int target, int hint);
* @param[in] height The desired height, in pixels, of the window. This must * @param[in] height The desired height, in pixels, of the window. This must
* be greater than zero. * be greater than zero.
* @param[in] title The initial, UTF-8 encoded window title. * @param[in] title The initial, UTF-8 encoded window title.
* @param[in] monitor The monitor to use for fullscreen mode, or @c NULL to use * @param[in] monitor The monitor to use for fullscreen mode, or `NULL` to use
* windowed mode. * windowed mode.
* @param[in] share The window whose context to share resources with, or @c * @param[in] share The window whose context to share resources with, or `NULL`
* NULL to not share resources. * to not share resources.
* @return The handle of the created window, or @c NULL if an error occurred. * @return The handle of the created window, or `NULL` if an error occurred.
* @ingroup window * @ingroup window
* *
* @remarks Most of the options for how the window and its context should be * @remarks Most of the options for how the window and its context should be
@ -1068,27 +1067,27 @@ GLFWAPI void glfwWindowHint(int target, int hint);
* glfwMakeContextCurrent. * glfwMakeContextCurrent.
* *
* @remarks To create the window at a specific position, make it initially * @remarks To create the window at a specific position, make it initially
* invisible using the @c GLFW_VISIBLE window hint, set its position and then * invisible using the `GLFW_VISIBLE` window hint, set its position and then
* show it. * show it.
* *
* @remarks For fullscreen windows the initial cursor mode is @c * @remarks For fullscreen windows the initial cursor mode is
* GLFW_CURSOR_CAPTURED and the screensaver is prohibited from starting. For * `GLFW_CURSOR_CAPTURED` and the screensaver is prohibited from starting. For
* regular windows the initial cursor mode is @c GLFW_CURSOR_NORMAL and the * regular windows the initial cursor mode is `GLFW_CURSOR_NORMAL` and the
* screensaver is allowed to start. * screensaver is allowed to start.
* *
* @remarks In order to determine the actual parameters of an opened window, * @remarks In order to determine the actual parameters of an opened window,
* use @ref glfwGetWindowParam and @ref glfwGetWindowSize. * use @ref glfwGetWindowParam and @ref glfwGetWindowSize.
* *
* @remarks <b>Windows:</b> If the executable has an icon resource named @c * @remarks **Windows:** If the executable has an icon resource named
* GLFW_ICON, it will be set as the icon for the window. If no such icon is * `GLFW_ICON,` it will be set as the icon for the window. If no such icon is
* present, the @c IDI_WINLOGO icon will be used instead. * present, the `IDI_WINLOGO` icon will be used instead.
* *
* @remarks <b>Mac OS X:</b> The GLFW window has no icon, as it is not * @remarks **Mac OS X:** The GLFW window has no icon, as it is not a document
* a document window, but the dock icon will be the same as the application * window, but the dock icon will be the same as the application bundle's icon.
* bundle's icon. Also, the first time a window is opened the menu bar is * Also, the first time a window is opened the menu bar is populated with
* populated with common commands like Hide, Quit and About. The (minimal) * common commands like Hide, Quit and About. The (minimal) about dialog uses
* about dialog uses information from the application's bundle. For more * information from the application's bundle. For more information on bundles,
* information on bundles, see the Bundle Programming Guide provided by Apple. * see the Bundle Programming Guide provided by Apple.
* *
* @note This function may only be called from the main thread. * @note This function may only be called from the main thread.
* *
@ -1146,7 +1145,7 @@ GLFWAPI void glfwSetWindowTitle(GLFWwindow* window, const char* title);
* @param[out] ypos The y-coordinate of the upper-left corner of the client area. * @param[out] ypos The y-coordinate of the upper-left corner of the client area.
* @ingroup window * @ingroup window
* *
* @remarks Either or both coordinate parameters may be @c NULL. * @remarks Either or both coordinate parameters may be `NULL`.
* *
* @sa glfwSetWindowPos * @sa glfwSetWindowPos
*/ */
@ -1162,7 +1161,7 @@ GLFWAPI void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos);
* the client area of the window. * the client area of the window.
* *
* @remarks If you wish to set an initial window position you should create * @remarks If you wish to set an initial window position you should create
* a hidden window (using @ref glfwWindowHint and @c GLFW_VISIBLE), set its * a hidden window (using @ref glfwWindowHint and `GLFW_VISIBLE`), set its
* position and then show it. * position and then show it.
* *
* @note It is very rarely a good idea to move an already visible window, as it * @note It is very rarely a good idea to move an already visible window, as it
@ -1172,11 +1171,11 @@ GLFWAPI void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos);
* *
* @note The window manager may put limits on what positions are allowed. * @note The window manager may put limits on what positions are allowed.
* *
* @bug <b>X11:</b> Some window managers ignore the set position of hidden * @bug **X11:** Some window managers ignore the set position of hidden (i.e.
* (i.e. unmapped) windows, instead placing them where it thinks is * unmapped) windows, instead placing them where it thinks is appropriate once
* appropriate once they are shown. * they are shown.
* *
* @bug <b>Mac OS X:</b> The screen coordinate system is inverted. * @bug **Mac OS X:** The screen coordinate system is inverted.
* *
* @sa glfwGetWindowPos * @sa glfwGetWindowPos
*/ */
@ -1218,7 +1217,7 @@ GLFWAPI void glfwSetWindowSize(GLFWwindow* window, int width, int height);
* *
* @note This function may only be called from the main thread. * @note This function may only be called from the main thread.
* *
* @bug <strong>Mac OS X:</strong> This function is not yet implemented for * @bug **Mac OS X:** This function is not yet implemented for
* fullscreen windows. * fullscreen windows.
* *
* @sa glfwRestoreWindow * @sa glfwRestoreWindow
@ -1233,7 +1232,7 @@ GLFWAPI void glfwIconifyWindow(GLFWwindow* window);
* *
* @note This function may only be called from the main thread. * @note This function may only be called from the main thread.
* *
* @bug <strong>Mac OS X:</strong> This function is not yet implemented for * @bug **Mac OS X:** This function is not yet implemented for
* fullscreen windows. * fullscreen windows.
* *
* @sa glfwIconifyWindow * @sa glfwIconifyWindow
@ -1268,7 +1267,7 @@ GLFWAPI void glfwHideWindow(GLFWwindow* window);
/*! @brief Returns the monitor that the window uses for fullscreen mode /*! @brief Returns the monitor that the window uses for fullscreen mode
* @param[in] window The window to query. * @param[in] window The window to query.
* @return The monitor, or @c NULL if the window is in windowed mode. * @return The monitor, or `NULL` if the window is in windowed mode.
* @ingroup window * @ingroup window
*/ */
GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window); GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window);
@ -1281,40 +1280,39 @@ GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window);
* *
* @par Window parameters * @par Window parameters
* *
* The @c GLFW_FOCUSED parameter indicates whether the window is focused. * The `GLFW_FOCUSED` parameter indicates whether the window is focused.
* *
* The @c GLFW_ICONIFIED parameter indicates whether the window is iconified. * The `GLFW_ICONIFIED` parameter indicates whether the window is iconified.
* *
* The @c GLFW_VISIBLE parameter indicates whether the window is visible. * The `GLFW_VISIBLE` parameter indicates whether the window is visible.
* *
* The @c GLFW_RESIZABLE parameter indicates whether the window is resizable * The `GLFW_RESIZABLE` parameter indicates whether the window is resizable
* by the user. * by the user.
* *
* @par Context parameters * @par Context parameters
* *
* The @c GLFW_CLIENT_API parameter indicates the client API provided by the * The `GLFW_CLIENT_API` parameter indicates the client API provided by the
* window's context; either @c GLFW_OPENGL_API or @c GLFW_OPENGL_ES_API. * window's context; either `GLFW_OPENGL_API` or `GLFW_OPENGL_ES_API`.
* *
* The @c GLFW_CONTEXT_VERSION_MAJOR, @c GLFW_CONTEXT_VERSION_MINOR and @c * The `GLFW_CONTEXT_VERSION_MAJOR`, `GLFW_CONTEXT_VERSION_MINOR` and
* GLFW_CONTEXT_REVISION parameters indicate the client API version of the * `GLFW_CONTEXT_REVISION` parameters indicate the client API version of the
* window's context. * window's context.
* *
* The @c GLFW_OPENGL_FORWARD_COMPAT parameter is @c GL_TRUE if the window's * The `GLFW_OPENGL_FORWARD_COMPAT` parameter is `GL_TRUE` if the window's
* context is an OpenGL forward-compatible one, or @c GL_FALSE otherwise. * context is an OpenGL forward-compatible one, or `GL_FALSE` otherwise.
* *
* The @c GLFW_OPENGL_DEBUG_CONTEXT parameter is @c GL_TRUE if the window's * The `GLFW_OPENGL_DEBUG_CONTEXT` parameter is `GL_TRUE` if the window's
* context is an OpenGL debug context, or @c GL_FALSE otherwise. * context is an OpenGL debug context, or `GL_FALSE` otherwise.
* *
* The @c GLFW_OPENGL_PROFILE parameter indicates the OpenGL profile used by the * The `GLFW_OPENGL_PROFILE` parameter indicates the OpenGL profile used by the
* context. This is @c GLFW_OPENGL_CORE_PROFILE or @c * context. This is `GLFW_OPENGL_CORE_PROFILE` or `GLFW_OPENGL_COMPAT_PROFILE`
* GLFW_OPENGL_COMPAT_PROFILE if the context uses a known profile, or @c * if the context uses a known profile, or `GLFW_OPENGL_NO_PROFILE` if the
* GLFW_OPENGL_NO_PROFILE if the OpenGL profile is unknown or the context is * OpenGL profile is unknown or the context is for another client API.
* for another client API.
* *
* The @c GLFW_CONTEXT_ROBUSTNESS parameter indicates the robustness strategy * The `GLFW_CONTEXT_ROBUSTNESS` parameter indicates the robustness strategy
* used by the context. This is @c GLFW_LOSE_CONTEXT_ON_RESET or @c * used by the context. This is `GLFW_LOSE_CONTEXT_ON_RESET` or
* GLFW_NO_RESET_NOTIFICATION if the window's context supports robustness, or * `GLFW_NO_RESET_NOTIFICATION` if the window's context supports robustness, or
* @c GLFW_NO_ROBUSTNESS otherwise. * `GLFW_NO_ROBUSTNESS` otherwise.
*/ */
GLFWAPI int glfwGetWindowParam(GLFWwindow* window, int param); GLFWAPI int glfwGetWindowParam(GLFWwindow* window, int param);
@ -1337,7 +1335,7 @@ GLFWAPI void* glfwGetWindowUserPointer(GLFWwindow* window);
/*! @brief Sets the position callback for the specified window. /*! @brief Sets the position callback for the specified window.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup window * @ingroup window
*/ */
@ -1345,7 +1343,7 @@ GLFWAPI void glfwSetWindowPosCallback(GLFWwindow* window, GLFWwindowposfun cbfun
/*! @brief Sets the size callback for the specified window. /*! @brief Sets the size callback for the specified window.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup window * @ingroup window
* *
@ -1355,7 +1353,7 @@ GLFWAPI void glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun cbf
/*! @brief Sets the close callback for the specified window. /*! @brief Sets the close callback for the specified window.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup window * @ingroup window
* *
@ -1366,14 +1364,14 @@ GLFWAPI void glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun cbf
* @remarks Calling @ref glfwDestroyWindow does not cause this callback to be * @remarks Calling @ref glfwDestroyWindow does not cause this callback to be
* called. * called.
* *
* @remarks <b>Mac OS X:</b> Selecting Quit from the application menu will * @remarks **Mac OS X:** Selecting Quit from the application menu will
* trigger the close callback for all windows. * trigger the close callback for all windows.
*/ */
GLFWAPI void glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwindowclosefun cbfun); GLFWAPI void glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwindowclosefun cbfun);
/*! @brief Sets the refresh callback for the specified window. /*! @brief Sets the refresh callback for the specified window.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup window * @ingroup window
* *
@ -1389,7 +1387,7 @@ GLFWAPI void glfwSetWindowRefreshCallback(GLFWwindow* window, GLFWwindowrefreshf
/*! @brief Sets the focus callback for the specified window. /*! @brief Sets the focus callback for the specified window.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup window * @ingroup window
* *
@ -1399,7 +1397,7 @@ GLFWAPI void glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwindowfocusfun c
/*! @brief Sets the iconify callback for the specified window. /*! @brief Sets the iconify callback for the specified window.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup window * @ingroup window
* *
@ -1434,9 +1432,9 @@ GLFWAPI void glfwWaitEvents(void);
/*! @brief Returns the value of an input option for the specified window. /*! @brief Returns the value of an input option for the specified window.
* @param[in] window The window to query. * @param[in] window The window to query.
* @param[in] mode One of the following: * @param[in] mode One of the following:
* @arg @c GLFW_CURSOR_MODE Sets the cursor mode. * @arg `GLFW_CURSOR_MODE` Sets the cursor mode.
* @arg @c GLFW_STICKY_KEYS Sets whether sticky keys are enabled. * @arg `GLFW_STICKY_KEYS` Sets whether sticky keys are enabled.
* @arg @c GLFW_STICKY_MOUSE_BUTTONS Sets whether sticky mouse buttons are enabled. * @arg `GLFW_STICKY_MOUSE_BUTTONS` Sets whether sticky mouse buttons are enabled.
* @ingroup input * @ingroup input
* *
* @sa glfwSetInputMode * @sa glfwSetInputMode
@ -1445,15 +1443,15 @@ GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode);
/*! @brief Sets an input option for the specified window. /*! @brief Sets an input option for the specified window.
* @param[in] window The window whose input mode to set. * @param[in] window The window whose input mode to set.
* @param[in] mode One of @c GLFW_CURSOR_MODE, @c GLFW_STICKY_KEYS or @c * @param[in] mode One of `GLFW_CURSOR_MODE`, `GLFW_STICKY_KEYS` or
* GLFW_STICKY_MOUSE_BUTTONS. * `GLFW_STICKY_MOUSE_BUTTONS`.
* @param[in] value The new value of the specified input mode. * @param[in] value The new value of the specified input mode.
* @ingroup input * @ingroup input
* *
* @bug <strong>Windows:</strong> The @ref GLFW_CURSOR_HIDDEN value of @ref * @bug **Windows:** The @ref GLFW_CURSOR_HIDDEN value of @ref
* GLFW_CURSOR_MODE is not yet implemented. * GLFW_CURSOR_MODE is not yet implemented.
* *
* @bug <strong>Mac OS X:</strong> The @ref GLFW_CURSOR_HIDDEN value of @ref * @bug **Mac OS X:** The @ref GLFW_CURSOR_HIDDEN value of @ref
* GLFW_CURSOR_MODE is not yet implemented. * GLFW_CURSOR_MODE is not yet implemented.
* *
* @sa glfwGetInputMode * @sa glfwGetInputMode
@ -1463,8 +1461,8 @@ GLFWAPI void glfwSetInputMode(GLFWwindow* window, int mode, int value);
/*! @brief Returns the last reported state of a keyboard key for the specified /*! @brief Returns the last reported state of a keyboard key for the specified
* window. * window.
* @param[in] window The desired window. * @param[in] window The desired window.
* @param[in] key The desired @link keys keyboard key @endlink. * @param[in] key The desired [keyboard key](@ref keys).
* @return One of @c GLFW_PRESS or @c GLFW_RELEASE. * @return One of `GLFW_PRESS` or `GLFW_RELEASE`.
* @ingroup input * @ingroup input
*/ */
GLFWAPI int glfwGetKey(GLFWwindow* window, int key); GLFWAPI int glfwGetKey(GLFWwindow* window, int key);
@ -1472,8 +1470,8 @@ GLFWAPI int glfwGetKey(GLFWwindow* window, int key);
/*! @brief Returns the last reported state of a mouse button for the specified /*! @brief Returns the last reported state of a mouse button for the specified
* window. * window.
* @param[in] window The desired window. * @param[in] window The desired window.
* @param[in] button The desired @link buttons mouse buttons @endlink. * @param[in] button The desired [mouse button](@ref buttons).
* @return One of @c GLFW_PRESS or @c GLFW_RELEASE. * @return One of `GLFW_PRESS` or `GLFW_RELEASE`.
* @ingroup input * @ingroup input
*/ */
GLFWAPI int glfwGetMouseButton(GLFWwindow* window, int button); GLFWAPI int glfwGetMouseButton(GLFWwindow* window, int button);
@ -1482,9 +1480,9 @@ GLFWAPI int glfwGetMouseButton(GLFWwindow* window, int button);
* area of the window. * area of the window.
* @param[in] window The desired window. * @param[in] window The desired window.
* @param[out] xpos The cursor x-coordinate, relative to the left edge of the * @param[out] xpos The cursor x-coordinate, relative to the left edge of the
* client area, or @c NULL. * client area, or `NULL`.
* @param[out] ypos The cursor y-coordinate, relative to the to top edge of the * @param[out] ypos The cursor y-coordinate, relative to the to top edge of the
* client area, or @c NULL. * client area, or `NULL`.
* @ingroup input * @ingroup input
* *
* @sa glfwSetCursorPos * @sa glfwSetCursorPos
@ -1494,9 +1492,9 @@ GLFWAPI void glfwGetCursorPos(GLFWwindow* window, int* xpos, int* ypos);
/*! @brief Sets the position of the cursor, relative to the client area of the window. /*! @brief Sets the position of the cursor, relative to the client area of the window.
* @param[in] window The desired window. * @param[in] window The desired window.
* @param[in] xpos The desired x-coordinate, relative to the left edge of the * @param[in] xpos The desired x-coordinate, relative to the left edge of the
* client area, or @c NULL. * client area, or `NULL`.
* @param[in] ypos The desired y-coordinate, relative to the top edge of the * @param[in] ypos The desired y-coordinate, relative to the top edge of the
* client area, or @c NULL. * client area, or `NULL`.
* @ingroup input * @ingroup input
* *
* @note The specified window must be focused. * @note The specified window must be focused.
@ -1507,19 +1505,19 @@ GLFWAPI void glfwSetCursorPos(GLFWwindow* window, int xpos, int ypos);
/*! @brief Sets the key callback. /*! @brief Sets the key callback.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new key callback, or @c NULL to remove the currently * @param[in] cbfun The new key callback, or `NULL` to remove the currently
* set callback. * set callback.
* @ingroup input * @ingroup input
* *
* @remarks The key callback deals with physical keys, with @link keys tokens * @remarks The key callback deals with physical keys, with [key tokens](@ref
* @endlink named after their use on the standard US keyboard layout. If you * keys) named after their use on the standard US keyboard layout. If you
* want to input text, use the Unicode character callback instead. * want to input text, use the Unicode character callback instead.
*/ */
GLFWAPI void glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun cbfun); GLFWAPI void glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun cbfun);
/*! @brief Sets the Unicode character callback. /*! @brief Sets the Unicode character callback.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup input * @ingroup input
* *
@ -1530,7 +1528,7 @@ GLFWAPI void glfwSetCharCallback(GLFWwindow* window, GLFWcharfun cbfun);
/*! @brief Sets the mouse button callback. /*! @brief Sets the mouse button callback.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup input * @ingroup input
*/ */
@ -1538,7 +1536,7 @@ GLFWAPI void glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmousebuttonfun c
/*! @brief Sets the cursor position callback. /*! @brief Sets the cursor position callback.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup input * @ingroup input
* *
@ -1549,7 +1547,7 @@ GLFWAPI void glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursorposfun cbfun
/*! @brief Sets the cursor enter/exit callback. /*! @brief Sets the cursor enter/exit callback.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new callback, or @c NULL to remove the currently set * @param[in] cbfun The new callback, or `NULL` to remove the currently set
* callback. * callback.
* @ingroup input * @ingroup input
*/ */
@ -1557,7 +1555,7 @@ GLFWAPI void glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcursorenterfun c
/*! @brief Sets the scroll callback. /*! @brief Sets the scroll callback.
* @param[in] window The window whose callback to set. * @param[in] window The window whose callback to set.
* @param[in] cbfun The new scroll callback, or @c NULL to remove the currently * @param[in] cbfun The new scroll callback, or `NULL` to remove the currently
* set callback. * set callback.
* @ingroup input * @ingroup input
* *
@ -1579,7 +1577,7 @@ GLFWAPI int glfwGetJoystickParam(int joy, int param);
* @param[in] joy The joystick to query. * @param[in] joy The joystick to query.
* @param[out] axes The array to hold the values. * @param[out] axes The array to hold the values.
* @param[in] numaxes The size of the provided array. * @param[in] numaxes The size of the provided array.
* @return The number of values written to @p axes, or zero if an error * @return The number of values written to `axes,` or zero if an error
* occurred. * occurred.
* @ingroup input * @ingroup input
*/ */
@ -1589,7 +1587,7 @@ GLFWAPI int glfwGetJoystickAxes(int joy, float* axes, int numaxes);
* @param[in] joy The joystick to query. * @param[in] joy The joystick to query.
* @param[out] buttons The array to hold the values. * @param[out] buttons The array to hold the values.
* @param[in] numbuttons The size of the provided array. * @param[in] numbuttons The size of the provided array.
* @return The number of values written to @p buttons, or zero if an error * @return The number of values written to `buttons,` or zero if an error
* occurred. * occurred.
* @ingroup input * @ingroup input
*/ */
@ -1597,7 +1595,7 @@ GLFWAPI int glfwGetJoystickButtons(int joy, unsigned char* buttons, int numbutto
/*! @brief Returns the name of the specified joystick. /*! @brief Returns the name of the specified joystick.
* @param[in] joy The joystick to query. * @param[in] joy The joystick to query.
* @return The UTF-8 encoded name of the joystick, or @c NULL if the joystick * @return The UTF-8 encoded name of the joystick, or `NULL` if the joystick
* is not present. * is not present.
* @ingroup input * @ingroup input
* *
@ -1619,7 +1617,7 @@ GLFWAPI void glfwSetClipboardString(GLFWwindow* window, const char* string);
/*! @brief Retrieves the contents of the clipboard as a string. /*! @brief Retrieves the contents of the clipboard as a string.
* @param[in] window The window that will request the clipboard contents. * @param[in] window The window that will request the clipboard contents.
* @return The contents of the clipboard as a UTF-8 encoded string, or @c NULL * @return The contents of the clipboard as a UTF-8 encoded string, or `NULL`
* if an error occurred. * if an error occurred.
* @ingroup clipboard * @ingroup clipboard
* *
@ -1654,7 +1652,7 @@ GLFWAPI double glfwGetTime(void);
GLFWAPI void glfwSetTime(double time); GLFWAPI void glfwSetTime(double time);
/*! @brief Makes the context of the specified window current for this thread. /*! @brief Makes the context of the specified window current for this thread.
* @param[in] window The window whose context to make current, or @c NULL to * @param[in] window The window whose context to make current, or `NULL` to
* detach the current context. * detach the current context.
* @ingroup context * @ingroup context
* *
@ -1667,7 +1665,7 @@ GLFWAPI void glfwSetTime(double time);
GLFWAPI void glfwMakeContextCurrent(GLFWwindow* window); GLFWAPI void glfwMakeContextCurrent(GLFWwindow* window);
/*! @brief Returns the window whose context is current on this thread. /*! @brief Returns the window whose context is current on this thread.
* @return The window whose context is current, or @c NULL if no window's * @return The window whose context is current, or `NULL` if no window's
* context is current. * context is current.
* @ingroup context * @ingroup context
* *
@ -1700,7 +1698,7 @@ GLFWAPI void glfwSwapInterval(int interval);
/*! @brief Checks whether the specified extension is available. /*! @brief Checks whether the specified extension is available.
* @param[in] extension The ASCII encoded name of the extension. * @param[in] extension The ASCII encoded name of the extension.
* @return @c GL_TRUE if the extension is available, or @c FALSE otherwise. * @return `GL_TRUE` if the extension is available, or `GL_FALSE` otherwise.
* @ingroup context * @ingroup context
* *
* @remarks This function may be called from secondary threads. * @remarks This function may be called from secondary threads.
@ -1713,7 +1711,7 @@ GLFWAPI int glfwExtensionSupported(const char* extension);
/*! @brief Returns the address of the specified client API function for the /*! @brief Returns the address of the specified client API function for the
* current context. * current context.
* @param[in] procname The ASCII encoded name of the function. * @param[in] procname The ASCII encoded name of the function.
* @return The address of the function, or @c NULL if the function is * @return The address of the function, or `NULL` if the function is
* unavailable. * unavailable.
* @ingroup context * @ingroup context
* *

View File

@ -41,24 +41,24 @@ extern "C" {
/*! @defgroup native Native access /*! @defgroup native Native access
* *
* <strong>By using the native API, you assert that you know what you are * **By using the native API, you assert that you know what you are doing and
* doing and how to fix problems caused by using it. If you don't, you * how to fix problems caused by using it. If you don't, you shouldn't be
* shouldn't be using it.</strong> * using it.**
* *
* Before the inclusion of @ref glfw3native.h, you must define exactly one * Before the inclusion of @ref glfw3native.h, you must define exactly one
* window API macro and exactly one context API macro. Failure to do this * window API macro and exactly one context API macro. Failure to do this
* will cause a compile-time error. * will cause a compile-time error.
* *
* The available window API macros are: * The available window API macros are:
* @arg @c GLFW_EXPOSE_NATIVE_WIN32 * * `GLFW_EXPOSE_NATIVE_WIN32`
* @arg @c GLFW_EXPOSE_NATIVE_COCOA * * `GLFW_EXPOSE_NATIVE_COCOA`
* @arg @c GLFW_EXPOSE_NATIVE_X11 * * `GLFW_EXPOSE_NATIVE_X11`
* *
* The available context API macros are: * The available context API macros are:
* @arg @c GLFW_EXPOSE_NATIVE_WGL * * `GLFW_EXPOSE_NATIVE_WGL`
* @arg @c GLFW_EXPOSE_NATIVE_NSGL * * `GLFW_EXPOSE_NATIVE_NSGL`
* @arg @c GLFW_EXPOSE_NATIVE_GLX * * `GLFW_EXPOSE_NATIVE_GLX`
* @arg @c GLFW_EXPOSE_NATIVE_EGL * * `GLFW_EXPOSE_NATIVE_EGL`
* *
* These macros select which of the native access functions are declared and * These macros select which of the native access functions are declared and
* which platform-specific headers to include. It is then up your (by * which platform-specific headers to include. It is then up your (by
@ -103,71 +103,71 @@ extern "C" {
*************************************************************************/ *************************************************************************/
#if defined(GLFW_EXPOSE_NATIVE_WIN32) #if defined(GLFW_EXPOSE_NATIVE_WIN32)
/*! @brief Returns the @c HWND of the specified window. /*! @brief Returns the `HWND` of the specified window.
* @return The @c HWND of the specified window. * @return The `HWND` of the specified window.
* @ingroup native * @ingroup native
*/ */
GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window); GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window);
#endif #endif
#if defined(GLFW_EXPOSE_NATIVE_WGL) #if defined(GLFW_EXPOSE_NATIVE_WGL)
/*! @brief Returns the @c HGLRC of the specified window. /*! @brief Returns the `HGLRC` of the specified window.
* @return The @c HGLRC of the specified window. * @return The `HGLRC` of the specified window.
* @ingroup native * @ingroup native
*/ */
GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window); GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window);
#endif #endif
#if defined(GLFW_EXPOSE_NATIVE_COCOA) #if defined(GLFW_EXPOSE_NATIVE_COCOA)
/*! @brief Returns the @c NSWindow of the specified window. /*! @brief Returns the `NSWindow` of the specified window.
* @return The @c NSWindow of the specified window. * @return The `NSWindow` of the specified window.
* @ingroup native * @ingroup native
*/ */
GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window); GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window);
#endif #endif
#if defined(GLFW_EXPOSE_NATIVE_NSGL) #if defined(GLFW_EXPOSE_NATIVE_NSGL)
/*! @brief Returns the @c NSOpenGLContext of the specified window. /*! @brief Returns the `NSOpenGLContext` of the specified window.
* @return The @c NSOpenGLContext of the specified window. * @return The `NSOpenGLContext` of the specified window.
* @ingroup native * @ingroup native
*/ */
GLFWAPI id glfwGetNSGLContext(GLFWwindow* window); GLFWAPI id glfwGetNSGLContext(GLFWwindow* window);
#endif #endif
#if defined(GLFW_EXPOSE_NATIVE_X11) #if defined(GLFW_EXPOSE_NATIVE_X11)
/*! @brief Returns the @c Display used by GLFW. /*! @brief Returns the `Display` used by GLFW.
* @return The @c Display used by GLFW. * @return The `Display` used by GLFW.
* @ingroup native * @ingroup native
*/ */
GLFWAPI Display* glfwGetX11Display(void); GLFWAPI Display* glfwGetX11Display(void);
/*! @brief Returns the @c Window of the specified window. /*! @brief Returns the `Window` of the specified window.
* @return The @c Window of the specified window. * @return The `Window` of the specified window.
* @ingroup native * @ingroup native
*/ */
GLFWAPI Window glfwGetX11Window(GLFWwindow* window); GLFWAPI Window glfwGetX11Window(GLFWwindow* window);
#endif #endif
#if defined(GLFW_EXPOSE_NATIVE_GLX) #if defined(GLFW_EXPOSE_NATIVE_GLX)
/*! @brief Returns the @c GLXContext of the specified window. /*! @brief Returns the `GLXContext` of the specified window.
* @return The @c GLXContext of the specified window. * @return The `GLXContext` of the specified window.
* @ingroup native * @ingroup native
*/ */
GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window); GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window);
#endif #endif
#if defined(GLFW_EXPOSE_NATIVE_EGL) #if defined(GLFW_EXPOSE_NATIVE_EGL)
/*! @brief Returns the @c EGLDisplay used by GLFW. /*! @brief Returns the `EGLDisplay` used by GLFW.
* @return The @c EGLDisplay used by GLFW. * @return The `EGLDisplay` used by GLFW.
* @ingroup native * @ingroup native
*/ */
GLFWAPI EGLDisplay glfwGetEGLDisplay(void); GLFWAPI EGLDisplay glfwGetEGLDisplay(void);
/*! @brief Returns the @c EGLContext of the specified window. /*! @brief Returns the `EGLContext` of the specified window.
* @return The @c EGLContext of the specified window. * @return The `EGLContext` of the specified window.
* @ingroup native * @ingroup native
*/ */
GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window); GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window);
/*! @brief Returns the @c EGLSurface of the specified window. /*! @brief Returns the `EGLSurface` of the specified window.
* @return The @c EGLSurface of the specified window. * @return The `EGLSurface` of the specified window.
* @ingroup native * @ingroup native
*/ */
GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window); GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window);

View File

@ -322,7 +322,7 @@ extern _GLFWlibrary _glfw;
//======================================================================== //========================================================================
/*! @brief Initializes the platform-specific part of the library. /*! @brief Initializes the platform-specific part of the library.
* @return @c GL_TRUE if successful, or @c GL_FALSE if an error occurred. * @return `GL_TRUE` if successful, or `GL_FALSE` if an error occurred.
* @ingroup platform * @ingroup platform
*/ */
int _glfwPlatformInit(void); int _glfwPlatformInit(void);
@ -526,7 +526,7 @@ GLFWglproc _glfwPlatformGetProcAddress(const char* procname);
/*! @brief Notifies shared code of a window focus event. /*! @brief Notifies shared code of a window focus event.
* @param[in] window The window that received the event. * @param[in] window The window that received the event.
* @param[in] focused @c GL_TRUE if the window received focus, or @c GL_FALSE * @param[in] focused `GL_TRUE` if the window received focus, or `GL_FALSE`
* if it lost focus. * if it lost focus.
* @ingroup event * @ingroup event
*/ */
@ -550,7 +550,7 @@ void _glfwInputWindowSize(_GLFWwindow* window, int width, int height);
/*! @brief Notifies shared code of a window iconification event. /*! @brief Notifies shared code of a window iconification event.
* @param[in] window The window that received the event. * @param[in] window The window that received the event.
* @param[in] iconified @c GL_TRUE if the window was iconified, or @c GL_FALSE * @param[in] iconified `GL_TRUE` if the window was iconified, or `GL_FALSE`
* if it was restored. * if it was restored.
* @ingroup event * @ingroup event
*/ */
@ -558,7 +558,7 @@ void _glfwInputWindowIconify(_GLFWwindow* window, int iconified);
/*! @brief Notifies shared code of a window show/hide event. /*! @brief Notifies shared code of a window show/hide event.
* @param[in] window The window that received the event. * @param[in] window The window that received the event.
* @param[in] visible @c GL_TRUE if the window was shown, or @c GL_FALSE if it * @param[in] visible `GL_TRUE` if the window was shown, or `GL_FALSE` if it
* was hidden. * was hidden.
* @ingroup event * @ingroup event
*/ */
@ -618,8 +618,8 @@ void _glfwInputCursorMotion(_GLFWwindow* window, int x, int y);
/*! @brief Notifies shared code of a cursor enter/leave event. /*! @brief Notifies shared code of a cursor enter/leave event.
* @param[in] window The window that received the event. * @param[in] window The window that received the event.
* @param[in] entered @c GL_TRUE if the cursor entered the client area of the * @param[in] entered `GL_TRUE` if the cursor entered the client area of the
* window, or @c GL_FALSE if it left it. * window, or `GL_FALSE` if it left it.
* @ingroup event * @ingroup event
*/ */
void _glfwInputCursorEnter(_GLFWwindow* window, int entered); void _glfwInputCursorEnter(_GLFWwindow* window, int entered);
@ -630,7 +630,7 @@ void _glfwInputMonitorChange(void);
/*! @brief Notifies shared code of an error. /*! @brief Notifies shared code of an error.
* @param[in] error The error code most suitable for the error. * @param[in] error The error code most suitable for the error.
* @param[in] format The @c printf style format string of the error * @param[in] format The `printf` style format string of the error
* description. * description.
* @ingroup event * @ingroup event
*/ */
@ -659,20 +659,20 @@ void _glfwSplitBPP(int bpp, int* red, int* green, int* blue);
/*! @brief Searches an extension string for the specified extension. /*! @brief Searches an extension string for the specified extension.
* @param[in] string The extension string to search. * @param[in] string The extension string to search.
* @param[in] extensions The extension to search for. * @param[in] extensions The extension to search for.
* @return @c GL_TRUE if the extension was found, or @c GL_FALSE otherwise. * @return `GL_TRUE` if the extension was found, or `GL_FALSE` otherwise.
* @ingroup utility * @ingroup utility
*/ */
int _glfwStringInExtensionString(const char* string, const GLubyte* extensions); int _glfwStringInExtensionString(const char* string, const GLubyte* extensions);
/*! @brief Checks and reads back properties from the current context. /*! @brief Checks and reads back properties from the current context.
* @return @c GL_TRUE if successful, or @c GL_FALSE if the context is unusable. * @return `GL_TRUE` if successful, or `GL_FALSE` if the context is unusable.
* @ingroup utility * @ingroup utility
*/ */
GLboolean _glfwRefreshContextParams(void); GLboolean _glfwRefreshContextParams(void);
/*! @brief Checks whether the desired context properties are valid. /*! @brief Checks whether the desired context properties are valid.
* @param[in] wndconfig The context properties to check. * @param[in] wndconfig The context properties to check.
* @return @c GL_TRUE if the context properties are valid, or @c GL_FALSE * @return `GL_TRUE` if the context properties are valid, or `GL_FALSE`
* otherwise. * otherwise.
* @ingroup utility * @ingroup utility
* *
@ -685,8 +685,8 @@ GLboolean _glfwIsValidContextConfig(_GLFWwndconfig* wndconfig);
/*! @brief Checks whether the current context fulfils the specified hard /*! @brief Checks whether the current context fulfils the specified hard
* constraints. * constraints.
* @param[in] wndconfig The desired context properties. * @param[in] wndconfig The desired context properties.
* @return @c GL_TRUE if the context fulfils the hard constraints, or @c * @return `GL_TRUE` if the context fulfils the hard constraints, or `GL_FALSE`
* GL_FALSE otherwise. * otherwise.
* @ingroup utility * @ingroup utility
*/ */
GLboolean _glfwIsValidContext(_GLFWwndconfig* wndconfig); GLboolean _glfwIsValidContext(_GLFWwndconfig* wndconfig);