Replaced the GLFW_SHOULD_CLOSE window parameter with the
glfwWindowShouldClose and glfwSetWindowShouldClose functions, allowing
the setting of the close flag from any point in the program.
Having one way to retrieve the cursor position and another (more
verbose) way to retrieve the monitor position is inconsistent. Having
them both work the same way is the least surprising thing.
The expected glfwGetMonitorSize function gets an added Physical in its
name so users won't confuse it with glfwGetVideoMode.
Scroll events do not represent an absolute state, but rather an interpretation
of a relative change in state, like character input. So, like character input,
there is no sane 'current state' to return. The here removed solution, that of
accumulating an offset since the last call to event processing, is at best
mildly confusing. If a user wishes to implement this solution, it is better for
it to be explicit in client code than implicit in GLFW calls.
Some tokens are used for more than one purpose, making it difficult to write
good documentation on the token itself. These tokens should instead be
described in the documentation for each function or callback that uses them.
The cached error code cannot be made per-thread unless it required
glfwInit (due to lack of __thread on OS X), which would be confusing and
partially defeats the purpose of it.
Beginners would use the generic error string facility instead of the
error callback and then be confused by its nondescript messages.
Storing the provided error code from within the error callback, whether
globally or per-thread, requires just a few lines of code and hands
control to the user without compromising thread safety.