mirror of
https://github.com/glfw/glfw.git
synced 2026-01-11 15:23:17 +01:00
Convert Doxygen headings to Markdown
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
@page window_guide Window guide
|
||||
# Window guide {#window_guide}
|
||||
|
||||
@tableofcontents
|
||||
|
||||
@@ -13,7 +13,7 @@ guides for the other areas of GLFW.
|
||||
- @ref input_guide
|
||||
|
||||
|
||||
@section window_object Window objects
|
||||
## Window objects {#window_object}
|
||||
|
||||
The @ref GLFWwindow object encapsulates both a window and a context. They are
|
||||
created with @ref glfwCreateWindow and destroyed with @ref glfwDestroyWindow, or
|
||||
@@ -24,7 +24,7 @@ To see the event stream provided to the various window related callbacks, run
|
||||
the `events` test program.
|
||||
|
||||
|
||||
@subsection window_creation Window creation
|
||||
### Window creation {#window_creation}
|
||||
|
||||
A window and its OpenGL or OpenGL ES context are created with @ref
|
||||
glfwCreateWindow, which returns a handle to the created window object. For
|
||||
@@ -42,7 +42,7 @@ along with all input events, so event handlers can tell which window received
|
||||
the event.
|
||||
|
||||
|
||||
@subsubsection window_full_screen Full screen windows
|
||||
#### Full screen windows {#window_full_screen}
|
||||
|
||||
To create a full screen window, you need to specify which monitor the window
|
||||
should use. In most cases, the user's primary monitor is a good choice.
|
||||
@@ -91,7 +91,7 @@ If a monitor is disconnected, all windows that are full screen on that monitor
|
||||
will be switched to windowed mode. See @ref monitor_event for more information.
|
||||
|
||||
|
||||
@subsubsection window_windowed_full_screen "Windowed full screen" windows
|
||||
#### "Windowed full screen" windows {#window_windowed_full_screen}
|
||||
|
||||
If the closest match for the desired video mode is the current one, the video
|
||||
mode will not be changed, making window creation faster and application
|
||||
@@ -123,7 +123,7 @@ so if you already have a full screen window on that monitor that you want to
|
||||
make windowed full screen, you need to have saved the desktop resolution before.
|
||||
|
||||
|
||||
@subsection window_destruction Window destruction
|
||||
### Window destruction {#window_destruction}
|
||||
|
||||
When a window is no longer needed, destroy it with @ref glfwDestroyWindow.
|
||||
|
||||
@@ -139,7 +139,7 @@ When a full screen window is destroyed, the original video mode of its monitor
|
||||
is restored, but the gamma ramp is left untouched.
|
||||
|
||||
|
||||
@subsection window_hints Window creation hints
|
||||
### Window creation hints {#window_hints}
|
||||
|
||||
There are a number of hints that can be set before the creation of a window and
|
||||
context. Some affect the window itself, others affect the framebuffer or
|
||||
@@ -158,7 +158,7 @@ you wish to have the specified attributes. They function as additional
|
||||
arguments to @ref glfwCreateWindow.
|
||||
|
||||
|
||||
@subsubsection window_hints_hard Hard and soft constraints
|
||||
#### Hard and soft constraints {#window_hints_hard}
|
||||
|
||||
Some window hints are hard constraints. These must match the available
|
||||
capabilities _exactly_ for window and context creation to succeed. Hints
|
||||
@@ -177,7 +177,7 @@ context, but are ignored when requesting an OpenGL ES context:
|
||||
- [GLFW_OPENGL_PROFILE](@ref GLFW_OPENGL_PROFILE_hint)
|
||||
|
||||
|
||||
@subsubsection window_hints_wnd Window related hints
|
||||
#### Window related hints {#window_hints_wnd}
|
||||
|
||||
@anchor GLFW_RESIZABLE_hint
|
||||
__GLFW_RESIZABLE__ specifies whether the windowed mode window will be resizable
|
||||
@@ -263,7 +263,7 @@ manager will position the window where it thinks the user will prefer it.
|
||||
Possible values are any valid screen coordinates and `GLFW_ANY_POSITION`.
|
||||
|
||||
|
||||
@subsubsection window_hints_fb Framebuffer related hints
|
||||
#### Framebuffer related hints {#window_hints_fb}
|
||||
|
||||
@anchor GLFW_RED_BITS
|
||||
@anchor GLFW_GREEN_BITS
|
||||
@@ -322,7 +322,7 @@ buffered. You nearly always want to use double buffering. This is a hard
|
||||
constraint. Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
|
||||
|
||||
|
||||
@subsubsection window_hints_mtr Monitor related hints
|
||||
#### Monitor related hints {#window_hints_mtr}
|
||||
|
||||
@anchor GLFW_REFRESH_RATE
|
||||
__GLFW_REFRESH_RATE__ specifies the desired refresh rate for full screen
|
||||
@@ -330,7 +330,7 @@ windows. A value of `GLFW_DONT_CARE` means the highest available refresh rate
|
||||
will be used. This hint is ignored for windowed mode windows.
|
||||
|
||||
|
||||
@subsubsection window_hints_ctx Context related hints
|
||||
#### Context related hints {#window_hints_ctx}
|
||||
|
||||
@anchor GLFW_CLIENT_API_hint
|
||||
__GLFW_CLIENT_API__ specifies which client API to create the context for.
|
||||
@@ -453,7 +453,7 @@ The no error mode for OpenGL and OpenGL ES is described in detail by the
|
||||
extension.
|
||||
|
||||
|
||||
@subsubsection window_hints_win32 Win32 specific hints
|
||||
#### Win32 specific hints {#window_hints_win32}
|
||||
|
||||
@anchor GLFW_WIN32_KEYBOARD_MENU_hint
|
||||
__GLFW_WIN32_KEYBOARD_MENU__ specifies whether to allow access to the window
|
||||
@@ -469,7 +469,7 @@ GLFW behaves as if this hint was set to `GLFW_FALSE`. Possible values are
|
||||
`GLFW_TRUE` and `GLFW_FALSE`. This is ignored on other platforms.
|
||||
|
||||
|
||||
@subsubsection window_hints_osx macOS specific hints
|
||||
#### macOS specific hints {#window_hints_osx}
|
||||
|
||||
@anchor GLFW_COCOA_RETINA_FRAMEBUFFER_hint
|
||||
__GLFW_COCOA_RETINA_FRAMEBUFFER__ specifies whether to use full resolution
|
||||
@@ -498,7 +498,7 @@ should also declare this in its `Info.plist` by setting the
|
||||
`NSSupportsAutomaticGraphicsSwitching` key to `true`.
|
||||
|
||||
|
||||
@subsubsection window_hints_x11 X11 specific window hints
|
||||
#### X11 specific window hints {#window_hints_x11}
|
||||
|
||||
@anchor GLFW_X11_CLASS_NAME_hint
|
||||
@anchor GLFW_X11_INSTANCE_NAME_hint
|
||||
@@ -507,7 +507,7 @@ ASCII encoded class and instance parts of the ICCCM `WM_CLASS` window property.
|
||||
hints need to be set to something other than an empty string for them to take effect.
|
||||
These are set with @ref glfwWindowHintString.
|
||||
|
||||
@subsubsection window_hints_wayland Wayland specific window hints
|
||||
#### Wayland specific window hints {#window_hints_wayland}
|
||||
|
||||
@anchor GLFW_WAYLAND_APP_ID_hint
|
||||
__GLFW_WAYLAND_APP_ID__ specifies the Wayland app_id for a window, used
|
||||
@@ -515,7 +515,7 @@ by window managers to identify types of windows. This is set with
|
||||
@ref glfwWindowHintString.
|
||||
|
||||
|
||||
@subsubsection window_hints_values Supported and default values
|
||||
#### Supported and default values {#window_hints_values}
|
||||
|
||||
Window hint | Default value | Supported values
|
||||
----------------------------- | --------------------------- | ----------------
|
||||
@@ -568,14 +568,14 @@ GLFW_X11_INSTANCE_NAME | `""` | An ASCII encoded `
|
||||
GLFW_WAYLAND_APP_ID | `""` | An ASCII encoded Wayland `app_id` name
|
||||
|
||||
|
||||
@section window_events Window event processing
|
||||
## Window event processing {#window_events}
|
||||
|
||||
See @ref events.
|
||||
|
||||
|
||||
@section window_properties Window properties and events
|
||||
## Window properties and events {#window_properties}
|
||||
|
||||
@subsection window_userptr User pointer
|
||||
### User pointer {#window_userptr}
|
||||
|
||||
Each window has a user pointer that can be set with @ref
|
||||
glfwSetWindowUserPointer and queried with @ref glfwGetWindowUserPointer. This
|
||||
@@ -585,7 +585,7 @@ the life-time of the window.
|
||||
The initial value of the pointer is `NULL`.
|
||||
|
||||
|
||||
@subsection window_close Window closing and close flag
|
||||
### Window closing and close flag {#window_close}
|
||||
|
||||
When the user attempts to close the window, for example by clicking the close
|
||||
widget or using a key chord like Alt+F4, the _close flag_ of the window is set.
|
||||
@@ -626,7 +626,7 @@ void window_close_callback(GLFWwindow* window)
|
||||
@endcode
|
||||
|
||||
|
||||
@subsection window_size Window size
|
||||
### Window size {#window_size}
|
||||
|
||||
The size of a window can be changed with @ref glfwSetWindowSize. For windowed
|
||||
mode windows, this sets the size, in
|
||||
@@ -685,7 +685,7 @@ the content area to the corresponding edges of the full window. As they are
|
||||
distances and not coordinates, they are always zero or positive.
|
||||
|
||||
|
||||
@subsection window_fbsize Framebuffer size
|
||||
### Framebuffer size {#window_fbsize}
|
||||
|
||||
While the size of a window is measured in screen coordinates, OpenGL works with
|
||||
pixels. The size you pass into `glViewport`, for example, should be in pixels.
|
||||
@@ -723,7 +723,7 @@ The size of a framebuffer may change independently of the size of a window, for
|
||||
example if the window is dragged between a regular monitor and a high-DPI one.
|
||||
|
||||
|
||||
@subsection window_scale Window content scale
|
||||
### Window content scale {#window_scale}
|
||||
|
||||
The content scale for a window can be retrieved with @ref
|
||||
glfwGetWindowContentScale.
|
||||
@@ -768,7 +768,7 @@ window is created and when its content scale later changes, set the @ref
|
||||
GLFW_SCALE_TO_MONITOR window hint.
|
||||
|
||||
|
||||
@subsection window_sizelimits Window size limits
|
||||
### Window size limits {#window_sizelimits}
|
||||
|
||||
The minimum and maximum size of the content area of a windowed mode window can
|
||||
be enforced with @ref glfwSetWindowSizeLimits. The user may resize the window
|
||||
@@ -814,7 +814,7 @@ You can have both size limits and aspect ratio set for a window, but the results
|
||||
are undefined if they conflict.
|
||||
|
||||
|
||||
@subsection window_pos Window position
|
||||
### Window position {#window_pos}
|
||||
|
||||
By default, the window manager chooses the position of new windowed mode
|
||||
windows, based on its size and which monitor the user appears to be working on.
|
||||
@@ -863,7 +863,7 @@ glfwGetWindowPos(window, &xpos, &ypos);
|
||||
@endcode
|
||||
|
||||
|
||||
@subsection window_title Window title
|
||||
### Window title {#window_title}
|
||||
|
||||
All GLFW windows have a title, although undecorated or full screen windows may
|
||||
not display it or only display it in a task bar or similar interface. You can
|
||||
@@ -890,7 +890,7 @@ glfwSetWindowTitle(window, u8"This is always a UTF-8 string");
|
||||
@endcode
|
||||
|
||||
|
||||
@subsection window_icon Window icon
|
||||
### Window icon {#window_icon}
|
||||
|
||||
Decorated windows have icons on some platforms. You can set this icon by
|
||||
specifying a list of candidate images with @ref glfwSetWindowIcon.
|
||||
@@ -914,7 +914,7 @@ glfwSetWindowIcon(window, 0, NULL);
|
||||
@endcode
|
||||
|
||||
|
||||
@subsection window_monitor Window monitor
|
||||
### Window monitor {#window_monitor}
|
||||
|
||||
Full screen windows are associated with a specific monitor. You can get the
|
||||
handle for this monitor with @ref glfwGetWindowMonitor.
|
||||
@@ -952,7 +952,7 @@ that was originally windowed to its original size and position, save these
|
||||
before making it full screen and then pass them in as above.
|
||||
|
||||
|
||||
@subsection window_iconify Window iconification
|
||||
### Window iconification {#window_iconify}
|
||||
|
||||
Windows can be iconified (i.e. minimized) with @ref glfwIconifyWindow.
|
||||
|
||||
@@ -1003,7 +1003,7 @@ int iconified = glfwGetWindowAttrib(window, GLFW_ICONIFIED);
|
||||
@endcode
|
||||
|
||||
|
||||
@subsection window_maximize Window maximization
|
||||
### Window maximization {#window_maximize}
|
||||
|
||||
Windows can be maximized (i.e. zoomed) with @ref glfwMaximizeWindow.
|
||||
|
||||
@@ -1059,7 +1059,7 @@ glfwWindowHint(GLFW_MAXIMIZED, GLFW_TRUE);
|
||||
@endcode
|
||||
|
||||
|
||||
@subsection window_hide Window visibility
|
||||
### Window visibility {#window_hide}
|
||||
|
||||
Windowed mode windows can be hidden with @ref glfwHideWindow.
|
||||
|
||||
@@ -1101,7 +1101,7 @@ can be useful if you need to set up your window further before showing it, for
|
||||
example moving it to a specific location.
|
||||
|
||||
|
||||
@subsection window_focus Window input focus
|
||||
### Window input focus {#window_focus}
|
||||
|
||||
Windows can be given input focus and brought to the front with @ref
|
||||
glfwFocusWindow.
|
||||
@@ -1152,7 +1152,7 @@ glfwWindowHint(GLFW_FOCUSED, GLFW_FALSE);
|
||||
@endcode
|
||||
|
||||
|
||||
@subsection window_attention Window attention request
|
||||
### Window attention request {#window_attention}
|
||||
|
||||
If you wish to notify the user of an event without interrupting, you can request
|
||||
attention with @ref glfwRequestWindowAttention.
|
||||
@@ -1166,7 +1166,7 @@ not supported, the application as a whole. Once the user has given it
|
||||
attention, the system will automatically end the request.
|
||||
|
||||
|
||||
@subsection window_refresh Window damage and refresh
|
||||
### Window damage and refresh {#window_refresh}
|
||||
|
||||
If you wish to be notified when the contents of a window is damaged and needs
|
||||
to be refreshed, set a window refresh callback.
|
||||
@@ -1191,7 +1191,7 @@ window contents are saved off-screen, this callback might only be called when
|
||||
the window or framebuffer is resized.
|
||||
|
||||
|
||||
@subsection window_transparency Window transparency
|
||||
### Window transparency {#window_transparency}
|
||||
|
||||
GLFW supports two kinds of transparency for windows; framebuffer transparency
|
||||
and whole window transparency. A single window may not use both methods. The
|
||||
@@ -1255,7 +1255,7 @@ overlay like for example a notification, the @ref GLFW_FLOATING and @ref
|
||||
GLFW_MOUSE_PASSTHROUGH window hints and attributes may be useful.
|
||||
|
||||
|
||||
@subsection window_attribs Window attributes
|
||||
### Window attributes {#window_attribs}
|
||||
|
||||
Windows have a number of attributes that can be returned using @ref
|
||||
glfwGetWindowAttrib. Some reflect state that may change as a result of user
|
||||
@@ -1283,7 +1283,7 @@ glfwSetWindowAttrib(window, GLFW_RESIZABLE, GLFW_FALSE);
|
||||
|
||||
|
||||
|
||||
@subsubsection window_attribs_wnd Window related attributes
|
||||
#### Window related attributes {#window_attribs_wnd}
|
||||
|
||||
@anchor GLFW_FOCUSED_attrib
|
||||
__GLFW_FOCUSED__ indicates whether the specified window has input focus. See
|
||||
@@ -1351,7 +1351,7 @@ with @ref glfwSetWindowAttrib. This is only supported for undecorated windows.
|
||||
Decorated windows with this enabled will behave differently between platforms.
|
||||
|
||||
|
||||
@subsubsection window_attribs_ctx Context related attributes
|
||||
#### Context related attributes {#window_attribs_ctx}
|
||||
|
||||
@anchor GLFW_CLIENT_API_attrib
|
||||
__GLFW_CLIENT_API__ indicates the client API provided by the window's context;
|
||||
@@ -1415,7 +1415,7 @@ context. This is `GLFW_LOSE_CONTEXT_ON_RESET` or `GLFW_NO_RESET_NOTIFICATION`
|
||||
if the window's context supports robustness, or `GLFW_NO_ROBUSTNESS` otherwise.
|
||||
|
||||
|
||||
@subsubsection window_attribs_fb Framebuffer related attributes
|
||||
#### Framebuffer related attributes {#window_attribs_fb}
|
||||
|
||||
GLFW does not expose most attributes of the default framebuffer (i.e. the
|
||||
framebuffer attached to the window) as these can be queried directly with either
|
||||
@@ -1453,7 +1453,7 @@ when rendering with OpenGL or OpenGL ES. This can be set before creation with
|
||||
the [GLFW_DOUBLEBUFFER](@ref GLFW_DOUBLEBUFFER_hint) window hint.
|
||||
|
||||
|
||||
@section buffer_swap Buffer swapping
|
||||
## Buffer swapping {#buffer_swap}
|
||||
|
||||
GLFW windows are by default double buffered. That means that you have two
|
||||
rendering buffers; a front buffer and a back buffer. The front buffer is
|
||||
|
||||
Reference in New Issue
Block a user