Uses addCursorRect:cursor: as discussed.. well, too long ago. Anyhow,
this will effectively hide the cursor while it is inside a window with
GLFW_CURSOR_HIDDEN or GLFW_CURSOR_CAPTURED enabled. This shouldn't mess
up cursor retain counts either, unlike previous uses of the hide/unhide
methods on NSCursor.
It does allocate a small, single-pixel image for an invisible cursor,
as well as the cursor itself, but that shouldn't be too much trouble.
Previously, cmd-tabbing out would result in the cursor position maybe
ending up outside the window, so if one cmd-tabbed back in with the
cursor still outside, any click would go outside the window and cause
it to lose focus. Not really a good thing. So, this is a bit of a hack,
but it works.
The public, platform, native, event and utility functions are already
documented in-source. Having duplicate documentation inevitably means
having them contradict one another. Furthermore, most of the function
descriptions simply repeated the name of the function.
Renamed _glfwLibrary to _glfw and made all substructs lower-case, making
global variable names easier to read and type. Partially inspired by the
internal naming conventions of glwt.
Rationale: Disabling system commands is inherently
dangerous, and should not be encouraged. Also, it's very
difficult to define and implement a reliable and
consistent cross-platform mechanism.
glfwGetWindowPos is superseded by glfwGetWindowParam()
with GLFW_POSITION_X and GLFW_POSITION_Y as parameters.
glfwSetWindowPos can easily lead to bad practices
(moving windows around without the users consent), and
has been replaced with the GLFW_POSITION_X/Y window
hints that allow setting the window position for a
newly created window.