This removes the (undocumented) behavior where glfwShowWindow would
bring the window to front and set input focus. That function now
does what it says.
Fixed incorrect error types. Added missing error string prefixes.
Removed some invalid or superfluous error emissions. Clarified some
error strings. Joined error string lines to aid grep. Replaced some
generic error strings with specific ones. Documentation work.
Fixes#450.
Changed the window states (focused, iconified and visible) to query the
system directly.
THIS IS A BREAKING CHANGE, although a fairly obscure one. It affects
applications that both care about telling actual key events from
synthetic ones, and are implemented in a non-self-synchronizing way, and
that poll the GLFW_FOCUSED window attribute instead of using the window
focus callback.
If you maintain one of these, please feel free to drop me an email and
I'll help any way I can to transition your application to 3.1.
Fixes#189.
Fixes#204.
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.
By default, full screen windows that lose focus will be iconified and
the video mode will be restored. This makes it impossible to create
applications spanning multiple monitors. The GLFW_AUTO_ICONIFY window
hint will allow users to disable this behavior.
Fixes#143.
The context related parts of _GLFWwndconfig have been moved to
_GLFWctxconfig and given better names. Window hint and attribute
members have been renamed to match.
Parameters are something specified at creation time and are often
immutable, while many of the values returned by glfwGetWindowParam
reflected current state not controlled by any parameter or hint.
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.
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.
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.