174 lines
5.8 KiB
Plaintext
174 lines
5.8 KiB
Plaintext
|
/*!
|
||
|
|
||
|
@page news New features
|
||
|
|
||
|
@tableofcontents
|
||
|
|
||
|
|
||
|
@section news_30 New features in version 3.0
|
||
|
|
||
|
@subsection news_30_cmake CMake build system
|
||
|
|
||
|
GLFW now uses the CMake build system instead of the various makefiles and
|
||
|
project files used by earlier versions. CMake is available for all platforms
|
||
|
supported by GLFW, is present in most package systems and can generate
|
||
|
makefiles and/or project files for most popular development environments.
|
||
|
|
||
|
For more information on how to use CMake, see the
|
||
|
[CMake manual](http://cmake.org/cmake/help/documentation.html).
|
||
|
|
||
|
|
||
|
@subsection new_30_multiwnd Multi-window support
|
||
|
|
||
|
GLFW now supports the creation of multiple windows, each with their own OpenGL
|
||
|
or OpenGL ES context, and all window functions now take a window handle. Event
|
||
|
callbacks are now per-window and are provided with the handle of the window that
|
||
|
received the event. The @ref glfwMakeContextCurrent function has been added to
|
||
|
select which context is current on a given thread.
|
||
|
|
||
|
|
||
|
@subsection news_30_multimon Multi-monitor support
|
||
|
|
||
|
GLFW now explicitly supports multiple monitors. They can be enumerated with
|
||
|
@ref glfwGetMonitors, queried with @ref glfwGetVideoModes, @ref
|
||
|
glfwGetMonitorPos, @ref glfwGetMonitorName and @ref glfwGetMonitorPhysicalSize,
|
||
|
and specified at window creation to make the newly created window full screen on
|
||
|
that specific monitor.
|
||
|
|
||
|
|
||
|
@subsection news_30_unicode Unicode support
|
||
|
|
||
|
All string arguments to GLFW functions and all strings returned by GLFW now use
|
||
|
the UTF-8 encoding. This includes the window title, error string, clipboard
|
||
|
text, monitor and joystick names as well as the extension function arguments (as
|
||
|
ASCII is a subset of UTF-8).
|
||
|
|
||
|
|
||
|
@subsection news_30_clipboard Clipboard text I/O
|
||
|
|
||
|
GLFW now supports reading and writing plain text to and from the system
|
||
|
clipboard, with the @ref glfwGetClipboardString and @ref glfwSetClipboardString
|
||
|
functions.
|
||
|
|
||
|
|
||
|
@subsection news_30_gamma Gamma ramp support
|
||
|
|
||
|
GLFW now supports setting and reading back the gamma ramp of monitors, with the
|
||
|
@ref glfwGetGammaRamp and @ref glfwSetGammaRamp functions. There is also @ref
|
||
|
glfwSetGamma, which generates a ramp from a gamma value and then sets it.
|
||
|
|
||
|
|
||
|
@subsection news_30_gles OpenGL ES support
|
||
|
|
||
|
GLFW now supports the creation of OpenGL ES contexts, by setting the
|
||
|
`GLFW_CLIENT_API` window hint to `GLFW_OPENGL_ES_API`, where creation of such
|
||
|
contexts are supported. Note that GLFW *does not implement* OpenGL ES, so your
|
||
|
driver must provide support in a way usable by GLFW. Modern nVidia and Intel
|
||
|
drivers support creation of OpenGL ES context using the GLX and WGL APIs, while
|
||
|
AMD provides an EGL implementation instead.
|
||
|
|
||
|
|
||
|
@subsection news_30_egl (Experimental) EGL support
|
||
|
|
||
|
GLFW now has an experimental EGL context creation back end that can be selected
|
||
|
through CMake options.
|
||
|
|
||
|
|
||
|
@subsection news_30_hidpi High-DPI support
|
||
|
|
||
|
GLFW now supports high-DPI monitors on both Windows and OS X, giving windows full
|
||
|
resolution framebuffers where other UI elements are scaled up. To achieve this,
|
||
|
@ref glfwGetFramebufferSize and @ref glfwSetFramebufferSizeCallback have been
|
||
|
added. These work with pixels, while the rest of the GLFW API work with screen
|
||
|
coordinates.
|
||
|
|
||
|
|
||
|
@subsection news_30_error Error callback
|
||
|
|
||
|
GLFW now has an error callback, which can provide your application with much
|
||
|
more detailed diagnostics than was previously possible. The callback is passed
|
||
|
an error code and a description string.
|
||
|
|
||
|
|
||
|
@subsection news_30_wndptr Per-window user pointer
|
||
|
|
||
|
Each window now has a user-defined pointer, retrieved with @ref
|
||
|
glfwGetWindowUserPointer and set with @ref glfwSetWindowUserPointer, to make it
|
||
|
easier to integrate GLFW into C++ code.
|
||
|
|
||
|
|
||
|
@subsection news_30_iconifyfun Window iconification callback
|
||
|
|
||
|
Each window now has a callback for iconification and restoration events,
|
||
|
which is set with @ref glfwSetWindowIconifyCallback.
|
||
|
|
||
|
|
||
|
@subsection news_30_wndposfun Window position callback
|
||
|
|
||
|
Each window now has a callback for position events, which is set with @ref
|
||
|
glfwSetWindowPosCallback.
|
||
|
|
||
|
|
||
|
@subsection news_30_wndpos Window position query
|
||
|
|
||
|
The position of a window can now be retrieved using @ref glfwGetWindowPos.
|
||
|
|
||
|
|
||
|
@subsection news_30_focusfun Window focus callback
|
||
|
|
||
|
Each windows now has a callback for focus events, which is set with @ref
|
||
|
glfwSetWindowFocusCallback.
|
||
|
|
||
|
|
||
|
@subsection news_30_enterleave Cursor enter/leave callback
|
||
|
|
||
|
Each window now has a callback for when the mouse cursor enters or leaves its
|
||
|
client area, which is set with @ref glfwSetCursorEnterCallback.
|
||
|
|
||
|
|
||
|
@subsection news_30_wndtitle Initial window title
|
||
|
|
||
|
The title of a window is now specified at creation time, as one of the arguments
|
||
|
to @ref glfwCreateWindow.
|
||
|
|
||
|
|
||
|
@subsection news_30_hidden Hidden windows
|
||
|
|
||
|
Windows can now be hidden with @ref glfwHideWindow, shown using @ref
|
||
|
glfwShowWindow and created initially hidden with the `GLFW_VISIBLE` window hint.
|
||
|
This allows for off-screen rendering in a way compatible with most drivers, as
|
||
|
well as moving a window to a specific position before showing it.
|
||
|
|
||
|
|
||
|
@subsection news_30_undecorated Undecorated windows
|
||
|
|
||
|
Windowed mode windows can now be created without decorations, i.e. things like
|
||
|
a frame, a title bar, with the `GLFW_DECORATED` window hint. This allows for
|
||
|
the creation of things like splash screens.
|
||
|
|
||
|
|
||
|
@subsection news_30_keymods Modifier key bit masks
|
||
|
|
||
|
[Modifier key bit mask](@ref mods) parameters have been added to the
|
||
|
[mouse button](@ref GLFWmousebuttonfun) and [key](@ref GLFWkeyfun) callbacks.
|
||
|
|
||
|
|
||
|
@subsection news_30_scancode Platform-specific scancodes
|
||
|
|
||
|
A scancode parameter has been added to the [key callback](@ref GLFWkeyfun). Keys
|
||
|
that don't have a [key token](@ref keys) still get passed on with the key
|
||
|
parameter set to `GLFW_KEY_UNKNOWN`. These scancodes will vary between machines
|
||
|
and are intended to be used for key bindings.
|
||
|
|
||
|
|
||
|
@subsection news_30_jsname Joystick names
|
||
|
|
||
|
The name of a joystick can now be retrieved using @ref glfwGetJoystickName.
|
||
|
|
||
|
|
||
|
@subsection news_30_doxygen Doxygen documentation
|
||
|
|
||
|
You are reading it.
|
||
|
|
||
|
*/
|