GLFW, a library providing cross platform window and input handling functionality for OpenGL, OpenGL ES and now Vulkan applications, just released version 3.2. The aforementioned Vulkan support is probably the biggest new feature in this release, however this release contains several new features.
From the complete change log:
- Added
glfwVulkanSupported,glfwGetRequiredInstanceExtensions,glfwGetInstanceProcAddress,glfwGetPhysicalDevicePresentationSupportandglfwCreateWindowSurfacefor platform independent Vulkan support- Added
glfwSetWindowMonitorfor switching between windowed and full screen modes and updating the monitor and desired video mode of full screen windows- Added
glfwMaximizeWindowandGLFW_MAXIMIZEDfor window maximization- Added
glfwFocusWindowfor giving windows input focus- Added
glfwSetWindowSizeLimitsandglfwSetWindowAspectRatiofor setting absolute and relative window size limits- Added
glfwGetKeyNamefor querying the layout-specific name of printable keys- Added
glfwWaitEventsTimeoutfor waiting for events for a set amount of time- Added
glfwSetWindowIconfor setting the icon of a window- Added
glfwGetTimerValueandglfwGetTimerFrequencyfor raw timer access- Added
glfwSetJoystickCallbackandGLFWjoystickfunfor joystick connection and disconnection events- Added
GLFW_NO_APIfor creating window without contexts- Added
GLFW_INCLUDE_VULKANfor including the Vulkan header- Added
GLFW_CONTEXT_CREATION_API,GLFW_NATIVE_CONTEXT_APIandGLFW_EGL_CONTEXT_APIfor run-time context creation API selection- Added
GLFW_CONTEXT_NO_ERRORcontext hint forGL_KHR_no_errorsupport- Added
GLFW_TRUEandGLFW_FALSEas client API independent boolean values- Added icons to examples on Windows and OS X
- Relaxed rules for native access header macros
- Removed dependency on external OpenGL or OpenGL ES headers
- Removed
_GLFW_USE_OPENGL,_GLFW_USE_GLESV1,_GLFW_USE_GLESV2,_GLFW_WGL,_GLFW_NSGL,_GLFW_GLXand_GLFW_EGLconfiguration macros- [Win32] Added support for Windows 8.1 per-monitor DPI
- [Win32] Replaced winmm with XInput and DirectInput for joystick input
- [Win32] Bugfix: Window creation would segfault if video mode setting required the system to be restarted
- [Win32] Bugfix: MinGW import library lacked the
libprefix- [Win32] Bugfix: Monitor connection and disconnection events were not reported when no windows existed
- [Win32] Bugfix: Activating or deactivating displays in software did not trigger monitor callback
- [Win32] Bugfix: No monitors were listed on headless and VMware guest systems
- [Win32] Bugfix: Pressing Ctrl+Pause would report
GLFW_KEY_UNKNOWN- [Win32] Bugfix: Window size events would be reported in wrong order when restoring a full screen window
- [Cocoa] Made joystick polling more efficient
- [Cocoa] Removed support for OS X 10.6
- [Cocoa] Bugfix: Full screen windows on secondary monitors were mispositioned
- [Cocoa] Bugfix: Connecting a joystick that reports no name would segfault
- [Cocoa] Bugfix: Modifier flags cache was not updated when window became key
- [Cocoa] Bugfix: Dead key character composition did not work
- [Cocoa] Bugfix: The CGL context was not released until the autorelease pool was drained by another function
- [X11] Bugfix: Monitor connection and disconnection events were not reported
- [X11] Bugfix: Decoding of UTF-8 text from XIM could continue past the end
- [X11] Bugfix: An XKB structure was leaked during
glfwInit- [X11] Bugfix: XInput2
XI_Motionevents interfered with the Steam overlay- [POSIX] Bugfix: An unrelated TLS key could be deleted by
glfwTerminate- [Linux] Made joystick polling more efficient
- [WGL] Changed extension loading to only be performed once
- [WGL] Removed dependency on external WGL headers
- [GLX] Added
glfwGetGLXWindowto query theGLXWindowof a window- [GLX] Replaced legacy drawable with
GLXWindow- [GLX] Removed dependency on external GLX headers
- [GLX] Bugfix: NetBSD does not provide
libGL.so.1- [EGL] Added
_GLFW_USE_EGLPLATFORM_Hconfiguration macro for controlling whether to use an existingEGL/eglplatform.hheader- [EGL] Added and documented test for if the context is current on the calling thread during buffer swap
- [EGL] Removed dependency on external EGL headers
