You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
376 lines
12 KiB
376 lines
12 KiB
/*! |
|
|
|
@page news New features |
|
|
|
@section news_32 New features in 3.2 |
|
|
|
|
|
@subsection news_32_vulkan Support for Vulkan |
|
|
|
GLFW now supports basic integration with Vulkan with @ref glfwVulkanSupported, |
|
@ref glfwGetRequiredInstanceExtensions, @ref glfwGetInstanceProcAddress, @ref |
|
glfwGetPhysicalDevicePresentationSupport and @ref glfwCreateWindowSurface. |
|
Vulkan header inclusion can be selected with |
|
[GLFW_INCLUDE_VULKAN](@ref build_macros). |
|
|
|
|
|
@subsection news_32_setwindowmonitor Window mode switching |
|
|
|
GLFW now supports switching between windowed and full screen modes and updating |
|
the monitor and desired resolution and refresh rate of full screen windows with |
|
@ref glfwSetWindowMonitor. |
|
|
|
|
|
@subsection news_32_maximize Window maxmimization support |
|
|
|
GLFW now supports window maximization with @ref glfwMaximizeWindow and the |
|
[GLFW_MAXIMIZED](@ref window_attribs_wnd) window hint and attribute. |
|
|
|
|
|
@subsection news_32_focus Window input focus control |
|
|
|
GLFW now supports giving windows input focus with @ref glfwFocusWindow. |
|
|
|
|
|
@subsection news_32_sizelimits Window size limit support |
|
|
|
GLFW now supports setting both absolute and relative window size limits with |
|
@ref glfwSetWindowSizeLimits and @ref glfwSetWindowAspectRatio. |
|
|
|
|
|
@subsection news_32_keyname Localized key names |
|
|
|
GLFW now supports querying the localized name of printable keys with @ref |
|
glfwGetKeyName, either by key token or by scancode. |
|
|
|
|
|
@subsection news_32_waittimeout Wait for events with timeout |
|
|
|
GLFW now supports waiting for events for a set amount of time with @ref |
|
glfwWaitEventsTimeout. |
|
|
|
|
|
@subsection news_32_icon Window icon support |
|
|
|
GLFW now supports setting the icon of windows with @ref glfwSetWindowIcon. |
|
|
|
|
|
@subsection news_32_timer Raw timer access |
|
|
|
GLFW now supports raw timer values with @ref glfwGetTimerValue and @ref |
|
glfwGetTimerFrequency. |
|
|
|
|
|
@subsection news_32_joystick Joystick connection callback |
|
|
|
GLFW now supports notifying when a joystick has been connected or disconnected |
|
with @ref glfwSetJoystickCallback. |
|
|
|
|
|
@subsection news_32_noapi Context-less windows |
|
|
|
GLFW now supports creating windows without a OpenGL or OpenGL ES context with |
|
[GLFW_NO_API](@ref window_hints_ctx). |
|
|
|
|
|
@subsection news_32_contextapi Run-time context creation API selection |
|
|
|
GLFW now supports selecting the context creation API at run-time with the |
|
[GLFW_CONTEXT_CREATION_API](@ref window_hints_ctx) window hint value. |
|
|
|
|
|
@subsection news_32_noerror Error-free context creation |
|
|
|
GLFW now supports creating OpenGL and OpenGL ES contexts that do not emit errors |
|
with the [GLFW_CONTEXT_NO_ERROR](@ref window_hints_ctx) window hint, provided |
|
the machine supports the `GL_KHR_no_error` extension. |
|
|
|
|
|
@subsection news_32_cmake CMake config-file package support |
|
|
|
GLFW now supports being used as a |
|
[config-file package](@ref build_link_cmake_package) from other projects for |
|
easy linking with the library and its dependencies. |
|
|
|
|
|
@section news_31 New features in 3.1 |
|
|
|
These are the release highlights. For a full list of changes see the |
|
[version history](http://www.glfw.org/changelog.html). |
|
|
|
|
|
@subsection news_31_cursor Custom mouse cursor images |
|
|
|
GLFW now supports creating and setting both custom cursor images and standard |
|
cursor shapes. They are created with @ref glfwCreateCursor or @ref |
|
glfwCreateStandardCursor, set with @ref glfwSetCursor and destroyed with @ref |
|
glfwDestroyCursor. |
|
|
|
@see @ref cursor_object |
|
|
|
|
|
@subsection news_31_drop Path drop event |
|
|
|
GLFW now provides a callback for receiving the paths of files and directories |
|
dropped onto GLFW windows. The callback is set with @ref glfwSetDropCallback. |
|
|
|
@see @ref path_drop |
|
|
|
|
|
@subsection news_31_emptyevent Main thread wake-up |
|
|
|
GLFW now provides the @ref glfwPostEmptyEvent function for posting an empty |
|
event from another thread to the main thread event queue, causing @ref |
|
glfwWaitEvents to return. |
|
|
|
@see @ref events |
|
|
|
|
|
@subsection news_31_framesize Window frame size query |
|
|
|
GLFW now supports querying the size, on each side, of the frame around the |
|
client area of a window, with @ref glfwGetWindowFrameSize. |
|
|
|
@see [Window size](@ref window_size) |
|
|
|
|
|
@subsection news_31_autoiconify Simultaneous multi-monitor rendering |
|
|
|
GLFW now supports disabling auto-iconification of full screen windows with |
|
the [GLFW_AUTO_ICONIFY](@ref window_hints_wnd) window hint. This is intended |
|
for people building multi-monitor installations, where you need windows to stay |
|
in full screen despite losing input focus. |
|
|
|
|
|
@subsection news_31_floating Floating windows |
|
|
|
GLFW now supports floating windows, also called topmost or always on top, for |
|
easier debugging with the [GLFW_FLOATING](@ref window_hints_wnd) window hint. |
|
|
|
|
|
@subsection news_31_focused Initially unfocused windows |
|
|
|
GLFW now supports preventing a windowed mode window from gaining input focus on |
|
creation, with the [GLFW_FOCUSED](@ref window_hints_wnd) window hint. |
|
|
|
|
|
@subsection news_31_direct Direct access for window attributes and cursor position |
|
|
|
GLFW now queries the window input focus, visibility and iconification attributes |
|
and the cursor position directly instead of returning cached data. |
|
|
|
|
|
@subsection news_31_charmods Character with modifiers callback |
|
|
|
GLFW now provides a callback for character events with modifier key bits. The |
|
callback is set with @ref glfwSetCharModsCallback. Unlike the regular character |
|
callback, this will report character events that will not result in a character |
|
being input, for example if the Control key is held down. |
|
|
|
@see @ref input_char |
|
|
|
|
|
@subsection news_31_single Single buffered framebuffers |
|
|
|
GLFW now supports the creation of single buffered windows, with the |
|
[GLFW_DOUBLEBUFFER](@ref window_hints_fb) window hint. |
|
|
|
|
|
@subsection news_31_glext Macro for including extension header |
|
|
|
GLFW now includes the extension header appropriate for the chosen OpenGL or |
|
OpenGL ES header when [GLFW_INCLUDE_GLEXT](@ref build_macros) is defined. GLFW |
|
does not provide these headers. They must be provided by your development |
|
environment or your OpenGL or OpenGL ES SDK. |
|
|
|
|
|
@subsection news_31_release Context release behaviors |
|
|
|
GLFW now supports controlling whether the pipeline is flushed when a context is |
|
made non-current, with the |
|
[GLFW_CONTEXT_RELEASE_BEHAVIOR](@ref window_hints_ctx) window hint, provided the |
|
machine supports the `GL_KHR_context_flush_control` extension. |
|
|
|
|
|
@subsection news_31_wayland (Experimental) Wayland support |
|
|
|
GLFW now has an _experimental_ Wayland display protocol backend that can be |
|
selected on Linux with a CMake option. |
|
|
|
|
|
@subsection news_31_mir (Experimental) Mir support |
|
|
|
GLFW now has an _experimental_ Mir display server backend that can be selected |
|
on Linux with a CMake option. |
|
|
|
|
|
@section news_30 New features in 3.0 |
|
|
|
These are the release highlights. For a full list of changes see the |
|
[version history](http://www.glfw.org/changelog.html). |
|
|
|
|
|
@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 news_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 works with screen |
|
coordinates. This is important as OpenGL uses pixels, not 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, e.g. 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. |
|
|
|
*/
|
|
|