This adds support for using GLFW with EGL backends on macOS. While EGL
isn't available by default on macOS, there are third-party
implementations like SwiftShader.
The addition of MoltenVK support added an override to makeBackingLayer.
In non-Vulkan mode, this means that we are returning nil from that
function. The NSGL implementation creates this layer manually later on,
but other OpenGL backends don't necessarily do that.
Closes#985.
The code blindly expected UTF8_STRING for files. It did not downgrade
based on source protocol version. It did not handle hostnames in
text/uri-list data. It did not specify the source time stamp when
converting the selection. It did not search the XdndTypeList when
necessary. It did not ignore sources that specified invalid versions.
While better, this is still not fully conformant. Hostnames are not
validated and it does not guard against source crashes.
Fixes#968.
This changes enumeration to add as a GLFW monitor any active adapter
without displays, even if other active adapters do have displays.
Related to #441.
Fixes#960.
X11 event processing currently discards events that can not be mapped to
a current GLFW window. However, this breaks clipboard functionality by
failing to respond to SelectionRequest and SelectionClear events.
This commit moves processing of these important clipboard events to
before the NULL window test so that they are always considered.
Fixes#961.
Closes#963.
This moves the buttons-as-hats logic to shared code and adds the
GLFW_JOYSTICK_HAT_BUTTONS input mode as a way to disable this legacy
behavior.
Fixes#889.
This merges the public part of the glfwGetJoystickHats work by
@IntellectualKitty. The implementation needs replacing due to
refactoring in preparation for gamecontrollerdb support.
Closes#906.