| /*! |
| |
| @page news New features |
| |
| @tableofcontents |
| |
| |
| @section news_31 New features in version 3.1 |
| |
| @subsection news_31_cursor Custom system cursor support |
| |
| GLFW now supports creating and setting custom system cursors. They can be |
| created with @ref glfwCreateCursor, set with @ref glfwSetCursor and destroyed |
| with @ref glfwDestroyCursor. Custom cursors are only visible in normal cursor |
| mode. |
| |
| |
| @subsection news_31_drop File drop event support |
| |
| GLFW now provides a callback for receiving the paths of files dropped onto GLFW |
| windows. The callback is set with @ref glfwSetDropCallback. |
| |
| |
| @subsection news_31_emptyevent Main thread waking support |
| |
| 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. |
| |
| |
| @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. |
| |
| |
| @subsection news_31_autoiconify Multi-monitor installation support |
| |
| 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 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_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. |
| |
| |
| @subsection news_31_release Context release behavior support |
| |
| 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_single Single buffering support |
| |
| GLFW now supports the creation of single buffered windows, with the |
| [GLFW_DOUBLEBUFFER](@ref window_hints_fb) window hint. |
| |
| |
| @subsection news_31_egl Stable EGL support |
| |
| The support for EGL is now stable, successfully running on PandaBoards, Mesa, |
| ANGLE, Wayland, AMD EGL and others. |
| |
| |
| @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 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, 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. |
| |
| */ |