We need to invoke both [NSCursor set] and [NSView addCursorRect].
First call is responsible for changing the cursor if it's inside the
view; second call is responsible for keeping the cursor the same if it's
outside.
Don't implement resetCursorRects: this occasionally hides the cursor
since an empty cursor is assigned to the window rectangle. Implementing
this method is not required since OS displays the window cursor
correctly by default.
Don't reset cursor mode when window loses focus: once again, OS handles
this correctly, and this means that the window cursor state is restored
when window gains focus again.
This function used to enumerate all devices and capture all properties
of every device into a dictionary. This takes 180 ms on a MacBook Pro
without external devices and 280 ms with an external keyboard/mouse
attached.
Since we're only interested in a few properties, we can just get them
one by one - this reduces the time to <1 ms.
Note that we still use the dictionary to get the joystick elements.
For unknown reason this is required to get all axes/buttons - without
doing this we don't get any joystick elements in addJoystickElement.
Closes#332.
The commit c980858 added a new flag to _GLFWfbconfig that was not being
set by EGLConfig enumeration. This patch assumes eglCreateWindowSurface
only creates double-buffered surfaces.
Fixes#315.
The undefined behaviour changed with #40 has been reverted, making the
character-only callback again behave like a system text field. This
behavior has now been documentated.
Fixes#203.
Fixes#305.
The cursor was not positioned over newly created full screen windows,
leading to confusing behavior like invisible cursor or window
iconification.
This fix is a stop-gap until the direct cursor position work is merged.
Fixes#111.
This changes the behavior of framebuffer hints set to zero. Before,
zero meant that any value was acceptable. This changes zero to be an
explicit preference and adds GLFW_DONT_CARE to mean that any value is
equally acceptable.
Fixes#70.