aboutsummaryrefslogtreecommitdiff
path: root/3rdparty/glfw/source/docs/news.dox
diff options
context:
space:
mode:
authorhnOsmium0001 <[email protected]>2022-04-03 18:36:23 -0700
committerhnOsmium0001 <[email protected]>2022-04-03 18:36:23 -0700
commitebd42760caaec8330a3c028f31adc7bc0b339d16 (patch)
treea1a01147b78f10f467b757ecee7056d09d594230 /3rdparty/glfw/source/docs/news.dox
Initial commit
Diffstat (limited to '3rdparty/glfw/source/docs/news.dox')
-rw-r--r--3rdparty/glfw/source/docs/news.dox240
1 files changed, 240 insertions, 0 deletions
diff --git a/3rdparty/glfw/source/docs/news.dox b/3rdparty/glfw/source/docs/news.dox
new file mode 100644
index 0000000..fbf6031
--- /dev/null
+++ b/3rdparty/glfw/source/docs/news.dox
@@ -0,0 +1,240 @@
+/*!
+
+@page news Release notes
+
+@tableofcontents
+
+
+@section news_34 Release notes for version 3.4
+
+@subsection features_34 New features in version 3.4
+
+@subsubsection runtime_platform_34 Runtime platform selection
+
+GLFW now supports being compiled for multiple backends and selecting between
+them at runtime with the @ref GLFW_PLATFORM init hint. After initialization the
+selected platform can be queried with @ref glfwGetPlatform. You can check if
+support for a given platform is compiled in with @ref glfwPlatformSupported.
+
+
+@subsubsection standard_cursors_34 More standard cursors
+
+GLFW now provides the standard cursor shapes @ref GLFW_RESIZE_NWSE_CURSOR and
+@ref GLFW_RESIZE_NESW_CURSOR for diagonal resizing, @ref GLFW_RESIZE_ALL_CURSOR
+for omni-directional resizing and @ref GLFW_NOT_ALLOWED_CURSOR for showing an
+action is not allowed.
+
+Unlike the original set, these shapes may not be available everywhere and
+creation will then fail with the new @ref GLFW_CURSOR_UNAVAILABLE error.
+
+The cursors for horizontal and vertical resizing are now referred to as @ref
+GLFW_RESIZE_EW_CURSOR and @ref GLFW_RESIZE_NS_CURSOR, and the pointing hand
+cursor is now referred to as @ref GLFW_POINTING_HAND_CURSOR. The older names
+are still available.
+
+For more information see @ref cursor_standard.
+
+
+@subsubsection mouse_passthrough_34 Mouse event passthrough
+
+GLFW now provides the [GLFW_MOUSE_PASSTHROUGH](@ref GLFW_MOUSE_PASSTHROUGH_hint)
+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 [window attribute](@ref GLFW_MOUSE_PASSTHROUGH_attrib).
+
+
+@subsubsection features_34_angle_backend Support for ANGLE rendering backend selection
+
+GLFW now provides the
+[GLFW_ANGLE_PLATFORM_TYPE](@ref GLFW_ANGLE_PLATFORM_TYPE_hint) init hint for
+requesting a specific rendering backend when using
+[ANGLE](https://chromium.googlesource.com/angle/angle/) to create OpenGL ES
+contexts.
+
+
+@subsubsection features_34_init_allocator Support for custom memory allocator
+
+GLFW now supports plugging a custom memory allocator at initialization with @ref
+glfwInitAllocator. The allocator is a struct of type @ref GLFWallocator with
+function pointers corresponding to the standard library functions `malloc`,
+`realloc` and `free`.
+
+For more information see @ref init_allocator.
+
+
+@subsubsection features_34_win32_keymenu Support for keyboard access to Windows window menu
+
+GLFW now provides the
+[GLFW_WIN32_KEYBOARD_MENU](@ref GLFW_WIN32_KEYBOARD_MENU_hint) 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.
+
+
+@subsection caveats Caveats for version 3.4
+
+@subsubsection native_34 Multiple sets of native access functions
+
+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 @ref
+glfwGetPlatform.
+
+
+@subsubsection version_string_34 Version string format has been changed
+
+Because GLFW now supports runtime selection of platform (window system), the version
+string returned by @ref glfwGetVersionString has been expanded. It now contains the names
+of all APIs for all the platforms that the library binary supports.
+
+
+@subsubsection joysticks_34 Joystick support is initialized on demand
+
+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.
+
+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.
+
+To work around this, call any joystick function before waiting for events, for
+example by setting a [joystick callback](@ref joystick_event).
+
+
+@subsubsection standalone_34 Tests and examples are disabled when built as a sub-project
+
+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 @ref
+GLFW_BUILD_TESTS and @ref GLFW_BUILD_EXAMPLES cache variables before adding the
+GLFW subdirectory.
+
+@code{.cmake}
+set(GLFW_BUILD_EXAMPLES ON CACHE BOOL "" FORCE)
+set(GLFW_BUILD_TESTS ON CACHE BOOL "" FORCE)
+add_subdirectory(path/to/glfw)
+@endcode
+
+
+@subsubsection initmenu_34 macOS main menu now created at initialization
+
+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 [GLFW_COCOA_MENUBAR](@ref GLFW_COCOA_MENUBAR_hint) init hint.
+
+
+@subsubsection corevideo_34 CoreVideo dependency has been removed
+
+GLFW no longer depends on the CoreVideo framework on macOS and it no longer
+needs to be specified during compilation or linking.
+
+
+@subsubsection caveat_fbtransparency_34 Framebuffer transparency requires DWM transparency
+
+GLFW no longer supports framebuffer transparency enabled via @ref
+GLFW_TRANSPARENT_FRAMEBUFFER on Windows 7 if DWM transparency is off
+(the Transparency setting under Personalization > Window Color).
+
+
+@subsubsection emptyevents_34 Empty events on X11 no longer roundtrip to server
+
+Events posted with @ref glfwPostEmptyEvent now use a separate unnamed pipe
+instead of sending an X11 client event to the helper window.
+
+
+@subsection deprecations_34 Deprecations in version 3.4
+
+@subsection removals_34 Removals in 3.4
+
+@subsubsection vulkan_static_34 GLFW_VULKAN_STATIC CMake option has been removed
+
+This option was used to compile GLFW directly linked with the Vulkan loader, instead of
+using dynamic loading to get hold of `vkGetInstanceProcAddr` at initialization. This is
+now done by calling the @ref glfwInitVulkanLoader function before initialization.
+
+If you need backward compatibility, this macro can still be defined for GLFW 3.4 and will
+have no effect. The call to @ref glfwInitVulkanLoader can be conditionally enabled in
+your code by checking the @ref GLFW_VERSION_MAJOR and @ref GLFW_VERSION_MINOR macros.
+
+
+@subsubsection osmesa_option_34 GLFW_USE_OSMESA CMake option has been removed
+
+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 @ref GLFW_BUILD_WIN32, @ref GLFW_BUILD_COCOA or
+@ref GLFW_BUILD_X11 CMake option to false.
+
+You can set all of them to false and the ones that don't apply for the target OS will be
+ignored.
+
+
+@subsubsection wl_shell_34 Support for the wl_shell protocol has been removed
+
+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.
+
+
+@subsection symbols_34 New symbols in version 3.4
+
+@subsubsection functions_34 New functions in version 3.4
+
+ - @ref glfwInitAllocator
+ - @ref glfwGetPlatform
+ - @ref glfwPlatformSupported
+ - @ref glfwInitVulkanLoader
+
+
+@subsubsection types_34 New types in version 3.4
+
+ - @ref GLFWallocator
+ - @ref GLFWallocatefun
+ - @ref GLFWreallocatefun
+ - @ref GLFWdeallocatefun
+
+
+@subsubsection constants_34 New constants in version 3.4
+
+ - @ref GLFW_PLATFORM
+ - @ref GLFW_ANY_PLATFORM
+ - @ref GLFW_PLATFORM_WIN32
+ - @ref GLFW_PLATFORM_COCOA
+ - @ref GLFW_PLATFORM_WAYLAND
+ - @ref GLFW_PLATFORM_X11
+ - @ref GLFW_PLATFORM_NULL
+ - @ref GLFW_PLATFORM_UNAVAILABLE
+ - @ref GLFW_POINTING_HAND_CURSOR
+ - @ref GLFW_RESIZE_EW_CURSOR
+ - @ref GLFW_RESIZE_NS_CURSOR
+ - @ref GLFW_RESIZE_NWSE_CURSOR
+ - @ref GLFW_RESIZE_NESW_CURSOR
+ - @ref GLFW_RESIZE_ALL_CURSOR
+ - @ref GLFW_MOUSE_PASSTHROUGH
+ - @ref GLFW_NOT_ALLOWED_CURSOR
+ - @ref GLFW_CURSOR_UNAVAILABLE
+ - @ref GLFW_WIN32_KEYBOARD_MENU
+ - @ref GLFW_CONTEXT_DEBUG
+ - @ref GLFW_FEATURE_UNAVAILABLE
+ - @ref GLFW_FEATURE_UNIMPLEMENTED
+ - @ref GLFW_ANGLE_PLATFORM_TYPE
+ - @ref GLFW_ANGLE_PLATFORM_TYPE_NONE
+ - @ref GLFW_ANGLE_PLATFORM_TYPE_OPENGL
+ - @ref GLFW_ANGLE_PLATFORM_TYPE_OPENGLES
+ - @ref GLFW_ANGLE_PLATFORM_TYPE_D3D9
+ - @ref GLFW_ANGLE_PLATFORM_TYPE_D3D11
+ - @ref GLFW_ANGLE_PLATFORM_TYPE_VULKAN
+ - @ref GLFW_ANGLE_PLATFORM_TYPE_METAL
+ - @ref GLFW_X11_XCB_VULKAN_SURFACE
+
+
+@section news_archive Release notes for earlier versions
+
+- [Release notes for 3.3](https://www.glfw.org/docs/3.3/news.html)
+- [Release notes for 3.2](https://www.glfw.org/docs/3.2/news.html)
+- [Release notes for 3.1](https://www.glfw.org/docs/3.1/news.html)
+- [Release notes for 3.0](https://www.glfw.org/docs/3.0/news.html)
+
+*/