glfw/build-static/docs/html/news.html
ws909 0173252ee1 Merge remote-tracking branch 'refs/remotes/GamesTrap/taskbar-progress'
Conflicts:
	src/cocoa_window.m
	tests/window.c
2023-03-02 14:08:25 +01:00

272 lines
22 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.6"/>
<title>GLFW: Release notes</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<div class="glfwheader">
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
<ul class="glfwnavbar">
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
<li><a href="https://www.glfw.org/download.html">Download</a></li>
<li><a href="https://www.glfw.org/community.html">Community</a></li>
</ul>
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div><div class="header">
<div class="headertitle"><div class="title">Release notes </div></div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#news_34">Release notes for version 3.4</a><ul><li class="level2"><a href="#features_34">New features in version 3.4</a><ul><li class="level3"><a href="#runtime_platform_34">Runtime platform selection</a></li>
<li class="level3"><a href="#standard_cursors_34">More standard cursors</a></li>
<li class="level3"><a href="#mouse_passthrough_34">Mouse event passthrough</a></li>
<li class="level3"><a href="#wayland_app_id_34">Wayland app_id specification</a></li>
<li class="level3"><a href="#features_34_angle_backend">Support for ANGLE rendering backend selection</a></li>
<li class="level3"><a href="#captured_cursor_34">Captured cursor mode</a></li>
<li class="level3"><a href="#features_34_init_allocator">Support for custom memory allocator</a></li>
<li class="level3"><a href="#features_34_position_hint">Window hints for initial position</a></li>
<li class="level3"><a href="#features_34_win32_keymenu">Support for keyboard access to Windows window menu</a></li>
</ul>
</li>
<li class="level2"><a href="#caveats">Caveats for version 3.4</a><ul><li class="level3"><a href="#native_34">Multiple sets of native access functions</a></li>
<li class="level3"><a href="#version_string_34">Version string format has been changed</a></li>
<li class="level3"><a href="#joysticks_34">Joystick support is initialized on demand</a></li>
<li class="level3"><a href="#wayland_alpha_34">Frambuffer may lack alpha channel on older Wayland systems</a></li>
<li class="level3"><a href="#standalone_34">Tests and examples are disabled when built as a subproject</a></li>
<li class="level3"><a href="#initmenu_34">macOS main menu now created at initialization</a></li>
<li class="level3"><a href="#corevideo_34">CoreVideo dependency has been removed</a></li>
<li class="level3"><a href="#caveat_fbtransparency_34">Framebuffer transparency requires DWM transparency</a></li>
<li class="level3"><a href="#emptyevents_34">Empty events on X11 no longer round-trip to server</a></li>
</ul>
</li>
<li class="level2"><a href="#deprecations_34">Deprecations in version 3.4</a></li>
<li class="level2"><a href="#removals_34">Removals in 3.4</a><ul><li class="level3"><a href="#vulkan_static_34">GLFW_VULKAN_STATIC CMake option has been removed</a></li>
<li class="level3"><a href="#osmesa_option_34">GLFW_USE_OSMESA CMake option has been removed</a></li>
<li class="level3"><a href="#wl_shell_34">Support for the wl_shell protocol has been removed</a></li>
</ul>
</li>
<li class="level2"><a href="#symbols_34">New symbols in version 3.4</a><ul><li class="level3"><a href="#functions_34">New functions in version 3.4</a></li>
<li class="level3"><a href="#types_34">New types in version 3.4</a></li>
<li class="level3"><a href="#constants_34">New constants in version 3.4</a></li>
</ul>
</li>
</ul>
</li>
<li class="level1"><a href="#news_archive">Release notes for earlier versions</a></li>
</ul>
</div>
<div class="textblock"><h1><a class="anchor" id="news_34"></a>
Release notes for version 3.4</h1>
<h2><a class="anchor" id="features_34"></a>
New features in version 3.4</h2>
<h3><a class="anchor" id="runtime_platform_34"></a>
Runtime platform selection</h3>
<p>GLFW now supports being compiled for multiple backends and selecting between them at runtime with the <a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a> init hint. After initialization the selected platform can be queried with <a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a>. You can check if support for a given platform is compiled in with <a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a>.</p>
<h3><a class="anchor" id="standard_cursors_34"></a>
More standard cursors</h3>
<p>GLFW now provides the standard cursor shapes <a class="el" href="group__shapes.html#gadf2c0a495ec9cef4e1a364cc99aa78da">GLFW_RESIZE_NWSE_CURSOR</a> and <a class="el" href="group__shapes.html#gab06bba3b407f92807ba9b48de667a323">GLFW_RESIZE_NESW_CURSOR</a> for diagonal resizing, <a class="el" href="group__shapes.html#ga3a5f4811155f95ccafbbb4c9a899fc1d">GLFW_RESIZE_ALL_CURSOR</a> for omnidirectional resizing and <a class="el" href="group__shapes.html#ga297c503095b034bc8891393b637844b1">GLFW_NOT_ALLOWED_CURSOR</a> for showing an action is not allowed.</p>
<p>Unlike the original set, these shapes may not be available everywhere and creation will then fail with the new <a class="el" href="group__errors.html#ga09d6943923a70ddef3a085f5baee786c">GLFW_CURSOR_UNAVAILABLE</a> error.</p>
<p>The cursors for horizontal and vertical resizing are now referred to as <a class="el" href="group__shapes.html#ga2010a43dc1050a7c9154148a63cf01ad">GLFW_RESIZE_EW_CURSOR</a> and <a class="el" href="group__shapes.html#gaa59214e8cdc8c8adf08fdf125ed68388">GLFW_RESIZE_NS_CURSOR</a>, and the pointing hand cursor is now referred to as <a class="el" href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a>. The older names are still available.</p>
<p>For more information see <a class="el" href="input_guide.html#cursor_standard">Standard cursor creation</a>.</p>
<h3><a class="anchor" id="mouse_passthrough_34"></a>
Mouse event passthrough</h3>
<p>GLFW now provides the <a class="el" href="window_guide.html#GLFW_MOUSE_PASSTHROUGH_hint">GLFW_MOUSE_PASSTHROUGH</a> window hint for making a window transparent to mouse input, lettings events pass to whatever window is behind it. This can also be changed after window creation with the matching <a class="el" href="window_guide.html#GLFW_MOUSE_PASSTHROUGH_attrib">window attribute</a>.</p>
<h3><a class="anchor" id="wayland_app_id_34"></a>
Wayland app_id specification</h3>
<p>GLFW now supports specifying the app_id for a Wayland window using the <a class="el" href="window_guide.html#GLFW_WAYLAND_APP_ID_hint">GLFW_WAYLAND_APP_ID</a> window hint string.</p>
<h3><a class="anchor" id="features_34_angle_backend"></a>
Support for ANGLE rendering backend selection</h3>
<p>GLFW now provides the <a class="el" href="intro_guide.html#GLFW_ANGLE_PLATFORM_TYPE_hint">GLFW_ANGLE_PLATFORM_TYPE</a> init hint for requesting a specific rendering backend when using <a href="https://chromium.googlesource.com/angle/angle/">ANGLE</a> to create OpenGL ES contexts.</p>
<h3><a class="anchor" id="captured_cursor_34"></a>
Captured cursor mode</h3>
<p>GLFW now supports confining the cursor to the window content area with the <a class="el" href="glfw3_8h.html#ac1dbfa0cb4641a0edc93412ade0895dc">GLFW_CURSOR_CAPTURED</a> cursor mode.</p>
<p>For more information see <a class="el" href="input_guide.html#cursor_mode">Cursor mode</a>.</p>
<h3><a class="anchor" id="features_34_init_allocator"></a>
Support for custom memory allocator</h3>
<p>GLFW now supports plugging a custom memory allocator at initialization with <a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a>. The allocator is a struct of type <a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a> with function pointers corresponding to the standard library functions <code>malloc</code>, <code>realloc</code> and <code>free</code>.</p>
<p>For more information see <a class="el" href="intro_guide.html#init_allocator">Custom heap memory allocator</a>.</p>
<h3><a class="anchor" id="features_34_position_hint"></a>
Window hints for initial position</h3>
<p>GLFW now provides the <a class="el" href="window_guide.html#GLFW_POSITION_X">GLFW_POSITION_X</a> and <a class="el" href="window_guide.html#GLFW_POSITION_Y">GLFW_POSITION_Y</a> window hints for specifying the initial position of the window. This removes the need to create a hidden window, move it and then show it. The default value of these hints is <code>GLFW_ANY_POSITION</code>, which selects the previous behavior.</p>
<h3><a class="anchor" id="features_34_win32_keymenu"></a>
Support for keyboard access to Windows window menu</h3>
<p>GLFW now provides the <a class="el" href="window_guide.html#GLFW_WIN32_KEYBOARD_MENU_hint">GLFW_WIN32_KEYBOARD_MENU</a> window hint for enabling keyboard access to the window menu via the Alt+Space and Alt-and-then-Space shortcuts. This may be useful for more GUI-oriented applications.</p>
<h2><a class="anchor" id="caveats"></a>
Caveats for version 3.4</h2>
<h3><a class="anchor" id="native_34"></a>
Multiple sets of native access functions</h3>
<p>Because GLFW now supports runtime selection of platform (window system), a library binary may export native access functions for multiple platforms. Starting with version 3.4 you must not assume that GLFW is running on a platform just because it exports native access functions for it. After initialization, you can query the selected platform with <a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a>.</p>
<h3><a class="anchor" id="version_string_34"></a>
Version string format has been changed</h3>
<p>Because GLFW now supports runtime selection of platform (window system), the version string returned by <a class="el" href="group__init.html#ga026abd003c8e6501981ab1662062f1c0">glfwGetVersionString</a> has been expanded. It now contains the names of all APIs for all the platforms that the library binary supports.</p>
<h3><a class="anchor" id="joysticks_34"></a>
Joystick support is initialized on demand</h3>
<p>The joystick part of GLFW is now initialized when first used, primarily to work around faulty Windows drivers that cause DirectInput to take up to several seconds to enumerate devices.</p>
<p>This change will usually not be observable. However, if your application waits for events without having first called any joystick function or created any visible windows, the wait may never unblock as GLFW may not yet have subscribed to joystick related OS events.</p>
<p>To work around this, call any joystick function before waiting for events, for example by setting a <a class="el" href="input_guide.html#joystick_event">joystick callback</a>.</p>
<h3><a class="anchor" id="wayland_alpha_34"></a>
Frambuffer may lack alpha channel on older Wayland systems</h3>
<p>On Wayland, when creating an EGL context on a machine lacking the new <code>EGL_EXT_present_opaque</code> extension, the <a class="el" href="window_guide.html#GLFW_ALPHA_BITS">GLFW_ALPHA_BITS</a> window hint will be ignored and the framebuffer will have no alpha channel. This is because some Wayland compositors treat any buffer with an alpha channel as per-pixel transparent.</p>
<p>If you want a per-pixel transparent window, see the <a class="el" href="window_guide.html#GLFW_TRANSPARENT_FRAMEBUFFER_hint">GLFW_TRANSPARENT_FRAMEBUFFER</a> window hint.</p>
<h3><a class="anchor" id="standalone_34"></a>
Tests and examples are disabled when built as a subproject</h3>
<p>GLFW now does not build the tests and examples when it is added as a subdirectory of another CMake project. To enable these, set the <a class="el" href="compile_guide.html#GLFW_BUILD_TESTS">GLFW_BUILD_TESTS</a> and <a class="el" href="compile_guide.html#GLFW_BUILD_EXAMPLES">GLFW_BUILD_EXAMPLES</a> cache variables before adding the GLFW subdirectory.</p>
<div class="fragment"><div class="line">set(GLFW_BUILD_EXAMPLES ON CACHE BOOL &quot;&quot; FORCE)</div>
<div class="line">set(GLFW_BUILD_TESTS ON CACHE BOOL &quot;&quot; FORCE)</div>
<div class="line">add_subdirectory(path/to/glfw)</div>
</div><!-- fragment --><h3><a class="anchor" id="initmenu_34"></a>
macOS main menu now created at initialization</h3>
<p>GLFW now creates the main menu and completes the initialization of NSApplication during initialization. Programs that do not want a main menu can disable it with the <a class="el" href="intro_guide.html#GLFW_COCOA_MENUBAR_hint">GLFW_COCOA_MENUBAR</a> init hint.</p>
<h3><a class="anchor" id="corevideo_34"></a>
CoreVideo dependency has been removed</h3>
<p>GLFW no longer depends on the CoreVideo framework on macOS and it no longer needs to be specified during compilation or linking.</p>
<h3><a class="anchor" id="caveat_fbtransparency_34"></a>
Framebuffer transparency requires DWM transparency</h3>
<p>GLFW no longer supports framebuffer transparency enabled via <a class="el" href="group__window.html#ga60a0578c3b9449027d683a9c6abb9f14">GLFW_TRANSPARENT_FRAMEBUFFER</a> on Windows 7 if DWM transparency is off (the Transparency setting under Personalization &gt; Window Color).</p>
<h3><a class="anchor" id="emptyevents_34"></a>
Empty events on X11 no longer round-trip to server</h3>
<p>Events posted with <a class="el" href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a> now use a separate unnamed pipe instead of sending an X11 client event to the helper window.</p>
<h2><a class="anchor" id="deprecations_34"></a>
Deprecations in version 3.4</h2>
<h2><a class="anchor" id="removals_34"></a>
Removals in 3.4</h2>
<h3><a class="anchor" id="vulkan_static_34"></a>
GLFW_VULKAN_STATIC CMake option has been removed</h3>
<p>This option was used to compile GLFW directly linked with the Vulkan loader, instead of using dynamic loading to get hold of <code>vkGetInstanceProcAddr</code> at initialization. This is now done by calling the <a class="el" href="group__init.html#ga76af552d0307bb5f7791f245417d4752">glfwInitVulkanLoader</a> function before initialization.</p>
<p>If you need backward compatibility, this macro can still be defined for GLFW 3.4 and will have no effect. The call to <a class="el" href="group__init.html#ga76af552d0307bb5f7791f245417d4752">glfwInitVulkanLoader</a> can be conditionally enabled in your code by checking the <a class="el" href="group__init.html#ga6337d9ea43b22fc529b2bba066b4a576">GLFW_VERSION_MAJOR</a> and <a class="el" href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">GLFW_VERSION_MINOR</a> macros.</p>
<h3><a class="anchor" id="osmesa_option_34"></a>
GLFW_USE_OSMESA CMake option has been removed</h3>
<p>This option was used to compile GLFW for the Null platform. The Null platform is now always supported. To produce a library binary that only supports this platform, the way this CMake option used to do, you will instead need to disable the default platform for the target OS. This means setting the <a class="el" href="compile_guide.html#GLFW_BUILD_WIN32">GLFW_BUILD_WIN32</a>, <a class="el" href="compile_guide.html#GLFW_BUILD_COCOA">GLFW_BUILD_COCOA</a> or <a class="el" href="compile_guide.html#GLFW_BUILD_X11">GLFW_BUILD_X11</a> CMake option to false.</p>
<p>You can set all of them to false and the ones that don't apply for the target OS will be ignored.</p>
<h3><a class="anchor" id="wl_shell_34"></a>
Support for the wl_shell protocol has been removed</h3>
<p>Support for the wl_shell protocol has been removed and GLFW now only supports the XDG-Shell protocol. If your Wayland compositor does not support XDG-Shell then GLFW will fail to initialize.</p>
<h2><a class="anchor" id="symbols_34"></a>
New symbols in version 3.4</h2>
<h3><a class="anchor" id="functions_34"></a>
New functions in version 3.4</h3>
<ul>
<li><a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a></li>
<li><a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a></li>
<li><a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a></li>
<li><a class="el" href="group__init.html#ga76af552d0307bb5f7791f245417d4752">glfwInitVulkanLoader</a></li>
</ul>
<h3><a class="anchor" id="types_34"></a>
New types in version 3.4</h3>
<ul>
<li><a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a></li>
<li><a class="el" href="group__init.html#ga4306a564e9f60f4de8cc8f31731a3120">GLFWallocatefun</a></li>
<li><a class="el" href="group__init.html#ga3e88a829615d8efe8bec1746f7309c63">GLFWreallocatefun</a></li>
<li><a class="el" href="group__init.html#ga7181615eda94c4b07bd72bdcee39fa28">GLFWdeallocatefun</a></li>
</ul>
<h3><a class="anchor" id="constants_34"></a>
New constants in version 3.4</h3>
<ul>
<li><a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a></li>
<li><a class="el" href="group__init.html#ga18b2d37374d0dea28cd69194fa85b859">GLFW_ANY_PLATFORM</a></li>
<li><a class="el" href="group__init.html#ga8d3d17df2ab57492cef665da52c603a1">GLFW_PLATFORM_WIN32</a></li>
<li><a class="el" href="group__init.html#ga83b18714254f75bc2f0cdbafa0f10b6b">GLFW_PLATFORM_COCOA</a></li>
<li><a class="el" href="group__init.html#gac4b08906a3cbf26c518a4a543eedd740">GLFW_PLATFORM_WAYLAND</a></li>
<li><a class="el" href="group__init.html#gaf5333f3933e9c248a00cfda6523f386b">GLFW_PLATFORM_X11</a></li>
<li><a class="el" href="group__init.html#gac06fad5a4866ae7a1d7b2675fac72d7f">GLFW_PLATFORM_NULL</a></li>
<li><a class="el" href="group__errors.html#ga3608c6c29ab7a72f3bf019f4c3a2563d">GLFW_PLATFORM_UNAVAILABLE</a></li>
<li><a class="el" href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a></li>
<li><a class="el" href="group__shapes.html#ga2010a43dc1050a7c9154148a63cf01ad">GLFW_RESIZE_EW_CURSOR</a></li>
<li><a class="el" href="group__shapes.html#gaa59214e8cdc8c8adf08fdf125ed68388">GLFW_RESIZE_NS_CURSOR</a></li>
<li><a class="el" href="group__shapes.html#gadf2c0a495ec9cef4e1a364cc99aa78da">GLFW_RESIZE_NWSE_CURSOR</a></li>
<li><a class="el" href="group__shapes.html#gab06bba3b407f92807ba9b48de667a323">GLFW_RESIZE_NESW_CURSOR</a></li>
<li><a class="el" href="group__shapes.html#ga3a5f4811155f95ccafbbb4c9a899fc1d">GLFW_RESIZE_ALL_CURSOR</a></li>
<li><a class="el" href="group__window.html#ga88981797d29800808ec242274ab5c03a">GLFW_MOUSE_PASSTHROUGH</a></li>
<li><a class="el" href="group__shapes.html#ga297c503095b034bc8891393b637844b1">GLFW_NOT_ALLOWED_CURSOR</a></li>
<li><a class="el" href="group__errors.html#ga09d6943923a70ddef3a085f5baee786c">GLFW_CURSOR_UNAVAILABLE</a></li>
<li><a class="el" href="group__window.html#gaf65ea8dafdc0edb07b821b9a336d5043">GLFW_WIN32_KEYBOARD_MENU</a></li>
<li><a class="el" href="group__window.html#ga8d55e3afec73c7de0509c3b7ad1d9e3f">GLFW_CONTEXT_DEBUG</a></li>
<li><a class="el" href="group__errors.html#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</a></li>
<li><a class="el" href="group__errors.html#ga5dda77e023e83151e8bd55a6758f946a">GLFW_FEATURE_UNIMPLEMENTED</a></li>
<li><a class="el" href="group__init.html#gaec269b24cf549ab46292c0125d8bbdce">GLFW_ANGLE_PLATFORM_TYPE</a></li>
<li><a class="el" href="glfw3_8h.html#ae78e673449c2a2b8c560ca1b1e283228">GLFW_ANGLE_PLATFORM_TYPE_NONE</a></li>
<li><a class="el" href="glfw3_8h.html#ad8d9e97ed7790811470366b338833623">GLFW_ANGLE_PLATFORM_TYPE_OPENGL</a></li>
<li><a class="el" href="glfw3_8h.html#a0003c089da020cbf957218e70245bb65">GLFW_ANGLE_PLATFORM_TYPE_OPENGLES</a></li>
<li><a class="el" href="glfw3_8h.html#a6e8fdc83113d247ad792bb5c4e82c894">GLFW_ANGLE_PLATFORM_TYPE_D3D9</a></li>
<li><a class="el" href="glfw3_8h.html#ad6eae659811a52a5cdc43c362aedfa33">GLFW_ANGLE_PLATFORM_TYPE_D3D11</a></li>
<li><a class="el" href="glfw3_8h.html#a579ac83506c7546709dad91960cc7ca1">GLFW_ANGLE_PLATFORM_TYPE_VULKAN</a></li>
<li><a class="el" href="glfw3_8h.html#ab56d91b26cf223dc67590a93a2f8507d">GLFW_ANGLE_PLATFORM_TYPE_METAL</a></li>
<li><a class="el" href="group__init.html#gaa341e303ebeb8e4199b8ab8be84351f6">GLFW_X11_XCB_VULKAN_SURFACE</a></li>
<li><a class="el" href="glfw3_8h.html#ac1dbfa0cb4641a0edc93412ade0895dc">GLFW_CURSOR_CAPTURED</a></li>
<li><a class="el" href="window_guide.html#GLFW_POSITION_X">GLFW_POSITION_X</a></li>
<li><a class="el" href="window_guide.html#GLFW_POSITION_Y">GLFW_POSITION_Y</a></li>
<li><a class="el" href="glfw3_8h.html#aa0e681bf859ef1bb8355692a70b0ee92">GLFW_ANY_POSITION</a></li>
</ul>
<h1><a class="anchor" id="news_archive"></a>
Release notes for earlier versions</h1>
<ul>
<li><a href="https://www.glfw.org/docs/3.3/news.html">Release notes for 3.3</a></li>
<li><a href="https://www.glfw.org/docs/3.2/news.html">Release notes for 3.2</a></li>
<li><a href="https://www.glfw.org/docs/3.1/news.html">Release notes for 3.1</a></li>
<li><a href="https://www.glfw.org/docs/3.0/news.html">Release notes for 3.0</a> </li>
</ul>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<address class="footer">
<p>
Last update on Thu Mar 2 2023 for GLFW 3.4.0
</p>
</address>
</body>
</html>