|
|
|
@ -118,188 +118,7 @@ information on what to include when reporting a bug. |
|
|
|
|
|
|
|
|
|
## Changelog |
|
|
|
|
|
|
|
|
|
- Added `glfwGetError` function for querying the last error code and its |
|
|
|
|
description (#970) |
|
|
|
|
- Added `glfwUpdateGamepadMappings` function for importing gamepad mappings in |
|
|
|
|
SDL\_GameControllerDB format (#900) |
|
|
|
|
- Added `glfwJoystickIsGamepad` function for querying whether a joystick has |
|
|
|
|
a gamepad mapping (#900) |
|
|
|
|
- Added `glfwGetJoystickGUID` function for querying the SDL compatible GUID of |
|
|
|
|
a joystick (#900) |
|
|
|
|
- Added `glfwGetGamepadName` function for querying the name provided by the |
|
|
|
|
gamepad mapping (#900) |
|
|
|
|
- Added `glfwGetGamepadState` function, `GLFW_GAMEPAD_*` and `GLFWgamepadstate` |
|
|
|
|
for retrieving gamepad input state (#900) |
|
|
|
|
- Added `glfwGetWindowContentScale`, `glfwGetMonitorContentScale` and |
|
|
|
|
`glfwSetWindowContentScaleCallback` for DPI-aware rendering |
|
|
|
|
(#235,#439,#677,#845,#898) |
|
|
|
|
- Added `glfwRequestWindowAttention` function for requesting attention from the |
|
|
|
|
user (#732,#988) |
|
|
|
|
- Added `glfwGetMonitorWorkarea` function for retrieving the monitor work area |
|
|
|
|
(#920,#989,#1322) |
|
|
|
|
- Added `glfwGetKeyScancode` function that allows retrieving platform dependent |
|
|
|
|
scancodes for keys (#830) |
|
|
|
|
- Added `glfwSetWindowMaximizeCallback` and `GLFWwindowmaximizefun` for |
|
|
|
|
receiving window maximization events (#778) |
|
|
|
|
- Added `glfwSetWindowAttrib` function for changing window attributes (#537) |
|
|
|
|
- Added `glfwGetJoystickHats` function for querying joystick hats |
|
|
|
|
(#889,#906,#934) |
|
|
|
|
- Added `glfwInitHint` for setting initialization hints |
|
|
|
|
- Added `glfwWindowHintString` for setting string type window hints (#893,#1139) |
|
|
|
|
- Added `glfwGetWindowOpacity` and `glfwSetWindowOpacity` for controlling whole |
|
|
|
|
window transparency (#1089) |
|
|
|
|
- Added `glfwSetMonitorUserPointer` and `glfwGetMonitorUserPointer` for |
|
|
|
|
per-monitor user pointers |
|
|
|
|
- Added `glfwSetJoystickUserPointer` and `glfwGetJoystickUserPointer` for |
|
|
|
|
per-joystick user pointers |
|
|
|
|
- Added `glfwGetX11SelectionString` and `glfwSetX11SelectionString` |
|
|
|
|
functions for accessing X11 primary selection (#894,#1056) |
|
|
|
|
- Added `glfwRawMouseMotionSupported` function for querying raw motion support |
|
|
|
|
(#125,#1400,#1401) |
|
|
|
|
- Added headless [OSMesa](http://mesa3d.org/osmesa.html) backend (#850) |
|
|
|
|
- Added definition of `GLAPIENTRY` to public header |
|
|
|
|
- Added `GLFW_TRANSPARENT_FRAMEBUFFER` window hint and attribute for controlling |
|
|
|
|
per-pixel framebuffer transparency (#197,#663,#715,#723,#1078) |
|
|
|
|
- Added `GLFW_HOVERED` window attribute for polling cursor hover state (#1166) |
|
|
|
|
- Added `GLFW_CENTER_CURSOR` window hint for controlling cursor centering |
|
|
|
|
(#749,#842) |
|
|
|
|
- Added `GLFW_FOCUS_ON_SHOW` window hint and attribute to control input focus |
|
|
|
|
on calling show window (#1189) |
|
|
|
|
- Added `GLFW_SCALE_TO_MONITOR` window hint for automatic window resizing |
|
|
|
|
(#676,#1115) |
|
|
|
|
- Added `GLFW_JOYSTICK_HAT_BUTTONS` init hint (#889) |
|
|
|
|
- Added `GLFW_LOCK_KEY_MODS` input mode and `GLFW_MOD_*_LOCK` mod bits (#946) |
|
|
|
|
- Added `GLFW_RAW_MOUSE_MOTION` input mode for selecting raw motion input |
|
|
|
|
(#125,#1400,#1401) |
|
|
|
|
- Added macOS specific `GLFW_COCOA_RETINA_FRAMEBUFFER` window hint |
|
|
|
|
- Added macOS specific `GLFW_COCOA_FRAME_NAME` window hint (#195) |
|
|
|
|
- Added macOS specific `GLFW_COCOA_GRAPHICS_SWITCHING` window hint (#377,#935) |
|
|
|
|
- Added macOS specific `GLFW_COCOA_CHDIR_RESOURCES` init hint |
|
|
|
|
- Added macOS specific `GLFW_COCOA_MENUBAR` init hint |
|
|
|
|
- Added X11 specific `GLFW_X11_CLASS_NAME` and `GLFW_X11_INSTANCE_NAME` window |
|
|
|
|
hints (#893,#1139) |
|
|
|
|
- Added `GLFW_INCLUDE_ES32` for including the OpenGL ES 3.2 header |
|
|
|
|
- Added `GLFW_OSMESA_CONTEXT_API` for creating OpenGL contexts with |
|
|
|
|
[OSMesa](https://www.mesa3d.org/osmesa.html) (#281) |
|
|
|
|
- Added `GenerateMappings.cmake` script for updating gamepad mappings |
|
|
|
|
- Made `glfwCreateWindowSurface` emit an error when the window has a context |
|
|
|
|
(#1194,#1205) |
|
|
|
|
- Deprecated window parameter of clipboard string functions |
|
|
|
|
- Deprecated charmods callback |
|
|
|
|
- Removed `GLFW_USE_RETINA` compile-time option |
|
|
|
|
- Removed `GLFW_USE_CHDIR` compile-time option |
|
|
|
|
- Removed `GLFW_USE_MENUBAR` compile-time option |
|
|
|
|
- Removed requirement of at least one window for `glfwWaitEvents` and |
|
|
|
|
`glfwPostEmptyEvent` (#1317) |
|
|
|
|
- Removed all dependencies on the Vulkan SDK |
|
|
|
|
- Bugfix: Calling `glfwMaximizeWindow` on a full screen window was not ignored |
|
|
|
|
- Bugfix: `GLFW_INCLUDE_VULKAN` could not be combined with the corresponding |
|
|
|
|
OpenGL and OpenGL ES header macros |
|
|
|
|
- Bugfix: `glfwGetInstanceProcAddress` returned `NULL` for |
|
|
|
|
`vkGetInstanceProcAddr` when `_GLFW_VULKAN_STATIC` was enabled |
|
|
|
|
- Bugfix: Invalid library paths were used in test and example CMake files (#930) |
|
|
|
|
- Bugfix: The scancode for synthetic key release events was always zero |
|
|
|
|
- Bugfix: The generated Doxyfile did not handle paths with spaces (#1081) |
|
|
|
|
- Bugfix: The gamma ramp generated by `glfwSetGamma` did not use the monitor |
|
|
|
|
ramp size (#1387,#1388) |
|
|
|
|
- [Win32] Added system error strings to relevant GLFW error descriptions (#733) |
|
|
|
|
- [Win32] Removed XInput circular deadzone from joystick axis data (#1045) |
|
|
|
|
- [Win32] Bugfix: Undecorated windows could not be iconified by the user (#861) |
|
|
|
|
- [Win32] Bugfix: Deadzone logic could underflow with some controllers (#910) |
|
|
|
|
- [Win32] Bugfix: `glfwVulkanSupported` emitted an error on systems with |
|
|
|
|
a loader but no ICD (#916) |
|
|
|
|
- [Win32] Bugfix: Non-iconified full sreeen windows did not prevent screen |
|
|
|
|
blanking or password enabled screensavers (#851) |
|
|
|
|
- [Win32] Bugfix: Mouse capture logic lost secondary release messages (#954) |
|
|
|
|
- [Win32] Bugfix: Monitors with no display devices were not enumerated (#960) |
|
|
|
|
- [Win32] Bugfix: Monitor events were not emitted (#784) |
|
|
|
|
- [Win32] Bugfix: The DLL was installed to the wrong directory on Cygwin (#1035) |
|
|
|
|
- [Win32] Bugfix: Normalization of axis data via XInput was incorrect (#1045) |
|
|
|
|
- [Win32] Bugfix: `glfw3native.h` would undefine a foreign `APIENTRY` (#1062) |
|
|
|
|
- [Win32] Bugfix: Disabled cursor mode prevented use of caption buttons |
|
|
|
|
(#650,#1071) |
|
|
|
|
- [Win32] Bugfix: Returned key names did not match other platforms (#943) |
|
|
|
|
- [Win32] Bugfix: Undecorated windows did not maximize to workarea (#899) |
|
|
|
|
- [Win32] Bugfix: Window was resized twice when entering full screen (#1085) |
|
|
|
|
- [Win32] Bugfix: The HID device notification was not unregistered (#1170) |
|
|
|
|
- [Win32] Bugfix: `glfwCreateWindow` activated window even with `GLFW_FOCUSED` |
|
|
|
|
hint set to false (#1179,#1180) |
|
|
|
|
- [Win32] Bugfix: The keypad equals key was reported as `GLFW_KEY_UNKNOWN` |
|
|
|
|
(#1315,#1316) |
|
|
|
|
- [Win32] Bugfix: A title bar would be drawn over undecorated windows in some |
|
|
|
|
circumstances (#1383) |
|
|
|
|
- [Win32] Bugfix: Standard cursors were not per-monitor DPI aware (#1431) |
|
|
|
|
- [X11] Replaced `_GLFW_HAS_XF86VM` compile-time option with dynamic loading |
|
|
|
|
- [X11] Bugfix: `glfwGetVideoMode` would segfault on Cygwin/X |
|
|
|
|
- [X11] Bugfix: Dynamic X11 library loading did not use full sonames (#941) |
|
|
|
|
- [X11] Bugfix: Window creation on 64-bit would read past top of stack (#951) |
|
|
|
|
- [X11] Bugfix: XDND support had multiple non-conformance issues (#968) |
|
|
|
|
- [X11] Bugfix: The RandR monitor path was disabled despite working RandR (#972) |
|
|
|
|
- [X11] Bugfix: IM-duplicated key events would leak at low polling rates (#747) |
|
|
|
|
- [X11] Bugfix: Gamma ramp setting via RandR did not validate ramp size |
|
|
|
|
- [X11] Bugfix: Key name string encoding depended on current locale (#981,#983) |
|
|
|
|
- [X11] Bugfix: Incremental reading of selections was not supported (#275) |
|
|
|
|
- [X11] Bugfix: Selection I/O reported but did not support `COMPOUND_TEXT` |
|
|
|
|
- [X11] Bugfix: Latin-1 text read from selections was not converted to UTF-8 |
|
|
|
|
- [X11] Bugfix: NVidia EGL would segfault if unloaded before closing the display |
|
|
|
|
- [X11] Bugfix: Checking window maximized attrib could crash some WMs (#1356) |
|
|
|
|
- [X11] Bugfix: Update cursor position on enter event (#1366) |
|
|
|
|
- [X11] Bugfix: `glfwSetWindowMonitor` did not update hints when resizing |
|
|
|
|
non-user-resizable windows |
|
|
|
|
- [X11] Bugfix: `glfwSetWindowMonitor` did not flush output buffer in some cases |
|
|
|
|
- [X11] Bugfix: `glfwSetWindowMonitor` did not update the EWMH state of hidden |
|
|
|
|
windows (#1358) |
|
|
|
|
- [Linux] Added workaround for missing `SYN_DROPPED` in pre-2.6.39 kernel |
|
|
|
|
headers (#1196) |
|
|
|
|
- [Linux] Moved to evdev for joystick input (#906,#1005) |
|
|
|
|
- [Linux] Bugfix: Event processing did not detect joystick disconnection (#932) |
|
|
|
|
- [Linux] Bugfix: The joystick device path could be truncated (#1025) |
|
|
|
|
- [Linux] Bugfix: `glfwInit` would fail if inotify creation failed (#833) |
|
|
|
|
- [Linux] Bugfix: `strdup` was used without any required feature macro (#1055) |
|
|
|
|
- [Cocoa] Added support for Vulkan window surface creation via |
|
|
|
|
[MoltenVK](https://moltengl.com/moltenvk/) (#870) |
|
|
|
|
- [Cocoa] Added support for loading a `MainMenu.nib` when available |
|
|
|
|
- [Cocoa] Disabled automatic window tabbing for created windows (#1250) |
|
|
|
|
- [Cocoa] Bugfix: Disabling window aspect ratio would assert (#852) |
|
|
|
|
- [Cocoa] Bugfix: Window creation failed to set first responder (#876,#883) |
|
|
|
|
- [Cocoa] Bugfix: Removed use of deprecated `CGDisplayIOServicePort` function |
|
|
|
|
(#165,#192,#508,#511) |
|
|
|
|
- [Cocoa] Bugfix: Disabled use of deprecated `CGDisplayModeCopyPixelEncoding` |
|
|
|
|
function on macOS 10.12+ |
|
|
|
|
- [Cocoa] Bugfix: Running in AppSandbox would emit warnings (#816,#882) |
|
|
|
|
- [Cocoa] Bugfix: Windows created after the first were not cascaded (#195) |
|
|
|
|
- [Cocoa] Bugfix: Leaving video mode with `glfwSetWindowMonitor` would set |
|
|
|
|
incorrect position and size (#748) |
|
|
|
|
- [Cocoa] Bugfix: Iconified full screen windows could not be restored (#848) |
|
|
|
|
- [Cocoa] Bugfix: Value range was ignored for joystick hats and buttons (#888) |
|
|
|
|
- [Cocoa] Bugfix: Full screen framebuffer was incorrectly sized for some video |
|
|
|
|
modes (#682) |
|
|
|
|
- [Cocoa] Bugfix: A string object for IME was updated non-idiomatically (#1050) |
|
|
|
|
- [Cocoa] Bugfix: A hidden or disabled cursor would become visible when a user |
|
|
|
|
notification was shown (#971,#1028) |
|
|
|
|
- [Cocoa] Bugfix: Some characters did not repeat due to Press and Hold (#1010) |
|
|
|
|
- [Cocoa] Bugfix: Window title was lost when full screen or undecorated (#1082) |
|
|
|
|
- [Cocoa] Bugfix: Window was resized twice when entering full screen (#1085) |
|
|
|
|
- [Cocoa] Bugfix: Duplicate size events were not filtered (#1085) |
|
|
|
|
- [Cocoa] Bugfix: Event polling did not initialize AppKit if necessary (#1218) |
|
|
|
|
- [Cocoa] Bugfix: OpenGL rendering was not visible before resize on early macOS |
|
|
|
|
10.14 (#1334,#1346) |
|
|
|
|
- [Cocoa] Bugfix: Caps Lock did not generate any key events (#1368,#1373) |
|
|
|
|
- [Cocoa] Bugfix: Some buttons for some joysticks were ignored (#1385) |
|
|
|
|
- [Cocoa] Bugfix: Analog joystick buttons were not translated correctly (#1385) |
|
|
|
|
- [Cocoa] Bugfix: OpenGL swap interval was ignored for occluded windows (#680) |
|
|
|
|
- [Cocoa] Bugfix: OpenGL swap interval was ignored on early macOS 10.14 |
|
|
|
|
(#1337,#1417,#1435) |
|
|
|
|
- [Cocoa] Bugfix: The y-coordinate was incorrect for `glfwGetCursorPos` and |
|
|
|
|
`glfwSetCursorPos` (#1461) |
|
|
|
|
- [WGL] Added support for `WGL_EXT_colorspace` for OpenGL ES contexts |
|
|
|
|
- [WGL] Added support for `WGL_ARB_create_context_no_error` |
|
|
|
|
- [GLX] Added support for `GLX_ARB_create_context_no_error` |
|
|
|
|
- [GLX] Bugfix: Context creation could segfault if no GLXFBConfigs were |
|
|
|
|
available (#1040) |
|
|
|
|
- [EGL] Added support for `EGL_KHR_get_all_proc_addresses` (#871) |
|
|
|
|
- [EGL] Added support for `EGL_KHR_context_flush_control` |
|
|
|
|
- [EGL] Bugfix: The test for `EGL_RGB_BUFFER` was invalid |
|
|
|
|
User-visible changes since the last release. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Contact |
|
|
|
|