From c1427de5b6785fafa0e18fe1f4e2b6a4052eaed0 Mon Sep 17 00:00:00 2001 From: ocornut Date: Sun, 3 Apr 2016 17:41:59 +0200 Subject: [PATCH] Examples: Libs: Update glfw binaries to glfw master. --- examples/libs/glfw/include/GLFW/glfw3.h | 2034 ++++++++++++----- examples/libs/glfw/include/GLFW/glfw3native.h | 242 +- examples/libs/glfw/lib-vc2010-32/glfw3.lib | Bin 129546 -> 187376 bytes examples/libs/glfw/lib-vc2010-64/glfw3.lib | Bin 202450 -> 291120 bytes 4 files changed, 1624 insertions(+), 652 deletions(-) diff --git a/examples/libs/glfw/include/GLFW/glfw3.h b/examples/libs/glfw/include/GLFW/glfw3.h index 89414491e..f8ca3d61a 100644 --- a/examples/libs/glfw/include/GLFW/glfw3.h +++ b/examples/libs/glfw/include/GLFW/glfw3.h @@ -1,5 +1,5 @@ /************************************************************************* - * GLFW 3.1 - www.glfw.org + * GLFW 3.2 - www.glfw.org * A library for OpenGL, window and input *------------------------------------------------------------------------ * Copyright (c) 2002-2006 Marcus Geelnard @@ -38,58 +38,60 @@ extern "C" { * Doxygen documentation *************************************************************************/ -/*! @defgroup context Context handling +/*! @file glfw3.h + * @brief The header of the GLFW 3 API. * - * This is the reference documentation for context related functions. For more - * information, see the @ref context. + * This is the header file of the GLFW 3 API. It defines all its types and + * declares all its functions. + * + * For more information about how to use this file, see @ref build_include. */ -/*! @defgroup init Initialization, version and errors +/*! @defgroup context Context reference + * + * This is the reference documentation for OpenGL and OpenGL ES context related + * functions. For more task-oriented information, see the @ref context_guide. + */ +/*! @defgroup vulkan Vulkan reference + * + * This is the reference documentation for Vulkan related functions and types. + * For more task-oriented information, see the @ref vulkan_guide. + */ +/*! @defgroup init Initialization, version and error reference * * This is the reference documentation for initialization and termination of - * the library, version management and error handling. For more information, - * see the @ref intro. + * the library, version management and error handling. For more task-oriented + * information, see the @ref intro_guide. */ -/*! @defgroup input Input handling +/*! @defgroup input Input reference * * This is the reference documentation for input related functions and types. - * For more information, see the @ref input. + * For more task-oriented information, see the @ref input_guide. */ -/*! @defgroup monitor Monitor handling +/*! @defgroup monitor Monitor reference * * This is the reference documentation for monitor related functions and types. - * For more information, see the @ref monitor. + * For more task-oriented information, see the @ref monitor_guide. */ -/*! @defgroup window Window handling +/*! @defgroup window Window reference * * This is the reference documentation for window related functions and types, - * including creation, deletion and event polling. For more information, see - * the @ref window. + * including creation, deletion and event polling. For more task-oriented + * information, see the @ref window_guide. */ /************************************************************************* - * Global definitions + * Compiler- and platform-specific preprocessor work *************************************************************************/ -/* ------------------- BEGIN SYSTEM/COMPILER SPECIFIC -------------------- */ - -/* Please report any problems that you find with your compiler, which may - * be solved in this section! There are several compilers that I have not - * been able to test this file with yet. - * - * First: If we are we on Windows, we want a single define for it (_WIN32) - * (Note: For Cygwin the compiler flag -mwin32 should be used, but to - * make sure that things run smoothly for Cygwin users, we add __CYGWIN__ - * to the list of "valid Win32 identifiers", which removes the need for - * -mwin32) +/* If we are we on Windows, we want a single define for it. */ -#if !defined(_WIN32) && (defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)) +#if !defined(_WIN32) && (defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)) #define _WIN32 #endif /* _WIN32 */ -/* In order for extension support to be portable, we need to define an - * OpenGL function call method. We use the keyword APIENTRY, which is - * defined for Win32. (Note: Windows also needs this for ) +/* It is customary to use APIENTRY for OpenGL function pointer declarations on + * all platforms. Additionally, the Windows OpenGL header needs APIENTRY. */ #ifndef APIENTRY #ifdef _WIN32 @@ -99,51 +101,30 @@ extern "C" { #endif #endif /* APIENTRY */ -/* The following three defines are here solely to make some Windows-based - * files happy. Theoretically we could include , but - * it has the major drawback of severely polluting our namespace. +/* Some Windows OpenGL headers need this. */ - -/* Under Windows, we need WINGDIAPI defined */ #if !defined(WINGDIAPI) && defined(_WIN32) - #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__POCC__) - /* Microsoft Visual C++, Borland C++ Builder and Pelles C */ - #define WINGDIAPI __declspec(dllimport) - #elif defined(__LCC__) - /* LCC-Win32 */ - #define WINGDIAPI __stdcall - #else - /* Others (e.g. MinGW, Cygwin) */ - #define WINGDIAPI extern - #endif + #define WINGDIAPI __declspec(dllimport) #define GLFW_WINGDIAPI_DEFINED #endif /* WINGDIAPI */ -/* Some files also need CALLBACK defined */ +/* Some Windows GLU headers need this. + */ #if !defined(CALLBACK) && defined(_WIN32) - #if defined(_MSC_VER) - /* Microsoft Visual C++ */ - #if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) - #define CALLBACK __stdcall - #else - #define CALLBACK - #endif - #else - /* Other Windows compilers */ - #define CALLBACK __stdcall - #endif + #define CALLBACK __stdcall #define GLFW_CALLBACK_DEFINED #endif /* CALLBACK */ -/* Most GL/glu.h variants on Windows need wchar_t - * OpenGL/gl.h blocks the definition of ptrdiff_t by glext.h on OS X */ -#if !defined(GLFW_INCLUDE_NONE) - #include -#endif +/* Most Windows GLU headers need wchar_t. + * The OS X OpenGL header blocks the definition of ptrdiff_t by glext.h. + * Include it unconditionally to avoid surprising side-effects. + */ +#include +#include /* Include the chosen client API headers. */ -#if defined(__APPLE_CC__) +#if defined(__APPLE__) #if defined(GLFW_INCLUDE_GLCOREARB) #include #if defined(GLFW_INCLUDE_GLEXT) @@ -174,13 +155,15 @@ extern "C" { #elif defined(GLFW_INCLUDE_ES3) #include #if defined(GLFW_INCLUDE_GLEXT) - #include + #include #endif #elif defined(GLFW_INCLUDE_ES31) #include #if defined(GLFW_INCLUDE_GLEXT) - #include + #include #endif + #elif defined(GLFW_INCLUDE_VULKAN) + #include #elif !defined(GLFW_INCLUDE_NONE) #include #if defined(GLFW_INCLUDE_GLEXT) @@ -208,11 +191,7 @@ extern "C" { #define GLFWAPI __declspec(dllexport) #elif defined(_WIN32) && defined(GLFW_DLL) /* We are calling GLFW as a Win32 DLL */ - #if defined(__LCC__) - #define GLFWAPI extern - #else - #define GLFWAPI __declspec(dllimport) - #endif + #define GLFWAPI __declspec(dllimport) #elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL) /* We are building GLFW as a shared / dynamic library */ #define GLFWAPI __attribute__((visibility("default"))) @@ -221,8 +200,6 @@ extern "C" { #define GLFWAPI #endif -/* -------------------- END SYSTEM/COMPILER SPECIFIC --------------------- */ - /************************************************************************* * GLFW API tokens @@ -242,7 +219,7 @@ extern "C" { * backward-compatible. * @ingroup init */ -#define GLFW_VERSION_MINOR 1 +#define GLFW_VERSION_MINOR 2 /*! @brief The revision number of the GLFW library. * * This is incremented when a bug fix release is made that does not contain any @@ -252,6 +229,24 @@ extern "C" { #define GLFW_VERSION_REVISION 0 /*! @} */ +/*! @name Boolean values + * @{ */ +/*! @brief One. + * + * One. Seriously. You don't _need_ to use this symbol in your code. It's + * just semantic sugar for the number 1. You can use `1` or `true` or `_True` + * or `GL_TRUE` or whatever you want. + */ +#define GLFW_TRUE 1 +/*! @brief Zero. + * + * Zero. Seriously. You don't _need_ to use this symbol in your code. It's + * just just semantic sugar for the number 0. You can use `0` or `false` or + * `_False` or `GL_FALSE` or whatever you want. + */ +#define GLFW_FALSE 0 +/*! @} */ + /*! @name Key and button actions * @{ */ /*! @brief The key or mouse button was released. @@ -426,6 +421,7 @@ extern "C" { #define GLFW_KEY_RIGHT_ALT 346 #define GLFW_KEY_RIGHT_SUPER 347 #define GLFW_KEY_MENU 348 + #define GLFW_KEY_LAST GLFW_KEY_MENU /*! @} */ @@ -505,12 +501,11 @@ extern "C" { * @{ */ /*! @brief GLFW has not been initialized. * - * This occurs if a GLFW function was called that may not be called unless the + * This occurs if a GLFW function was called that must not be called unless the * library is [initialized](@ref intro_init). * - * @par Analysis - * Application programmer error. Initialize GLFW before calling any function - * that requires initialization. + * @analysis Application programmer error. Initialize GLFW before calling any + * function that requires initialization. */ #define GLFW_NOT_INITIALIZED 0x00010001 /*! @brief No context is current for this thread. @@ -519,9 +514,8 @@ extern "C" { * current OpenGL or OpenGL ES context but no context is current on the calling * thread. One such function is @ref glfwSwapInterval. * - * @par Analysis - * Application programmer error. Ensure a context is current before calling - * functions that require a current context. + * @analysis Application programmer error. Ensure a context is current before + * calling functions that require a current context. */ #define GLFW_NO_CURRENT_CONTEXT 0x00010002 /*! @brief One of the arguments to the function was an invalid enum value. @@ -530,8 +524,7 @@ extern "C" { * requesting [GLFW_RED_BITS](@ref window_hints_fb) with @ref * glfwGetWindowAttrib. * - * @par Analysis - * Application programmer error. Fix the offending call. + * @analysis Application programmer error. Fix the offending call. */ #define GLFW_INVALID_ENUM 0x00010003 /*! @brief One of the arguments to the function was an invalid value. @@ -542,46 +535,41 @@ extern "C" { * Requesting a valid but unavailable OpenGL or OpenGL ES version will instead * result in a @ref GLFW_VERSION_UNAVAILABLE error. * - * @par Analysis - * Application programmer error. Fix the offending call. + * @analysis Application programmer error. Fix the offending call. */ #define GLFW_INVALID_VALUE 0x00010004 /*! @brief A memory allocation failed. * * A memory allocation failed. * - * @par Analysis - * A bug in GLFW or the underlying operating system. Report the bug to our - * [issue tracker](https://github.com/glfw/glfw/issues). + * @analysis A bug in GLFW or the underlying operating system. Report the bug + * to our [issue tracker](https://github.com/glfw/glfw/issues). */ #define GLFW_OUT_OF_MEMORY 0x00010005 -/*! @brief GLFW could not find support for the requested client API on the - * system. +/*! @brief GLFW could not find support for the requested API on the system. * - * GLFW could not find support for the requested client API on the system. + * GLFW could not find support for the requested API on the system. * - * @par Analysis - * The installed graphics driver does not support the requested client API, or - * does not support it via the chosen context creation backend. Below are - * a few examples. + * @analysis The installed graphics driver does not support the requested + * API, or does not support it via the chosen context creation backend. + * Below are a few examples. * * @par * Some pre-installed Windows graphics drivers do not support OpenGL. AMD only - * supports OpenGL ES via EGL, while Nvidia and Intel only supports it via + * supports OpenGL ES via EGL, while Nvidia and Intel only support it via * a WGL or GLX extension. OS X does not provide OpenGL ES at all. The Mesa * EGL, OpenGL and OpenGL ES libraries do not interface with the Nvidia binary - * driver. + * driver. Older graphics drivers do not support Vulkan. */ #define GLFW_API_UNAVAILABLE 0x00010006 /*! @brief The requested OpenGL or OpenGL ES version is not available. * - * The requested OpenGL or OpenGL ES version (including any requested profile - * or context option) is not available on this machine. + * The requested OpenGL or OpenGL ES version (including any requested context + * or framebuffer hints) is not available on this machine. * - * @par Analysis - * The machine does not support your requirements. If your application is - * sufficiently flexible, downgrade your requirements and try again. - * Otherwise, inform the user that their machine does not match your + * @analysis The machine does not support your requirements. If your + * application is sufficiently flexible, downgrade your requirements and try + * again. Otherwise, inform the user that their machine does not match your * requirements. * * @par @@ -597,9 +585,9 @@ extern "C" { * A platform-specific error occurred that does not match any of the more * specific categories. * - * @par Analysis - * A bug in GLFW or the underlying operating system. Report the bug to our - * [issue tracker](https://github.com/glfw/glfw/issues). + * @analysis A bug or configuration error in GLFW, the underlying operating + * system or its drivers, or a lack of required resources. Report the issue to + * our [issue tracker](https://github.com/glfw/glfw/issues). */ #define GLFW_PLATFORM_ERROR 0x00010008 /*! @brief The requested format is not supported or available. @@ -610,8 +598,7 @@ extern "C" { * If emitted when querying the clipboard, the contents of the clipboard could * not be converted to the requested format. * - * @par Analysis - * If emitted during window creation, one or more + * @analysis If emitted during window creation, one or more * [hard constraints](@ref window_hints_hard) did not match any of the * available pixel formats. If your application is sufficiently flexible, * downgrade your requirements and try again. Otherwise, inform the user that @@ -622,6 +609,14 @@ extern "C" { * the user, as appropriate. */ #define GLFW_FORMAT_UNAVAILABLE 0x00010009 +/*! @brief The specified window does not have an OpenGL or OpenGL ES context. + * + * A window that does not have an OpenGL or OpenGL ES context was passed to + * a function that requires it to have one. + * + * @analysis Application programmer error. Fix the offending call. + */ +#define GLFW_NO_WINDOW_CONTEXT 0x0001000A /*! @} */ #define GLFW_FOCUSED 0x00020001 @@ -631,6 +626,7 @@ extern "C" { #define GLFW_DECORATED 0x00020005 #define GLFW_AUTO_ICONIFY 0x00020006 #define GLFW_FLOATING 0x00020007 +#define GLFW_MAXIMIZED 0x00020008 #define GLFW_RED_BITS 0x00021001 #define GLFW_GREEN_BITS 0x00021002 @@ -658,7 +654,9 @@ extern "C" { #define GLFW_OPENGL_DEBUG_CONTEXT 0x00022007 #define GLFW_OPENGL_PROFILE 0x00022008 #define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009 +#define GLFW_CONTEXT_NO_ERROR 0x0002200A +#define GLFW_NO_API 0 #define GLFW_OPENGL_API 0x00030001 #define GLFW_OPENGL_ES_API 0x00030002 @@ -736,14 +734,37 @@ extern "C" { * Generic function pointer used for returning client API function pointers * without forcing a cast from a regular pointer. * + * @sa @ref context_glext + * @sa glfwGetProcAddress + * + * @since Added in version 3.0. + * @ingroup context */ typedef void (*GLFWglproc)(void); +/*! @brief Vulkan API function pointer type. + * + * Generic function pointer used for returning Vulkan API function pointers + * without forcing a cast from a regular pointer. + * + * @sa @ref vulkan_proc + * @sa glfwGetInstanceProcAddress + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +typedef void (*GLFWvkproc)(void); + /*! @brief Opaque monitor object. * * Opaque monitor object. * + * @see @ref monitor_object + * + * @since Added in version 3.0. + * * @ingroup monitor */ typedef struct GLFWmonitor GLFWmonitor; @@ -752,6 +773,10 @@ typedef struct GLFWmonitor GLFWmonitor; * * Opaque window object. * + * @see @ref window_object + * + * @since Added in version 3.0. + * * @ingroup window */ typedef struct GLFWwindow GLFWwindow; @@ -760,6 +785,10 @@ typedef struct GLFWwindow GLFWwindow; * * Opaque cursor object. * + * @see @ref cursor_object + * + * @since Added in version 3.1. + * * @ingroup cursor */ typedef struct GLFWcursor GLFWcursor; @@ -771,8 +800,11 @@ typedef struct GLFWcursor GLFWcursor; * @param[in] error An [error code](@ref errors). * @param[in] description A UTF-8 encoded string describing the error. * + * @sa @ref error_handling * @sa glfwSetErrorCallback * + * @since Added in version 3.0. + * * @ingroup init */ typedef void (* GLFWerrorfun)(int,const char*); @@ -787,8 +819,11 @@ typedef void (* GLFWerrorfun)(int,const char*); * @param[in] ypos The new y-coordinate, in screen coordinates, of the * upper-left corner of the client area of the window. * + * @sa @ref window_pos * @sa glfwSetWindowPosCallback * + * @since Added in version 3.0. + * * @ingroup window */ typedef void (* GLFWwindowposfun)(GLFWwindow*,int,int); @@ -801,8 +836,12 @@ typedef void (* GLFWwindowposfun)(GLFWwindow*,int,int); * @param[in] width The new width, in screen coordinates, of the window. * @param[in] height The new height, in screen coordinates, of the window. * + * @sa @ref window_size * @sa glfwSetWindowSizeCallback * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * * @ingroup window */ typedef void (* GLFWwindowsizefun)(GLFWwindow*,int,int); @@ -813,8 +852,12 @@ typedef void (* GLFWwindowsizefun)(GLFWwindow*,int,int); * * @param[in] window The window that the user attempted to close. * + * @sa @ref window_close * @sa glfwSetWindowCloseCallback * + * @since Added in version 2.5. + * @glfw3 Added window handle parameter. + * * @ingroup window */ typedef void (* GLFWwindowclosefun)(GLFWwindow*); @@ -825,8 +868,12 @@ typedef void (* GLFWwindowclosefun)(GLFWwindow*); * * @param[in] window The window whose content needs to be refreshed. * + * @sa @ref window_refresh * @sa glfwSetWindowRefreshCallback * + * @since Added in version 2.5. + * @glfw3 Added window handle parameter. + * * @ingroup window */ typedef void (* GLFWwindowrefreshfun)(GLFWwindow*); @@ -836,11 +883,14 @@ typedef void (* GLFWwindowrefreshfun)(GLFWwindow*); * This is the function signature for window focus callback functions. * * @param[in] window The window that gained or lost input focus. - * @param[in] focused `GL_TRUE` if the window was given input focus, or - * `GL_FALSE` if it lost it. + * @param[in] focused `GLFW_TRUE` if the window was given input focus, or + * `GLFW_FALSE` if it lost it. * + * @sa @ref window_focus * @sa glfwSetWindowFocusCallback * + * @since Added in version 3.0. + * * @ingroup window */ typedef void (* GLFWwindowfocusfun)(GLFWwindow*,int); @@ -851,11 +901,14 @@ typedef void (* GLFWwindowfocusfun)(GLFWwindow*,int); * functions. * * @param[in] window The window that was iconified or restored. - * @param[in] iconified `GL_TRUE` if the window was iconified, or `GL_FALSE` - * if it was restored. + * @param[in] iconified `GLFW_TRUE` if the window was iconified, or + * `GLFW_FALSE` if it was restored. * + * @sa @ref window_iconify * @sa glfwSetWindowIconifyCallback * + * @since Added in version 3.0. + * * @ingroup window */ typedef void (* GLFWwindowiconifyfun)(GLFWwindow*,int); @@ -869,8 +922,11 @@ typedef void (* GLFWwindowiconifyfun)(GLFWwindow*,int); * @param[in] width The new width, in pixels, of the framebuffer. * @param[in] height The new height, in pixels, of the framebuffer. * + * @sa @ref window_fbsize * @sa glfwSetFramebufferSizeCallback * + * @since Added in version 3.0. + * * @ingroup window */ typedef void (* GLFWframebuffersizefun)(GLFWwindow*,int,int); @@ -886,8 +942,12 @@ typedef void (* GLFWframebuffersizefun)(GLFWwindow*,int,int); * @param[in] mods Bit field describing which [modifier keys](@ref mods) were * held down. * + * @sa @ref input_mouse_button * @sa glfwSetMouseButtonCallback * + * @since Added in version 1.0. + * @glfw3 Added window handle and modifier mask parameters. + * * @ingroup input */ typedef void (* GLFWmousebuttonfun)(GLFWwindow*,int,int,int); @@ -897,11 +957,16 @@ typedef void (* GLFWmousebuttonfun)(GLFWwindow*,int,int,int); * This is the function signature for cursor position callback functions. * * @param[in] window The window that received the event. - * @param[in] xpos The new x-coordinate, in screen coordinates, of the cursor. - * @param[in] ypos The new y-coordinate, in screen coordinates, of the cursor. + * @param[in] xpos The new cursor x-coordinate, relative to the left edge of + * the client area. + * @param[in] ypos The new cursor y-coordinate, relative to the top edge of the + * client area. * + * @sa @ref cursor_pos * @sa glfwSetCursorPosCallback * + * @since Added in version 3.0. Replaces `GLFWmouseposfun`. + * * @ingroup input */ typedef void (* GLFWcursorposfun)(GLFWwindow*,double,double); @@ -911,11 +976,14 @@ typedef void (* GLFWcursorposfun)(GLFWwindow*,double,double); * This is the function signature for cursor enter/leave callback functions. * * @param[in] window The window that received the event. - * @param[in] entered `GL_TRUE` if the cursor entered the window's client - * area, or `GL_FALSE` if it left it. + * @param[in] entered `GLFW_TRUE` if the cursor entered the window's client + * area, or `GLFW_FALSE` if it left it. * + * @sa @ref cursor_enter * @sa glfwSetCursorEnterCallback * + * @since Added in version 3.0. + * * @ingroup input */ typedef void (* GLFWcursorenterfun)(GLFWwindow*,int); @@ -928,8 +996,11 @@ typedef void (* GLFWcursorenterfun)(GLFWwindow*,int); * @param[in] xoffset The scroll offset along the x-axis. * @param[in] yoffset The scroll offset along the y-axis. * + * @sa @ref scrolling * @sa glfwSetScrollCallback * + * @since Added in version 3.0. Replaces `GLFWmousewheelfun`. + * * @ingroup input */ typedef void (* GLFWscrollfun)(GLFWwindow*,double,double); @@ -945,8 +1016,12 @@ typedef void (* GLFWscrollfun)(GLFWwindow*,double,double); * @param[in] mods Bit field describing which [modifier keys](@ref mods) were * held down. * + * @sa @ref input_key * @sa glfwSetKeyCallback * + * @since Added in version 1.0. + * @glfw3 Added window handle, scancode and modifier mask parameters. + * * @ingroup input */ typedef void (* GLFWkeyfun)(GLFWwindow*,int,int,int,int); @@ -958,8 +1033,12 @@ typedef void (* GLFWkeyfun)(GLFWwindow*,int,int,int,int); * @param[in] window The window that received the event. * @param[in] codepoint The Unicode code point of the character. * + * @sa @ref input_char * @sa glfwSetCharCallback * + * @since Added in version 2.4. + * @glfw3 Added window handle parameter. + * * @ingroup input */ typedef void (* GLFWcharfun)(GLFWwindow*,unsigned int); @@ -976,8 +1055,11 @@ typedef void (* GLFWcharfun)(GLFWwindow*,unsigned int); * @param[in] mods Bit field describing which [modifier keys](@ref mods) were * held down. * + * @sa @ref input_char * @sa glfwSetCharModsCallback * + * @since Added in version 3.1. + * * @ingroup input */ typedef void (* GLFWcharmodsfun)(GLFWwindow*,unsigned int,int); @@ -988,10 +1070,13 @@ typedef void (* GLFWcharmodsfun)(GLFWwindow*,unsigned int,int); * * @param[in] window The window that received the event. * @param[in] count The number of dropped files. - * @param[in] names The UTF-8 encoded path names of the dropped files. + * @param[in] paths The UTF-8 encoded file and/or directory path names. * + * @sa @ref path_drop * @sa glfwSetDropCallback * + * @since Added in version 3.1. + * * @ingroup input */ typedef void (* GLFWdropfun)(GLFWwindow*,int,const char**); @@ -1003,16 +1088,42 @@ typedef void (* GLFWdropfun)(GLFWwindow*,int,const char**); * @param[in] monitor The monitor that was connected or disconnected. * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`. * + * @sa @ref monitor_event * @sa glfwSetMonitorCallback * + * @since Added in version 3.0. + * * @ingroup monitor */ typedef void (* GLFWmonitorfun)(GLFWmonitor*,int); +/*! @brief The function signature for joystick configuration callbacks. + * + * This is the function signature for joystick configuration callback + * functions. + * + * @param[in] joy The joystick that was connected or disconnected. + * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`. + * + * @sa @ref joystick_event + * @sa glfwSetJoystickCallback + * + * @since Added in version 3.2. + * + * @ingroup input + */ +typedef void (* GLFWjoystickfun)(int,int); + /*! @brief Video mode type. * * This describes a single video mode. * + * @sa @ref monitor_modes + * @sa glfwGetVideoMode glfwGetVideoModes + * + * @since Added in version 1.0. + * @glfw3 Added refresh rate member. + * * @ingroup monitor */ typedef struct GLFWvidmode @@ -1041,8 +1152,11 @@ typedef struct GLFWvidmode * * This describes the gamma ramp for a monitor. * + * @sa @ref monitor_gamma * @sa glfwGetGammaRamp glfwSetGammaRamp * + * @since Added in version 3.0. + * * @ingroup monitor */ typedef struct GLFWgammaramp @@ -1062,6 +1176,11 @@ typedef struct GLFWgammaramp } GLFWgammaramp; /*! @brief Image data. + * + * @sa @ref cursor_custom + * + * @since Added in version 2.1. + * @glfw3 Removed format and bytes-per-pixel members. */ typedef struct GLFWimage { @@ -1092,29 +1211,24 @@ typedef struct GLFWimage * succeeds, you should call @ref glfwTerminate before the application exits. * * Additional calls to this function after successful initialization but before - * termination will return `GL_TRUE` immediately. + * termination will return `GLFW_TRUE` immediately. * - * @return `GL_TRUE` if successful, or `GL_FALSE` if an + * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an * [error](@ref error_handling) occurred. * - * @remarks __OS X:__ This function will change the current directory of the + * @errors Possible errors include @ref GLFW_PLATFORM_ERROR. + * + * @remark @osx This function will change the current directory of the * application to the `Contents/Resources` subdirectory of the application's * bundle, if present. This can be disabled with a * [compile-time option](@ref compile_options_osx). * - * @remarks __X11:__ If the `LC_CTYPE` category of the current locale is set to - * `"C"` then the environment's locale will be applied to that category. This - * is done because character input will not function when `LC_CTYPE` is set to - * `"C"`. If another locale was set before this function was called, it will - * be left untouched. - * - * @par Thread Safety - * This function may only be called from the main thread. + * @thread_safety This function must only be called from the main thread. * * @sa @ref intro_init * @sa glfwTerminate * - * @since Added in GLFW 1.0. + * @since Added in version 1.0. * * @ingroup init */ @@ -1132,21 +1246,21 @@ GLFWAPI int glfwInit(void); * call this function, as it is called by @ref glfwInit before it returns * failure. * - * @remarks This function may be called before @ref glfwInit. + * @errors Possible errors include @ref GLFW_PLATFORM_ERROR. * - * @warning No window's context may be current on another thread when this - * function is called. + * @remark This function may be called before @ref glfwInit. * - * @par Reentrancy - * This function may not be called from a callback. + * @warning The contexts of any remaining windows must not be current on any + * other thread when this function is called. * - * @par Thread Safety - * This function may only be called from the main thread. + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref intro_init * @sa glfwInit * - * @since Added in GLFW 1.0. + * @since Added in version 1.0. * * @ingroup init */ @@ -1158,22 +1272,22 @@ GLFWAPI void glfwTerminate(void); * library. It is intended for when you are using GLFW as a shared library and * want to ensure that you are using the minimum required version. * - * Any or all of the version arguments may be `NULL`. This function always - * succeeds. + * Any or all of the version arguments may be `NULL`. * * @param[out] major Where to store the major version number, or `NULL`. * @param[out] minor Where to store the minor version number, or `NULL`. * @param[out] rev Where to store the revision number, or `NULL`. * - * @remarks This function may be called before @ref glfwInit. + * @errors None. * - * @par Thread Safety - * This function may be called from any thread. + * @remark This function may be called before @ref glfwInit. + * + * @thread_safety This function may be called from any thread. * * @sa @ref intro_version * @sa glfwGetVersionString * - * @since Added in GLFW 1.0. + * @since Added in version 1.0. * * @ingroup init */ @@ -1184,28 +1298,27 @@ GLFWAPI void glfwGetVersion(int* major, int* minor, int* rev); * This function returns the compile-time generated * [version string](@ref intro_version_string) of the GLFW library binary. It * describes the version, platform, compiler and any platform-specific - * compile-time options. + * compile-time options. It should not be confused with the OpenGL or OpenGL + * ES version string, queried with `glGetString`. * * __Do not use the version string__ to parse the GLFW library version. The - * @ref glfwGetVersion function already provides the version of the running - * library binary. + * @ref glfwGetVersion function provides the version of the running library + * binary in numerical format. * - * This function always succeeds. + * @return The ASCII encoded GLFW version string. * - * @return The GLFW version string. + * @errors None. * - * @remarks This function may be called before @ref glfwInit. + * @remark This function may be called before @ref glfwInit. * - * @par Pointer Lifetime - * The returned string is static and compile-time generated. + * @pointer_lifetime The returned string is static and compile-time generated. * - * @par Thread Safety - * This function may be called from any thread. + * @thread_safety This function may be called from any thread. * * @sa @ref intro_version * @sa glfwGetVersion * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup init */ @@ -1231,14 +1344,15 @@ GLFWAPI const char* glfwGetVersionString(void); * callback. * @return The previously set callback, or `NULL` if no callback was set. * - * @remarks This function may be called before @ref glfwInit. + * @errors None. * - * @par Thread Safety - * This function may only be called from the main thread. + * @remark This function may be called before @ref glfwInit. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref error_handling * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup init */ @@ -1247,26 +1361,27 @@ GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun cbfun); /*! @brief Returns the currently connected monitors. * * This function returns an array of handles for all currently connected - * monitors. + * monitors. The primary monitor is always first in the returned array. If no + * monitors were found, this function returns `NULL`. * * @param[out] count Where to store the number of monitors in the returned * array. This is set to zero if an error occurred. - * @return An array of monitor handles, or `NULL` if an - * [error](@ref error_handling) occurred. + * @return An array of monitor handles, or `NULL` if no monitors were found or + * if an [error](@ref error_handling) occurred. * - * @par Pointer Lifetime - * The returned array is allocated and freed by GLFW. You should not free it - * yourself. It is guaranteed to be valid only until the monitor configuration - * changes or the library is terminated. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is guaranteed to be valid only until the + * monitor configuration changes or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_monitors * @sa @ref monitor_event * @sa glfwGetPrimaryMonitor * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1275,18 +1390,22 @@ GLFWAPI GLFWmonitor** glfwGetMonitors(int* count); /*! @brief Returns the primary monitor. * * This function returns the primary monitor. This is usually the monitor - * where elements like the Windows task bar or the OS X menu bar is located. + * where elements like the task bar or global menu bar are located. * - * @return The primary monitor, or `NULL` if an [error](@ref error_handling) - * occurred. + * @return The primary monitor, or `NULL` if no monitors were found or if an + * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @remark The primary monitor is always first in the array returned by @ref + * glfwGetMonitors. * * @sa @ref monitor_monitors * @sa glfwGetMonitors * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1304,12 +1423,14 @@ GLFWAPI GLFWmonitor* glfwGetPrimaryMonitor(void); * @param[out] xpos Where to store the monitor x-coordinate, or `NULL`. * @param[out] ypos Where to store the monitor y-coordinate, or `NULL`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_properties * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1334,15 +1455,16 @@ GLFWAPI void glfwGetMonitorPos(GLFWmonitor* monitor, int* xpos, int* ypos); * @param[out] heightMM Where to store the height, in millimetres, of the * monitor's display area, or `NULL`. * - * @remarks __Windows:__ The OS calculates the returned physical size from the + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark @win32 calculates the returned physical size from the * current resolution and system DPI instead of querying the monitor EDID data. * - * @par Thread Safety - * This function may only be called from the main thread. + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_properties * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1358,17 +1480,17 @@ GLFWAPI void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* * @return The UTF-8 encoded name of the monitor, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Pointer Lifetime - * The returned string is allocated and freed by GLFW. You should not free it - * yourself. It is valid until the specified monitor is disconnected or the - * library is terminated. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified monitor is + * disconnected or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_properties * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1385,15 +1507,13 @@ GLFWAPI const char* glfwGetMonitorName(GLFWmonitor* monitor); * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @bug __X11:__ This callback is not yet called on monitor configuration - * changes. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. * - * @par Thread Safety - * This function may only be called from the main thread. + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_event * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1412,21 +1532,21 @@ GLFWAPI GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun cbfun); * @return An array of video modes, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Pointer Lifetime - * The returned array is allocated and freed by GLFW. You should not free it - * yourself. It is valid until the specified monitor is disconnected, this - * function is called again for that monitor or the library is terminated. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified monitor is + * disconnected, this function is called again for that monitor or the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_modes * @sa glfwGetVideoMode * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Changed to return an array of modes for a specific monitor. + * @since Added in version 1.0. + * @glfw3 Changed to return an array of modes for a specific monitor. * * @ingroup monitor */ @@ -1442,18 +1562,19 @@ GLFWAPI const GLFWvidmode* glfwGetVideoModes(GLFWmonitor* monitor, int* count); * @return The current mode of the monitor, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Pointer Lifetime - * The returned array is allocated and freed by GLFW. You should not free it - * yourself. It is valid until the specified monitor is disconnected or the - * library is terminated. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified monitor is + * disconnected or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_modes * @sa glfwGetVideoModes * - * @since Added in GLFW 3.0. Replaces `glfwGetDesktopMode`. + * @since Added in version 3.0. Replaces `glfwGetDesktopMode`. * * @ingroup monitor */ @@ -1462,17 +1583,20 @@ GLFWAPI const GLFWvidmode* glfwGetVideoMode(GLFWmonitor* monitor); /*! @brief Generates a gamma ramp and sets it for the specified monitor. * * This function generates a 256-element gamma ramp from the specified exponent - * and then calls @ref glfwSetGammaRamp with it. + * and then calls @ref glfwSetGammaRamp with it. The value must be a finite + * number greater than zero. * * @param[in] monitor The monitor whose gamma ramp to set. * @param[in] gamma The desired exponent. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_gamma * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1486,18 +1610,19 @@ GLFWAPI void glfwSetGamma(GLFWmonitor* monitor, float gamma); * @return The current gamma ramp, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Pointer Lifetime - * The returned structure and its arrays are allocated and freed by GLFW. You - * should not free them yourself. They are valid until the specified monitor - * is disconnected, this function is called again for that monitor or the - * library is terminated. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The returned structure and its arrays are allocated and + * freed by GLFW. You should not free them yourself. They are valid until the + * specified monitor is disconnected, this function is called again for that + * monitor or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_gamma * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1512,17 +1637,22 @@ GLFWAPI const GLFWgammaramp* glfwGetGammaRamp(GLFWmonitor* monitor); * @param[in] monitor The monitor whose gamma ramp to set. * @param[in] ramp The gamma ramp to use. * - * @note Gamma ramp sizes other than 256 are not supported by all hardware. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Pointer Lifetime - * The specified gamma ramp is copied before this function returns. + * @remark Gamma ramp sizes other than 256 are not supported by all platforms + * or graphics hardware. * - * @par Thread Safety - * This function may only be called from the main thread. + * @remark @win32 The gamma ramp size must be 256. + * + * @pointer_lifetime The specified gamma ramp is copied before this function + * returns. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_gamma * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup monitor */ @@ -1533,13 +1663,14 @@ GLFWAPI void glfwSetGammaRamp(GLFWmonitor* monitor, const GLFWgammaramp* ramp); * This function resets all window hints to their * [default values](@ref window_hints_values). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_hints * @sa glfwWindowHint * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -1552,20 +1683,26 @@ GLFWAPI void glfwDefaultWindowHints(void); * glfwWindowHint or @ref glfwDefaultWindowHints, or until the library is * terminated. * - * @param[in] target The [window hint](@ref window_hints) to set. - * @param[in] hint The new value of the window hint. + * This function does not check whether the specified hint values are valid. + * If you set hints to invalid values this will instead be reported by the next + * call to @ref glfwCreateWindow. * - * @par Thread Safety - * This function may only be called from the main thread. + * @param[in] hint The [window hint](@ref window_hints) to set. + * @param[in] value The new value of the window hint. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_hints * @sa glfwDefaultWindowHints * - * @since Added in GLFW 3.0. Replaces `glfwOpenWindowHint`. + * @since Added in version 3.0. Replaces `glfwOpenWindowHint`. * * @ingroup window */ -GLFWAPI void glfwWindowHint(int target, int hint); +GLFWAPI void glfwWindowHint(int hint, int value); /*! @brief Creates a window and its associated context. * @@ -1582,21 +1719,21 @@ GLFWAPI void glfwWindowHint(int target, int hint); * requested, as not all parameters and hints are * [hard constraints](@ref window_hints_hard). This includes the size of the * window, especially for full screen windows. To query the actual attributes - * of the created window, framebuffer and context, use queries like @ref - * glfwGetWindowAttrib and @ref glfwGetWindowSize. + * of the created window, framebuffer and context, see @ref + * glfwGetWindowAttrib, @ref glfwGetWindowSize and @ref glfwGetFramebufferSize. * * To create a full screen window, you need to specify the monitor the window - * will cover. If no monitor is specified, windowed mode will be used. Unless - * you have a way for the user to choose a specific monitor, it is recommended - * that you pick the primary monitor. For more information on how to query - * connected monitors, see @ref monitor_monitors. + * will cover. If no monitor is specified, the window will be windowed mode. + * Unless you have a way for the user to choose a specific monitor, it is + * recommended that you pick the primary monitor. For more information on how + * to query connected monitors, see @ref monitor_monitors. * * For full screen windows, the specified size becomes the resolution of the - * window's _desired video mode_. As long as a full screen window has input - * focus, the supported video mode most closely matching the desired video mode - * is set for the specified monitor. For more information about full screen - * windows, including the creation of so called _windowed full screen_ or - * _borderless full screen_ windows, see @ref window_windowed_full_screen. + * window's _desired video mode_. As long as a full screen window is not + * iconified, the supported video mode most closely matching the desired video + * mode is set for the specified monitor. For more information about full + * screen windows, including the creation of so called _windowed full screen_ + * or _borderless full screen_ windows, see @ref window_windowed_full_screen. * * By default, newly created windows use the placement recommended by the * window system. To create the window at a specific position, make it @@ -1604,8 +1741,8 @@ GLFWAPI void glfwWindowHint(int target, int hint); * hint, set its [position](@ref window_pos) and then [show](@ref window_hide) * it. * - * If a full screen window has input focus, the screensaver is prohibited from - * starting. + * As long as at least one full screen window is not iconified, the screensaver + * is prohibited from starting. * * Window systems put limits on window sizes. Very large or very small window * dimensions may be overridden by the window system on creation. Check the @@ -1619,50 +1756,67 @@ GLFWAPI void glfwWindowHint(int target, int hint); * @param[in] height The desired height, in screen coordinates, of the window. * This must be greater than zero. * @param[in] title The initial, UTF-8 encoded window title. - * @param[in] monitor The monitor to use for full screen mode, or `NULL` to use + * @param[in] monitor The monitor to use for full screen mode, or `NULL` for * windowed mode. * @param[in] share The window whose context to share resources with, or `NULL` * to not share resources. * @return The handle of the created window, or `NULL` if an * [error](@ref error_handling) occurred. * - * @remarks __Windows:__ Window creation will fail if the Microsoft GDI - * software OpenGL implementation is the only one available. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM, @ref GLFW_INVALID_VALUE, @ref GLFW_API_UNAVAILABLE, @ref + * GLFW_VERSION_UNAVAILABLE, @ref GLFW_FORMAT_UNAVAILABLE and @ref + * GLFW_PLATFORM_ERROR. * - * @remarks __Windows:__ If the executable has an icon resource named - * `GLFW_ICON,` it will be set as the icon for the window. If no such icon is - * present, the `IDI_WINLOGO` icon will be used instead. + * @remark @win32 Window creation will fail if the Microsoft GDI software + * OpenGL implementation is the only one available. * - * @remarks __Windows:__ The context to share resources with may not be current - * on any other thread. + * @remark @win32 If the executable has an icon resource named `GLFW_ICON,` + * it will be set as the icon for the window. If no such icon is present, the + * `IDI_WINLOGO` icon will be used instead. * - * @remarks __OS X:__ The GLFW window has no icon, as it is not a document + * @remark @win32 The context to share resources with must not be current on + * any other thread. + * + * @remark @osx The GLFW window has no icon, as it is not a document * window, but the dock icon will be the same as the application bundle's icon. * For more information on bundles, see the * [Bundle Programming Guide](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/) * in the Mac Developer Library. * - * @remarks __OS X:__ The first time a window is created the menu bar is - * populated with common commands like Hide, Quit and About. The About entry - * opens a minimal about dialog with information from the application's bundle. - * The menu bar can be disabled with a + * @remark @osx The first time a window is created the menu bar is populated + * with common commands like Hide, Quit and About. The About entry opens + * a minimal about dialog with information from the application's bundle. The + * menu bar can be disabled with a * [compile-time option](@ref compile_options_osx). * - * @remarks __X11:__ There is no mechanism for setting the window icon yet. + * @remark @osx On OS X 10.10 and later the window frame will not be rendered + * at full resolution on Retina displays unless the `NSHighResolutionCapable` + * key is enabled in the application bundle's `Info.plist`. For more + * information, see + * [High Resolution Guidelines for OS X](https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html) + * in the Mac Developer Library. The GLFW test and example programs use + * a custom `Info.plist` template for this, which can be found as + * `CMake/MacOSXBundleInfo.plist.in` in the source tree. * - * @remarks __X11:__ Some window managers will not respect the placement of + * @remark @x11 There is no mechanism for setting the window icon yet. + * + * @remark @x11 Some window managers will not respect the placement of * initially hidden windows. * - * @par Reentrancy - * This function may not be called from a callback. + * @remark @x11 Due to the asynchronous nature of X11, it may take a moment for + * a window to reach its requested state. This means you may not be able to + * query the final size, position or other attributes directly after window + * creation. * - * @par Thread Safety - * This function may only be called from the main thread. + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_creation * @sa glfwDestroyWindow * - * @since Added in GLFW 3.0. Replaces `glfwOpenWindow`. + * @since Added in version 3.0. Replaces `glfwOpenWindow`. * * @ingroup window */ @@ -1678,19 +1832,20 @@ GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, const char* title, G * * @param[in] window The window to destroy. * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * * @note The context of the specified window must not be current on any other * thread when this function is called. * - * @par Reentrancy - * This function may not be called from a callback. + * @reentrancy This function must not be called from a callback. * - * @par Thread Safety - * This function may only be called from the main thread. + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_creation * @sa glfwCreateWindow * - * @since Added in GLFW 3.0. Replaces `glfwCloseWindow`. + * @since Added in version 3.0. Replaces `glfwCloseWindow`. * * @ingroup window */ @@ -1703,12 +1858,14 @@ GLFWAPI void glfwDestroyWindow(GLFWwindow* window); * @param[in] window The window to query. * @return The value of the close flag. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * * @sa @ref window_close * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -1723,12 +1880,14 @@ GLFWAPI int glfwWindowShouldClose(GLFWwindow* window); * @param[in] window The window whose flag to change. * @param[in] value The new value. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * * @sa @ref window_close * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -1742,20 +1901,62 @@ GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value); * @param[in] window The window whose title to change. * @param[in] title The UTF-8 encoded window title. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @osx The window title will not be updated until the next time you + * process events. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_title * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. * * @ingroup window */ GLFWAPI void glfwSetWindowTitle(GLFWwindow* window, const char* title); +/*! @brief Sets the icon for the specified window. + * + * This function sets the icon of the specified window. If passed an array of + * candidate images, those of or closest to the sizes desired by the system are + * selected. If no images are specified, the window reverts to its default + * icon. + * + * The desired image sizes varies depending on platform and system settings. + * The selected images will be rescaled as needed. Good sizes include 16x16, + * 32x32 and 48x48. + * + * @param[in] window The window whose icon to set. + * @param[in] count The number of images in the specified array, or zero to + * revert to the default window icon. + * @param[in] images The images to create the icon from. This is ignored if + * count is zero. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The specified image data is copied before this function + * returns. + * + * @remark @osx The GLFW window has no icon, as it is not a document + * window, but the dock icon will be the same as the application bundle's icon. + * For more information on bundles, see the + * [Bundle Programming Guide](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/) + * in the Mac Developer Library. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_icon + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowIcon(GLFWwindow* window, int count, const GLFWimage* images); + /*! @brief Retrieves the position of the client area of the specified window. * * This function retrieves the position, in screen coordinates, of the @@ -1770,13 +1971,15 @@ GLFWAPI void glfwSetWindowTitle(GLFWwindow* window, const char* title); * @param[out] ypos Where to store the y-coordinate of the upper-left corner of * the client area, or `NULL`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_pos * @sa glfwSetWindowPos * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -1798,16 +2001,16 @@ GLFWAPI void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos); * @param[in] xpos The x-coordinate of the upper-left corner of the client area. * @param[in] ypos The y-coordinate of the upper-left corner of the client area. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_pos * @sa glfwGetWindowPos * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. * * @ingroup window */ @@ -1828,48 +2031,131 @@ GLFWAPI void glfwSetWindowPos(GLFWwindow* window, int xpos, int ypos); * @param[out] height Where to store the height, in screen coordinates, of the * client area, or `NULL`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_size * @sa glfwSetWindowSize * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. * * @ingroup window */ GLFWAPI void glfwGetWindowSize(GLFWwindow* window, int* width, int* height); +/*! @brief Sets the size limits of the specified window. + * + * This function sets the size limits of the client area of the specified + * window. If the window is full screen, the size limits only take effect if + * once it is made windowed. If the window is not resizable, this function + * does nothing. + * + * The size limits are applied immediately to a windowed mode window and may + * cause it to be resized. + * + * @param[in] window The window to set limits for. + * @param[in] minwidth The minimum width, in screen coordinates, of the client + * area, or `GLFW_DONT_CARE`. + * @param[in] minheight The minimum height, in screen coordinates, of the + * client area, or `GLFW_DONT_CARE`. + * @param[in] maxwidth The maximum width, in screen coordinates, of the client + * area, or `GLFW_DONT_CARE`. + * @param[in] maxheight The maximum height, in screen coordinates, of the + * client area, or `GLFW_DONT_CARE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark If you set size limits and an aspect ratio that conflict, the + * results are undefined. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_sizelimits + * @sa glfwSetWindowAspectRatio + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowSizeLimits(GLFWwindow* window, int minwidth, int minheight, int maxwidth, int maxheight); + +/*! @brief Sets the aspect ratio of the specified window. + * + * This function sets the required aspect ratio of the client area of the + * specified window. If the window is full screen, the aspect ratio only takes + * effect once it is made windowed. If the window is not resizable, this + * function does nothing. + * + * The aspect ratio is specified as a numerator and a denominator and both + * values must be greater than zero. For example, the common 16:9 aspect ratio + * is specified as 16 and 9, respectively. + * + * If the numerator and denominator is set to `GLFW_DONT_CARE` then the aspect + * ratio limit is disabled. + * + * The aspect ratio is applied immediately to a windowed mode window and may + * cause it to be resized. + * + * @param[in] window The window to set limits for. + * @param[in] numer The numerator of the desired aspect ratio, or + * `GLFW_DONT_CARE`. + * @param[in] denom The denominator of the desired aspect ratio, or + * `GLFW_DONT_CARE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * + * @remark If you set size limits and an aspect ratio that conflict, the + * results are undefined. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_sizelimits + * @sa glfwSetWindowSizeLimits + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom); + /*! @brief Sets the size of the client area of the specified window. * * This function sets the size, in screen coordinates, of the client area of * the specified window. * - * For full screen windows, this function selects and switches to the resolution - * closest to the specified size, without affecting the window's context. As - * the context is unaffected, the bit depths of the framebuffer remain - * unchanged. + * For full screen windows, this function updates the resolution of its desired + * video mode and switches to the video mode closest to it, without affecting + * the window's context. As the context is unaffected, the bit depths of the + * framebuffer remain unchanged. + * + * If you wish to update the refresh rate of the desired video mode in addition + * to its resolution, see @ref glfwSetWindowMonitor. * * The window manager may put limits on what sizes are allowed. GLFW cannot * and should not override these limits. * * @param[in] window The window to resize. - * @param[in] width The desired width of the specified window. - * @param[in] height The desired height of the specified window. + * @param[in] width The desired width, in screen coordinates, of the window + * client area. + * @param[in] height The desired height, in screen coordinates, of the window + * client area. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_size * @sa glfwGetWindowSize + * @sa glfwSetWindowMonitor * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. * * @ingroup window */ @@ -1890,13 +2176,15 @@ GLFWAPI void glfwSetWindowSize(GLFWwindow* window, int width, int height); * @param[out] height Where to store the height, in pixels, of the framebuffer, * or `NULL`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_fbsize * @sa glfwSetFramebufferSizeCallback * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -1926,12 +2214,14 @@ GLFWAPI void glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height) * @param[out] bottom Where to store the size, in screen coordinates, of the * bottom edge of the window frame, or `NULL`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_size * - * @since Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup window */ @@ -1948,16 +2238,17 @@ GLFWAPI void glfwGetWindowFrameSize(GLFWwindow* window, int* left, int* top, int * * @param[in] window The window to iconify. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_iconify * @sa glfwRestoreWindow + * @sa glfwMaximizeWindow * - * @since Added in GLFW 2.1. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in version 2.1. + * @glfw3 Added window handle parameter. * * @ingroup window */ @@ -1966,27 +2257,51 @@ GLFWAPI void glfwIconifyWindow(GLFWwindow* window); /*! @brief Restores the specified window. * * This function restores the specified window if it was previously iconified - * (minimized). If the window is already restored, this function does nothing. + * (minimized) or maximized. If the window is already restored, this function + * does nothing. * * If the specified window is a full screen window, the resolution chosen for * the window is restored on the selected monitor. * * @param[in] window The window to restore. * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_iconify + * @sa glfwIconifyWindow + * @sa glfwMaximizeWindow + * + * @since Added in version 2.1. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwRestoreWindow(GLFWwindow* window); + +/*! @brief Maximizes the specified window. + * + * This function maximizes the specified window if it was previously not + * maximized. If the window is already maximized, this function does nothing. + * + * If the specified window is a full screen window, this function does nothing. + * + * @param[in] window The window to maximize. + * * @par Thread Safety * This function may only be called from the main thread. * * @sa @ref window_iconify * @sa glfwIconifyWindow + * @sa glfwRestoreWindow * - * @since Added in GLFW 2.1. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in GLFW 3.2. * * @ingroup window */ -GLFWAPI void glfwRestoreWindow(GLFWwindow* window); +GLFWAPI void glfwMaximizeWindow(GLFWwindow* window); /*! @brief Makes the specified window visible. * @@ -1996,13 +2311,15 @@ GLFWAPI void glfwRestoreWindow(GLFWwindow* window); * * @param[in] window The window to make visible. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_hide * @sa glfwHideWindow * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -2016,18 +2333,48 @@ GLFWAPI void glfwShowWindow(GLFWwindow* window); * * @param[in] window The window to hide. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_hide * @sa glfwShowWindow * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ GLFWAPI void glfwHideWindow(GLFWwindow* window); +/*! @brief Brings the specified window to front and sets input focus. + * + * This function brings the specified window to front and sets input focus. + * The window should already be visible and not iconified. + * + * By default, both windowed and full screen mode windows are focused when + * initially created. Set the [GLFW_FOCUSED](@ref window_hints_wnd) to disable + * this behavior. + * + * __Do not use this function__ to steal focus from other applications unless + * you are certain that is what the user wants. Focus stealing can be + * extremely disruptive. + * + * @param[in] window The window to give input focus. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_focus + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwFocusWindow(GLFWwindow* window); + /*! @brief Returns the monitor that the window uses for full screen mode. * * This function returns the handle of the monitor that the specified window is @@ -2037,17 +2384,67 @@ GLFWAPI void glfwHideWindow(GLFWwindow* window); * @return The monitor, or `NULL` if the window is in windowed mode or an error * occurred. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_monitor + * @sa glfwSetWindowMonitor * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window); +/*! @brief Sets the mode, monitor, video mode and placement of a window. + * + * This function sets the monitor that the window uses for full screen mode or, + * if the monitor is `NULL`, makes it windowed mode. + * + * When setting a monitor, this function updates the width, height and refresh + * rate of the desired video mode and switches to the video mode closest to it. + * The window position is ignored when setting a monitor. + * + * When the monitor is `NULL`, the position, width and height are used to + * place the window client area. The refresh rate is ignored when no monitor + * is specified. + * + * If you only wish to update the resolution of a full screen window or the + * size of a windowed mode window, see @ref glfwSetWindowSize. + * + * When a window transitions from full screen to windowed mode, this function + * restores any previous window settings such as whether it is decorated, + * floating, resizable, has size or aspect ratio limits, etc.. + * + * @param[in] window The window whose monitor, size or video mode to set. + * @param[in] monitor The desired monitor, or `NULL` to set windowed mode. + * @param[in] xpos The desired x-coordinate of the upper-left corner of the + * client area. + * @param[in] ypos The desired y-coordinate of the upper-left corner of the + * client area. + * @param[in] width The desired with, in screen coordinates, of the client area + * or video mode. + * @param[in] height The desired height, in screen coordinates, of the client + * area or video mode. + * @param[in] refreshRate The desired refresh rate, in Hz, of the video mode. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_monitor + * @sa @ref window_full_screen + * @sa glfwGetWindowMonitor + * @sa glfwSetWindowSize + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowMonitor(GLFWwindow* window, GLFWmonitor* monitor, int xpos, int ypos, int width, int height, int refreshRate); + /*! @brief Returns an attribute of the specified window. * * This function returns the value of an attribute of the specified window or @@ -2059,12 +2456,22 @@ GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window); * @return The value of the attribute, or zero if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @remark Framebuffer related hints are not window attributes. See @ref + * window_attribs_fb for more information. + * + * @remark Zero is a valid value for many window and context related + * attributes so you cannot use a return value of zero as an indication of + * errors. However, this function should not fail as long as it is passed + * valid arguments and the library has been [initialized](@ref intro_init). + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_attribs * - * @since Added in GLFW 3.0. Replaces `glfwGetWindowParam` and + * @since Added in version 3.0. Replaces `glfwGetWindowParam` and * `glfwGetGLVersion`. * * @ingroup window @@ -2080,13 +2487,15 @@ GLFWAPI int glfwGetWindowAttrib(GLFWwindow* window, int attrib); * @param[in] window The window whose pointer to set. * @param[in] pointer The new value. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * * @sa @ref window_userptr * @sa glfwGetWindowUserPointer * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -2099,13 +2508,15 @@ GLFWAPI void glfwSetWindowUserPointer(GLFWwindow* window, void* pointer); * * @param[in] window The window whose pointer to return. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * * @sa @ref window_userptr * @sa glfwSetWindowUserPointer * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -2123,12 +2534,13 @@ GLFWAPI void* glfwGetWindowUserPointer(GLFWwindow* window); * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_pos * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -2146,15 +2558,14 @@ GLFWAPI GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow* window, GLFWwindow * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_size * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. Updated callback signature. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter and return value. * * @ingroup window */ @@ -2177,18 +2588,17 @@ GLFWAPI GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwind * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @remarks __OS X:__ Selecting Quit from the application menu will - * trigger the close callback for all windows. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. * - * @par Thread Safety - * This function may only be called from the main thread. + * @remark @osx Selecting Quit from the application menu will trigger the close + * callback for all windows. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_close * - * @since Added in GLFW 2.5. - * - * @par - * __GLFW 3:__ Added window handle parameter. Updated callback signature. + * @since Added in version 2.5. + * @glfw3 Added window handle parameter and return value. * * @ingroup window */ @@ -2210,15 +2620,14 @@ GLFWAPI GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwi * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_refresh * - * @since Added in GLFW 2.5. - * - * @par - * __GLFW 3:__ Added window handle parameter. Updated callback signature. + * @since Added in version 2.5. + * @glfw3 Added window handle parameter and return value. * * @ingroup window */ @@ -2240,12 +2649,13 @@ GLFWAPI GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow* window, GL * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_focus * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -2262,12 +2672,13 @@ GLFWAPI GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwi * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_iconify * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -2284,12 +2695,13 @@ GLFWAPI GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow* window, GL * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref window_fbsize * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup window */ @@ -2313,16 +2725,18 @@ GLFWAPI GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow* window * * Event processing is not required for joystick input to work. * - * @par Reentrancy - * This function may not be called from a callback. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref events * @sa glfwWaitEvents + * @sa glfwWaitEventsTimeout * - * @since Added in GLFW 1.0. + * @since Added in version 1.0. * * @ingroup window */ @@ -2356,21 +2770,69 @@ GLFWAPI void glfwPollEvents(void); * * Event processing is not required for joystick input to work. * - * @par Reentrancy - * This function may not be called from a callback. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref events * @sa glfwPollEvents + * @sa glfwWaitEventsTimeout * - * @since Added in GLFW 2.5. + * @since Added in version 2.5. * * @ingroup window */ GLFWAPI void glfwWaitEvents(void); +/*! @brief Waits with timeout until events are queued and processes them. + * + * This function puts the calling thread to sleep until at least one event is + * available in the event queue, or until the specified timeout is reached. If + * one or more events are available, it behaves exactly like @ref + * glfwPollEvents, i.e. the events in the queue are processed and the function + * then returns immediately. Processing events will cause the window and input + * callbacks associated with those events to be called. + * + * The timeout value must be a positive finite number. + * + * Since not all events are associated with callbacks, this function may return + * without a callback having been called even if you are monitoring all + * callbacks. + * + * On some platforms, a window move, resize or menu operation will cause event + * processing to block. This is due to how event processing is designed on + * those platforms. You can use the + * [window refresh callback](@ref window_refresh) to redraw the contents of + * your window when necessary during such operations. + * + * On some platforms, certain callbacks may be called outside of a call to one + * of the event processing functions. + * + * If no windows exist, this function returns immediately. For synchronization + * of threads in applications that do not create windows, use your threading + * library of choice. + * + * Event processing is not required for joystick input to work. + * + * @param[in] timeout The maximum amount of time, in seconds, to wait. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref events + * @sa glfwPollEvents + * @sa glfwWaitEvents + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwWaitEventsTimeout(double timeout); + /*! @brief Posts an empty event to the event queue. * * This function posts an empty event from the current thread to the event @@ -2380,13 +2842,15 @@ GLFWAPI void glfwWaitEvents(void); * of threads in applications that do not create windows, use your threading * library of choice. * - * @par Thread Safety - * This function may be called from any thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function may be called from any thread. * * @sa @ref events * @sa glfwWaitEvents * - * @since Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup window */ @@ -2402,12 +2866,14 @@ GLFWAPI void glfwPostEmptyEvent(void); * @param[in] mode One of `GLFW_CURSOR`, `GLFW_STICKY_KEYS` or * `GLFW_STICKY_MOUSE_BUTTONS`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function must only be called from the main thread. * * @sa glfwSetInputMode * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup input */ @@ -2428,37 +2894,96 @@ GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode); * and unlimited cursor movement. This is useful for implementing for * example 3D camera controls. * - * If the mode is `GLFW_STICKY_KEYS`, the value must be either `GL_TRUE` to - * enable sticky keys, or `GL_FALSE` to disable it. If sticky keys are + * If the mode is `GLFW_STICKY_KEYS`, the value must be either `GLFW_TRUE` to + * enable sticky keys, or `GLFW_FALSE` to disable it. If sticky keys are * enabled, a key press will ensure that @ref glfwGetKey returns `GLFW_PRESS` * the next time it is called even if the key had been released before the * call. This is useful when you are only interested in whether keys have been * pressed but not when or in which order. * * If the mode is `GLFW_STICKY_MOUSE_BUTTONS`, the value must be either - * `GL_TRUE` to enable sticky mouse buttons, or `GL_FALSE` to disable it. If - * sticky mouse buttons are enabled, a mouse button press will ensure that @ref - * glfwGetMouseButton returns `GLFW_PRESS` the next time it is called even if - * the mouse button had been released before the call. This is useful when you - * are only interested in whether mouse buttons have been pressed but not when - * or in which order. + * `GLFW_TRUE` to enable sticky mouse buttons, or `GLFW_FALSE` to disable it. + * If sticky mouse buttons are enabled, a mouse button press will ensure that + * @ref glfwGetMouseButton returns `GLFW_PRESS` the next time it is called even + * if the mouse button had been released before the call. This is useful when + * you are only interested in whether mouse buttons have been pressed but not + * when or in which order. * * @param[in] window The window whose input mode to set. * @param[in] mode One of `GLFW_CURSOR`, `GLFW_STICKY_KEYS` or * `GLFW_STICKY_MOUSE_BUTTONS`. * @param[in] value The new value of the specified input mode. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa glfwGetInputMode * - * @since Added in GLFW 3.0. Replaces `glfwEnable` and `glfwDisable`. + * @since Added in version 3.0. Replaces `glfwEnable` and `glfwDisable`. * * @ingroup input */ GLFWAPI void glfwSetInputMode(GLFWwindow* window, int mode, int value); +/*! @brief Returns the localized name of the specified printable key. + * + * This function returns the localized name of the specified printable key. + * This is intended for displaying key bindings to the user. + * + * If the key is `GLFW_KEY_UNKNOWN`, the scancode is used instead, otherwise + * the scancode is ignored. If a non-printable key or (if the key is + * `GLFW_KEY_UNKNOWN`) a scancode that maps to a non-printable key is + * specified, this function returns `NULL`. + * + * This behavior allows you to pass in the arguments passed to the + * [key callback](@ref input_key) without modification. + * + * The printable keys are: + * - `GLFW_KEY_APOSTROPHE` + * - `GLFW_KEY_COMMA` + * - `GLFW_KEY_MINUS` + * - `GLFW_KEY_PERIOD` + * - `GLFW_KEY_SLASH` + * - `GLFW_KEY_SEMICOLON` + * - `GLFW_KEY_EQUAL` + * - `GLFW_KEY_LEFT_BRACKET` + * - `GLFW_KEY_RIGHT_BRACKET` + * - `GLFW_KEY_BACKSLASH` + * - `GLFW_KEY_WORLD_1` + * - `GLFW_KEY_WORLD_2` + * - `GLFW_KEY_0` to `GLFW_KEY_9` + * - `GLFW_KEY_A` to `GLFW_KEY_Z` + * - `GLFW_KEY_KP_0` to `GLFW_KEY_KP_9` + * - `GLFW_KEY_KP_DECIMAL` + * - `GLFW_KEY_KP_DIVIDE` + * - `GLFW_KEY_KP_MULTIPLY` + * - `GLFW_KEY_KP_SUBTRACT` + * - `GLFW_KEY_KP_ADD` + * - `GLFW_KEY_KP_EQUAL` + * + * @param[in] key The key to query, or `GLFW_KEY_UNKNOWN`. + * @param[in] scancode The scancode of the key to query. + * @return The localized name of the key, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the next call to @ref + * glfwGetKeyName, or until the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref input_key_name + * + * @since Added in version 3.2. + * + * @ingroup input + */ +GLFWAPI const char* glfwGetKeyName(int key, int scancode); + /*! @brief Returns the last reported state of a keyboard key for the specified * window. * @@ -2478,20 +3003,22 @@ GLFWAPI void glfwSetInputMode(GLFWwindow* window, int mode, int value); * The [modifier key bit masks](@ref mods) are not key tokens and cannot be * used with this function. * + * __Do not use this function__ to implement [text input](@ref input_char). + * * @param[in] window The desired window. * @param[in] key The desired [keyboard key](@ref keys). `GLFW_KEY_UNKNOWN` is * not a valid key for this function. * @return One of `GLFW_PRESS` or `GLFW_RELEASE`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref input_key * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. * * @ingroup input */ @@ -2512,15 +3039,15 @@ GLFWAPI int glfwGetKey(GLFWwindow* window, int key); * @param[in] button The desired [mouse button](@ref buttons). * @return One of `GLFW_PRESS` or `GLFW_RELEASE`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref input_mouse_button * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. * * @ingroup input */ @@ -2550,13 +3077,15 @@ GLFWAPI int glfwGetMouseButton(GLFWwindow* window, int button); * @param[out] ypos Where to store the cursor y-coordinate, relative to the to * top edge of the client area, or `NULL`. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref cursor_pos * @sa glfwSetCursorPos * - * @since Added in GLFW 3.0. Replaces `glfwGetMousePos`. + * @since Added in version 3.0. Replaces `glfwGetMousePos`. * * @ingroup input */ @@ -2585,17 +3114,19 @@ GLFWAPI void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos); * @param[in] ypos The desired y-coordinate, relative to the top edge of the * client area. * - * @remarks __X11:__ Due to the asynchronous nature of a modern X desktop, it - * may take a moment for the window focus event to arrive. This means you will - * not be able to set the cursor position directly after window creation. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @remark @x11 Due to the asynchronous nature of X11, it may take a moment for + * the window focus event to arrive. This means you may not be able to set the + * cursor position directly after window creation. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref cursor_pos * @sa glfwGetCursorPos * - * @since Added in GLFW 3.0. Replaces `glfwSetMousePos`. + * @since Added in version 3.0. Replaces `glfwSetMousePos`. * * @ingroup input */ @@ -2607,9 +3138,9 @@ GLFWAPI void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos); * glfwSetCursor. The cursor can be destroyed with @ref glfwDestroyCursor. * Any remaining cursors are destroyed by @ref glfwTerminate. * - * The pixels are 32-bit little-endian RGBA, i.e. eight bits per channel. They - * are arranged canonically as packed sequential rows, starting from the - * top-left corner. + * The pixels are 32-bit, little-endian, non-premultiplied RGBA, i.e. eight + * bits per channel. They are arranged canonically as packed sequential rows, + * starting from the top-left corner. * * The cursor hotspot is specified in pixels, relative to the upper-left corner * of the cursor image. Like all other coordinate systems in GLFW, the X-axis @@ -2618,24 +3149,24 @@ GLFWAPI void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos); * @param[in] image The desired cursor image. * @param[in] xhot The desired x-coordinate, in pixels, of the cursor hotspot. * @param[in] yhot The desired y-coordinate, in pixels, of the cursor hotspot. - * * @return The handle of the created cursor, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Pointer Lifetime - * The specified image data is copied before this function returns. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Reentrancy - * This function may not be called from a callback. + * @pointer_lifetime The specified image data is copied before this function + * returns. * - * @par Thread Safety - * This function may only be called from the main thread. + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref cursor_object * @sa glfwDestroyCursor * @sa glfwCreateStandardCursor * - * @since Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup input */ @@ -2647,20 +3178,20 @@ GLFWAPI GLFWcursor* glfwCreateCursor(const GLFWimage* image, int xhot, int yhot) * a window with @ref glfwSetCursor. * * @param[in] shape One of the [standard shapes](@ref shapes). - * * @return A new cursor ready to use or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Reentrancy - * This function may not be called from a callback. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref cursor_object * @sa glfwCreateCursor * - * @since Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup input */ @@ -2674,16 +3205,17 @@ GLFWAPI GLFWcursor* glfwCreateStandardCursor(int shape); * * @param[in] cursor The cursor object to destroy. * - * @par Reentrancy - * This function may not be called from a callback. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref cursor_object * @sa glfwCreateCursor * - * @since Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup input */ @@ -2703,12 +3235,14 @@ GLFWAPI void glfwDestroyCursor(GLFWcursor* cursor); * @param[in] cursor The cursor to set, or `NULL` to switch back to the default * arrow cursor. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref cursor_object * - * @since Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup input */ @@ -2744,15 +3278,14 @@ GLFWAPI void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor); * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref input_key * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. Updated callback signature. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter and return value. * * @ingroup input */ @@ -2783,15 +3316,14 @@ GLFWAPI GLFWkeyfun glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun cbfun); * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref input_char * - * @since Added in GLFW 2.4. - * - * @par - * __GLFW 3:__ Added window handle parameter. Updated callback signature. + * @since Added in version 2.4. + * @glfw3 Added window handle parameter and return value. * * @ingroup input */ @@ -2818,12 +3350,13 @@ GLFWAPI GLFWcharfun glfwSetCharCallback(GLFWwindow* window, GLFWcharfun cbfun); * @return The previously set callback, or `NULL` if no callback was set or an * error occurred. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref input_char * - * @since Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup input */ @@ -2846,15 +3379,14 @@ GLFWAPI GLFWcharmodsfun glfwSetCharModsCallback(GLFWwindow* window, GLFWcharmods * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref input_mouse_button * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. Updated callback signature. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter and return value. * * @ingroup input */ @@ -2873,12 +3405,13 @@ GLFWAPI GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmo * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref cursor_pos * - * @since Added in GLFW 3.0. Replaces `glfwSetMousePosCallback`. + * @since Added in version 3.0. Replaces `glfwSetMousePosCallback`. * * @ingroup input */ @@ -2896,12 +3429,13 @@ GLFWAPI GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursor * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref cursor_enter * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup input */ @@ -2922,12 +3456,13 @@ GLFWAPI GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcu * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref scrolling * - * @since Added in GLFW 3.0. Replaces `glfwSetMouseWheelCallback`. + * @since Added in version 3.0. Replaces `glfwSetMouseWheelCallback`. * * @ingroup input */ @@ -2949,12 +3484,13 @@ GLFWAPI GLFWscrollfun glfwSetScrollCallback(GLFWwindow* window, GLFWscrollfun cb * @return The previously set callback, or `NULL` if no callback was set or the * library had not been [initialized](@ref intro_init). * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref path_drop * - * @since Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup input */ @@ -2965,14 +3501,16 @@ GLFWAPI GLFWdropfun glfwSetDropCallback(GLFWwindow* window, GLFWdropfun cbfun); * This function returns whether the specified joystick is present. * * @param[in] joy The [joystick](@ref joysticks) to query. - * @return `GL_TRUE` if the joystick is present, or `GL_FALSE` otherwise. + * @return `GLFW_TRUE` if the joystick is present, or `GLFW_FALSE` otherwise. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref joystick * - * @since Added in GLFW 3.0. Replaces `glfwGetJoystickParam`. + * @since Added in version 3.0. Replaces `glfwGetJoystickParam`. * * @ingroup input */ @@ -2983,22 +3521,28 @@ GLFWAPI int glfwJoystickPresent(int joy); * This function returns the values of all axes of the specified joystick. * Each element in the array is a value between -1.0 and 1.0. * + * Querying a joystick slot with no device present is not an error, but will + * cause this function to return `NULL`. Call @ref glfwJoystickPresent to + * check device presence. + * * @param[in] joy The [joystick](@ref joysticks) to query. * @param[out] count Where to store the number of axis values in the returned * array. This is set to zero if an error occurred. * @return An array of axis values, or `NULL` if the joystick is not present. * - * @par Pointer Lifetime - * The returned array is allocated and freed by GLFW. You should not free it - * yourself. It is valid until the specified joystick is disconnected, this - * function is called again for that joystick or the library is terminated. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified joystick is + * disconnected, this function is called again for that joystick or the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref joystick_axis * - * @since Added in GLFW 3.0. Replaces `glfwGetJoystickPos`. + * @since Added in version 3.0. Replaces `glfwGetJoystickPos`. * * @ingroup input */ @@ -3009,25 +3553,29 @@ GLFWAPI const float* glfwGetJoystickAxes(int joy, int* count); * This function returns the state of all buttons of the specified joystick. * Each element in the array is either `GLFW_PRESS` or `GLFW_RELEASE`. * + * Querying a joystick slot with no device present is not an error, but will + * cause this function to return `NULL`. Call @ref glfwJoystickPresent to + * check device presence. + * * @param[in] joy The [joystick](@ref joysticks) to query. * @param[out] count Where to store the number of button states in the returned * array. This is set to zero if an error occurred. * @return An array of button states, or `NULL` if the joystick is not present. * - * @par Pointer Lifetime - * The returned array is allocated and freed by GLFW. You should not free it - * yourself. It is valid until the specified joystick is disconnected, this - * function is called again for that joystick or the library is terminated. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified joystick is + * disconnected, this function is called again for that joystick or the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref joystick_button * - * @since Added in GLFW 2.2. - * - * @par - * __GLFW 3:__ Changed to return a dynamic array. + * @since Added in version 2.2. + * @glfw3 Changed to return a dynamic array. * * @ingroup input */ @@ -3039,26 +3587,55 @@ GLFWAPI const unsigned char* glfwGetJoystickButtons(int joy, int* count); * The returned string is allocated and freed by GLFW. You should not free it * yourself. * + * Querying a joystick slot with no device present is not an error, but will + * cause this function to return `NULL`. Call @ref glfwJoystickPresent to + * check device presence. + * * @param[in] joy The [joystick](@ref joysticks) to query. * @return The UTF-8 encoded name of the joystick, or `NULL` if the joystick * is not present. * - * @par Pointer Lifetime - * The returned string is allocated and freed by GLFW. You should not free it - * yourself. It is valid until the specified joystick is disconnected, this - * function is called again for that joystick or the library is terminated. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified joystick is + * disconnected, this function is called again for that joystick or the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref joystick_name * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup input */ GLFWAPI const char* glfwGetJoystickName(int joy); +/*! @brief Sets the joystick configuration callback. + * + * This function sets the joystick configuration callback, or removes the + * currently set callback. This is called when a joystick is connected to or + * disconnected from the system. + * + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick_event + * + * @since Added in version 3.2. + * + * @ingroup input + */ +GLFWAPI GLFWjoystickfun glfwSetJoystickCallback(GLFWjoystickfun cbfun); + /*! @brief Sets the clipboard to the specified string. * * This function sets the system clipboard to the specified, UTF-8 encoded @@ -3067,16 +3644,18 @@ GLFWAPI const char* glfwGetJoystickName(int joy); * @param[in] window The window that will own the clipboard contents. * @param[in] string A UTF-8 encoded string. * - * @par Pointer Lifetime - * The specified string is copied before this function returns. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @par Thread Safety - * This function may only be called from the main thread. + * @pointer_lifetime The specified string is copied before this function + * returns. + * + * @thread_safety This function must only be called from the main thread. * * @sa @ref clipboard * @sa glfwGetClipboardString * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup input */ @@ -3085,25 +3664,28 @@ GLFWAPI void glfwSetClipboardString(GLFWwindow* window, const char* string); /*! @brief Returns the contents of the clipboard as a string. * * This function returns the contents of the system clipboard, if it contains - * or is convertible to a UTF-8 encoded string. + * or is convertible to a UTF-8 encoded string. If the clipboard is empty or + * if its contents cannot be converted, `NULL` is returned and a @ref + * GLFW_FORMAT_UNAVAILABLE error is generated. * * @param[in] window The window that will request the clipboard contents. * @return The contents of the clipboard as a UTF-8 encoded string, or `NULL` * if an [error](@ref error_handling) occurred. * - * @par Pointer Lifetime - * The returned string is allocated and freed by GLFW. You should not free it - * yourself. It is valid until the next call to @ref + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the next call to @ref * glfwGetClipboardString or @ref glfwSetClipboardString, or until the library * is terminated. * - * @par Thread Safety - * This function may only be called from the main thread. + * @thread_safety This function must only be called from the main thread. * * @sa @ref clipboard * @sa glfwSetClipboardString * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup input */ @@ -3122,12 +3704,14 @@ GLFWAPI const char* glfwGetClipboardString(GLFWwindow* window); * @return The current value, in seconds, or zero if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Reading of the + * internal timer offset is not atomic. * * @sa @ref time * - * @since Added in GLFW 1.0. + * @since Added in version 1.0. * * @ingroup input */ @@ -3136,21 +3720,71 @@ GLFWAPI double glfwGetTime(void); /*! @brief Sets the GLFW timer. * * This function sets the value of the GLFW timer. It then continues to count - * up from that value. + * up from that value. The value must be a positive finite number less than + * or equal to 18446744073.0, which is approximately 584.5 years. * * @param[in] time The new value, in seconds. * - * @par Thread Safety - * This function may only be called from the main thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_VALUE. + * + * @remark The upper limit of the timer is calculated as + * floor((264 - 1) / 109) and is due to implementations + * storing nanoseconds in 64 bits. The limit may be increased in the future. + * + * @thread_safety This function may be called from any thread. Writing of the + * internal timer offset is not atomic. * * @sa @ref time * - * @since Added in GLFW 2.2. + * @since Added in version 2.2. * * @ingroup input */ GLFWAPI void glfwSetTime(double time); +/*! @brief Returns the current value of the raw timer. + * + * This function returns the current value of the raw timer, measured in + * 1 / frequency seconds. To get the frequency, call @ref + * glfwGetTimerFrequency. + * + * @return The value of the timer, or zero if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref time + * @sa glfwGetTimerFrequency + * + * @since Added in version 3.2. + * + * @ingroup input + */ +GLFWAPI uint64_t glfwGetTimerValue(void); + +/*! @brief Returns the frequency, in Hz, of the raw timer. + * + * This function returns the frequency, in Hz, of the raw timer. + * + * @return The frequency of the timer, in Hz, or zero if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref time + * @sa glfwGetTimerValue + * + * @since Added in version 3.2. + * + * @ingroup input + */ +GLFWAPI uint64_t glfwGetTimerFrequency(void); + /*! @brief Makes the context of the specified window current for the calling * thread. * @@ -3164,16 +3798,22 @@ GLFWAPI void glfwSetTime(double time); * whether a context performs this flush by setting the * [GLFW_CONTEXT_RELEASE_BEHAVIOR](@ref window_hints_ctx) window hint. * + * The specified window must have an OpenGL or OpenGL ES context. Specifying + * a window without a context will generate a @ref GLFW_NO_WINDOW_CONTEXT + * error. + * * @param[in] window The window whose context to make current, or `NULL` to * detach the current context. * - * @par Thread Safety - * This function may be called from any thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function may be called from any thread. * * @sa @ref context_current * @sa glfwGetCurrentContext * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup context */ @@ -3187,13 +3827,14 @@ GLFWAPI void glfwMakeContextCurrent(GLFWwindow* window); * @return The window whose context is current, or `NULL` if no window's * context is current. * - * @par Thread Safety - * This function may be called from any thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. * * @sa @ref context_current * @sa glfwMakeContextCurrent * - * @since Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup context */ @@ -3201,22 +3842,33 @@ GLFWAPI GLFWwindow* glfwGetCurrentContext(void); /*! @brief Swaps the front and back buffers of the specified window. * - * This function swaps the front and back buffers of the specified window. If - * the swap interval is greater than zero, the GPU driver waits the specified - * number of screen updates before swapping the buffers. + * This function swaps the front and back buffers of the specified window when + * rendering with OpenGL or OpenGL ES. If the swap interval is greater than + * zero, the GPU driver waits the specified number of screen updates before + * swapping the buffers. + * + * The specified window must have an OpenGL or OpenGL ES context. Specifying + * a window without a context will generate a @ref GLFW_NO_WINDOW_CONTEXT + * error. + * + * This function does not apply to Vulkan. If you are rendering with Vulkan, + * see `vkQueuePresentKHR` instead. * * @param[in] window The window whose buffers to swap. * - * @par Thread Safety - * This function may be called from any thread. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @remark __EGL:__ The context of the specified window must be current on the + * calling thread. + * + * @thread_safety This function may be called from any thread. * * @sa @ref buffer_swap * @sa glfwSwapInterval * - * @since Added in GLFW 1.0. - * - * @par - * __GLFW 3:__ Added window handle parameter. + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. * * @ingroup window */ @@ -3224,11 +3876,11 @@ GLFWAPI void glfwSwapBuffers(GLFWwindow* window); /*! @brief Sets the swap interval for the current context. * - * This function sets the swap interval for the current context, i.e. the - * number of screen updates to wait from the time @ref glfwSwapBuffers was - * called before swapping the buffers and returning. This is sometimes called - * _vertical synchronization_, _vertical retrace synchronization_ or just - * _vsync_. + * This function sets the swap interval for the current OpenGL or OpenGL ES + * context, i.e. the number of screen updates to wait from the time @ref + * glfwSwapBuffers was called before swapping the buffers and returning. This + * is sometimes called _vertical synchronization_, _vertical retrace + * synchronization_ or just _vsync_. * * Contexts that support either of the `WGL_EXT_swap_control_tear` and * `GLX_EXT_swap_control_tear` extensions also accept negative swap intervals, @@ -3240,25 +3892,30 @@ GLFWAPI void glfwSwapBuffers(GLFWwindow* window); * A context must be current on the calling thread. Calling this function * without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error. * + * This function does not apply to Vulkan. If you are rendering with Vulkan, + * see the present mode of your swapchain instead. + * * @param[in] interval The minimum number of screen updates to wait for * until the buffers are swapped by @ref glfwSwapBuffers. * - * @note This function is not called during window creation, leaving the swap - * interval set to whatever is the default on that platform. This is done + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_CURRENT_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @remark This function is not called during context creation, leaving the + * swap interval set to whatever is the default on that platform. This is done * because some swap interval extensions used by GLFW do not allow the swap * interval to be reset to zero once it has been set to a non-zero value. * - * @note Some GPU drivers do not honor the requested swap interval, either - * because of user settings that override the request or due to bugs in the - * driver. + * @remark Some GPU drivers do not honor the requested swap interval, either + * because of a user setting that overrides the application's request or due to + * bugs in the driver. * - * @par Thread Safety - * This function may be called from any thread. + * @thread_safety This function may be called from any thread. * * @sa @ref buffer_swap * @sa glfwSwapBuffers * - * @since Added in GLFW 1.0. + * @since Added in version 1.0. * * @ingroup context */ @@ -3268,8 +3925,8 @@ GLFWAPI void glfwSwapInterval(int interval); * * This function returns whether the specified * [API extension](@ref context_glext) is supported by the current OpenGL or - * OpenGL ES context. It searches both for OpenGL and OpenGL ES extension and - * platform-specific context creation API extensions. + * OpenGL ES context. It searches both for client API extension and context + * creation API extensions. * * A context must be current on the calling thread. Calling this function * without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error. @@ -3279,16 +3936,24 @@ GLFWAPI void glfwSwapInterval(int interval); * frequently. The extension strings will not change during the lifetime of * a context, so there is no danger in doing this. * - * @param[in] extension The ASCII encoded name of the extension. - * @return `GL_TRUE` if the extension is available, or `GL_FALSE` otherwise. + * This function does not apply to Vulkan. If you are using Vulkan, see @ref + * glfwGetRequiredInstanceExtensions, `vkEnumerateInstanceExtensionProperties` + * and `vkEnumerateDeviceExtensionProperties` instead. * - * @par Thread Safety - * This function may be called from any thread. + * @param[in] extension The ASCII encoded name of the extension. + * @return `GLFW_TRUE` if the extension is available, or `GLFW_FALSE` + * otherwise. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_CURRENT_CONTEXT, @ref GLFW_INVALID_VALUE and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function may be called from any thread. * * @sa @ref context_glext * @sa glfwGetProcAddress * - * @since Added in GLFW 1.0. + * @since Added in version 1.0. * * @ingroup context */ @@ -3297,36 +3962,243 @@ GLFWAPI int glfwExtensionSupported(const char* extension); /*! @brief Returns the address of the specified function for the current * context. * - * This function returns the address of the specified - * [client API or extension function](@ref context_glext), if it is supported + * This function returns the address of the specified OpenGL or OpenGL ES + * [core or extension function](@ref context_glext), if it is supported * by the current context. * * A context must be current on the calling thread. Calling this function * without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error. * - * @param[in] procname The ASCII encoded name of the function. - * @return The address of the function, or `NULL` if the function is - * unavailable or an [error](@ref error_handling) occurred. + * This function does not apply to Vulkan. If you are rendering with Vulkan, + * see @ref glfwGetInstanceProcAddress, `vkGetInstanceProcAddr` and + * `vkGetDeviceProcAddr` instead. * - * @note The addresses of a given function is not guaranteed to be the same + * @param[in] procname The ASCII encoded name of the function. + * @return The address of the function, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_CURRENT_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @remark The address of a given function is not guaranteed to be the same * between contexts. * - * @par Pointer Lifetime - * The returned function pointer is valid until the context is destroyed or the - * library is terminated. + * @remark This function may return a non-`NULL` address despite the + * associated version or extension not being available. Always check the + * context version or extension string first. * - * @par Thread Safety - * This function may be called from any thread. + * @pointer_lifetime The returned function pointer is valid until the context + * is destroyed or the library is terminated. + * + * @thread_safety This function may be called from any thread. * * @sa @ref context_glext * @sa glfwExtensionSupported * - * @since Added in GLFW 1.0. + * @since Added in version 1.0. * * @ingroup context */ GLFWAPI GLFWglproc glfwGetProcAddress(const char* procname); +/*! @brief Returns whether the Vulkan loader has been found. + * + * This function returns whether the Vulkan loader has been found. This check + * is performed by @ref glfwInit. + * + * The availability of a Vulkan loader does not by itself guarantee that window + * surface creation or even device creation is possible. Call @ref + * glfwGetRequiredInstanceExtensions to check whether the extensions necessary + * for Vulkan surface creation are available and @ref + * glfwGetPhysicalDevicePresentationSupport to check whether a queue family of + * a physical device supports image presentation. + * + * @return `GLFW_TRUE` if Vulkan is available, or `GLFW_FALSE` otherwise. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref vulkan_support + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI int glfwVulkanSupported(void); + +/*! @brief Returns the Vulkan instance extensions required by GLFW. + * + * This function returns an array of names of Vulkan instance extensions required + * by GLFW for creating Vulkan surfaces for GLFW windows. If successful, the + * list will always contains `VK_KHR_surface`, so if you don't require any + * additional extensions you can pass this list directly to the + * `VkInstanceCreateInfo` struct. + * + * If Vulkan is not available on the machine, this function returns `NULL` and + * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref glfwVulkanSupported + * to check whether Vulkan is available. + * + * If Vulkan is available but no set of extensions allowing window surface + * creation was found, this function returns `NULL`. You may still use Vulkan + * for off-screen rendering and compute work. + * + * @param[out] count Where to store the number of extensions in the returned + * array. This is set to zero if an error occurred. + * @return An array of ASCII encoded extension names, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_API_UNAVAILABLE. + * + * @remarks Additional extensions may be required by future versions of GLFW. + * You should check if any extensions you wish to enable are already in the + * returned array, as it is an error to specify an extension more than once in + * the `VkInstanceCreateInfo` struct. + * + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is guaranteed to be valid only until the + * library is terminated. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref vulkan_ext + * @sa glfwCreateWindowSurface + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI const char** glfwGetRequiredInstanceExtensions(uint32_t* count); + +#if defined(VK_VERSION_1_0) + +/*! @brief Returns the address of the specified Vulkan instance function. + * + * This function returns the address of the specified Vulkan core or extension + * function for the specified instance. If instance is set to `NULL` it can + * return any function exported from the Vulkan loader, including at least the + * following functions: + * + * - `vkEnumerateInstanceExtensionProperties` + * - `vkEnumerateInstanceLayerProperties` + * - `vkCreateInstance` + * - `vkGetInstanceProcAddr` + * + * If Vulkan is not available on the machine, this function returns `NULL` and + * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref glfwVulkanSupported + * to check whether Vulkan is available. + * + * This function is equivalent to calling `vkGetInstanceProcAddr` with + * a platform-specific query of the Vulkan loader as a fallback. + * + * @param[in] instance The Vulkan instance to query, or `NULL` to retrieve + * functions related to instance creation. + * @param[in] procname The ASCII encoded name of the function. + * @return The address of the function, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_API_UNAVAILABLE. + * + * @pointer_lifetime The returned function pointer is valid until the library + * is terminated. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref vulkan_proc + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI GLFWvkproc glfwGetInstanceProcAddress(VkInstance instance, const char* procname); + +/*! @brief Returns whether the specified queue family can present images. + * + * This function returns whether the specified queue family of the specified + * physical device supports presentation to the platform GLFW was built for. + * + * If Vulkan or the required window surface creation instance extensions are + * not available on the machine, or if the specified instance was not created + * with the required extensions, this function returns `GLFW_FALSE` and + * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref glfwVulkanSupported + * to check whether Vulkan is available and @ref + * glfwGetRequiredInstanceExtensions to check what instance extensions are + * required. + * + * @param[in] instance The instance that the physical device belongs to. + * @param[in] device The physical device that the queue family belongs to. + * @param[in] queuefamily The index of the queue family to query. + * @return `GLFW_TRUE` if the queue family supports presentation, or + * `GLFW_FALSE` otherwise. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_API_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function may be called from any thread. For + * synchronization details of Vulkan objects, see the Vulkan specification. + * + * @sa @ref vulkan_present + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI int glfwGetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily); + +/*! @brief Creates a Vulkan surface for the specified window. + * + * This function creates a Vulkan surface for the specified window. + * + * If the Vulkan loader was not found at initialization, this function returns + * `VK_ERROR_INITIALIZATION_FAILED` and generates a @ref GLFW_API_UNAVAILABLE + * error. Call @ref glfwVulkanSupported to check whether the Vulkan loader was + * found. + * + * If the required window surface creation instance extensions are not + * available or if the specified instance was not created with these extensions + * enabled, this function returns `VK_ERROR_EXTENSION_NOT_PRESENT` and + * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref + * glfwGetRequiredInstanceExtensions to check what instance extensions are + * required. + * + * The window surface must be destroyed before the specified Vulkan instance. + * It is the responsibility of the caller to destroy the window surface. GLFW + * does not destroy it for you. Call `vkDestroySurfaceKHR` to destroy the + * surface. + * + * @param[in] instance The Vulkan instance to create the surface in. + * @param[in] window The window to create the surface for. + * @param[in] allocator The allocator to use, or `NULL` to use the default + * allocator. + * @param[out] surface Where to store the handle of the surface. This is set + * to `VK_NULL_HANDLE` if an error occurred. + * @return `VK_SUCCESS` if successful, or a Vulkan error code if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_API_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. + * + * @remarks If an error occurs before the creation call is made, GLFW returns + * the Vulkan error code most appropriate for the error. Appropriate use of + * @ref glfwVulkanSupported and @ref glfwGetRequiredInstanceExtensions should + * eliminate almost all occurrences of these errors. + * + * @thread_safety This function may be called from any thread. For + * synchronization details of Vulkan objects, see the Vulkan specification. + * + * @sa @ref vulkan_surface + * @sa glfwGetRequiredInstanceExtensions + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI VkResult glfwCreateWindowSurface(VkInstance instance, GLFWwindow* window, const VkAllocationCallbacks* allocator, VkSurfaceKHR* surface); + +#endif /*VK_VERSION_1_0*/ + /************************************************************************* * Global definition cleanup diff --git a/examples/libs/glfw/include/GLFW/glfw3native.h b/examples/libs/glfw/include/GLFW/glfw3native.h index b3ce7482d..9fa955e94 100644 --- a/examples/libs/glfw/include/GLFW/glfw3native.h +++ b/examples/libs/glfw/include/GLFW/glfw3native.h @@ -1,5 +1,5 @@ /************************************************************************* - * GLFW 3.1 - www.glfw.org + * GLFW 3.2 - www.glfw.org * A library for OpenGL, window and input *------------------------------------------------------------------------ * Copyright (c) 2002-2006 Marcus Geelnard @@ -38,20 +38,30 @@ extern "C" { * Doxygen documentation *************************************************************************/ +/*! @file glfw3native.h + * @brief The header of the native access functions. + * + * This is the header file of the native access functions. See @ref native for + * more information. + */ /*! @defgroup native Native access * * **By using the native access functions you assert that you know what you're * doing and how to fix problems caused by using them. If you don't, you * shouldn't be using them.** * - * Before the inclusion of @ref glfw3native.h, you must define exactly one - * window system API macro and exactly one context creation API macro. Failure - * to do this will cause a compile-time error. + * Before the inclusion of @ref glfw3native.h, you may define exactly one + * window system API macro and zero or more context creation API macros. + * + * The chosen backends must match those the library was compiled for. Failure + * to do this will cause a link-time error. * * The available window API macros are: * * `GLFW_EXPOSE_NATIVE_WIN32` * * `GLFW_EXPOSE_NATIVE_COCOA` * * `GLFW_EXPOSE_NATIVE_X11` + * * `GLFW_EXPOSE_NATIVE_WAYLAND` + * * `GLFW_EXPOSE_NATIVE_MIR` * * The available context API macros are: * * `GLFW_EXPOSE_NATIVE_WGL` @@ -86,20 +96,23 @@ extern "C" { #elif defined(GLFW_EXPOSE_NATIVE_X11) #include #include -#else - #error "No window API selected" +#elif defined(GLFW_EXPOSE_NATIVE_WAYLAND) + #include +#elif defined(GLFW_EXPOSE_NATIVE_MIR) + #include #endif #if defined(GLFW_EXPOSE_NATIVE_WGL) /* WGL is declared by windows.h */ -#elif defined(GLFW_EXPOSE_NATIVE_NSGL) +#endif +#if defined(GLFW_EXPOSE_NATIVE_NSGL) /* NSGL is declared by Cocoa.h */ -#elif defined(GLFW_EXPOSE_NATIVE_GLX) +#endif +#if defined(GLFW_EXPOSE_NATIVE_GLX) #include -#elif defined(GLFW_EXPOSE_NATIVE_EGL) +#endif +#if defined(GLFW_EXPOSE_NATIVE_EGL) #include -#else - #error "No context API selected" #endif @@ -114,11 +127,10 @@ extern "C" { * of the specified monitor, or `NULL` if an [error](@ref error_handling) * occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup native */ @@ -130,11 +142,10 @@ GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor); * `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup native */ @@ -145,11 +156,10 @@ GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor); * @return The `HWND` of the specified window, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ @@ -162,11 +172,10 @@ GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window); * @return The `HGLRC` of the specified window, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ @@ -179,11 +188,10 @@ GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window); * @return The `CGDirectDisplayID` of the specified monitor, or * `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup native */ @@ -194,11 +202,10 @@ GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor); * @return The `NSWindow` of the specified window, or `nil` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ @@ -211,11 +218,10 @@ GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window); * @return The `NSOpenGLContext` of the specified window, or `nil` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ @@ -228,11 +234,10 @@ GLFWAPI id glfwGetNSGLContext(GLFWwindow* window); * @return The `Display` used by GLFW, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ @@ -243,11 +248,10 @@ GLFWAPI Display* glfwGetX11Display(void); * @return The `RRCrtc` of the specified monitor, or `None` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup native */ @@ -258,11 +262,10 @@ GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor); * @return The `RROutput` of the specified monitor, or `None` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.1. + * @since Added in version 3.1. * * @ingroup native */ @@ -273,11 +276,10 @@ GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor); * @return The `Window` of the specified window, or `None` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ @@ -290,15 +292,116 @@ GLFWAPI Window glfwGetX11Window(GLFWwindow* window); * @return The `GLXContext` of the specified window, or `NULL` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window); + +/*! @brief Returns the `GLXWindow` of the specified window. + * + * @return The `GLXWindow` of the specified window, or `None` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI GLXWindow glfwGetGLXWindow(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_WAYLAND) +/*! @brief Returns the `struct wl_display*` used by GLFW. + * + * @return The `struct wl_display*` used by GLFW, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI struct wl_display* glfwGetWaylandDisplay(void); + +/*! @brief Returns the `struct wl_output*` of the specified monitor. + * + * @return The `struct wl_output*` of the specified monitor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor); + +/*! @brief Returns the main `struct wl_surface*` of the specified window. + * + * @return The main `struct wl_surface*` of the specified window, or `NULL` if + * an [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_MIR) +/*! @brief Returns the `MirConnection*` used by GLFW. + * + * @return The `MirConnection*` used by GLFW, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI MirConnection* glfwGetMirDisplay(void); + +/*! @brief Returns the Mir output ID of the specified monitor. + * + * @return The Mir output ID of the specified monitor, or zero if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI int glfwGetMirMonitor(GLFWmonitor* monitor); + +/*! @brief Returns the `MirSurface*` of the specified window. + * + * @return The `MirSurface*` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI MirSurface* glfwGetMirWindow(GLFWwindow* window); #endif #if defined(GLFW_EXPOSE_NATIVE_EGL) @@ -307,11 +410,10 @@ GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window); * @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ @@ -322,11 +424,10 @@ GLFWAPI EGLDisplay glfwGetEGLDisplay(void); * @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ @@ -337,11 +438,10 @@ GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window); * @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an * [error](@ref error_handling) occurred. * - * @par Thread Safety - * This function may be called from any thread. Access is not synchronized. + * @thread_safety This function may be called from any thread. Access is not + * synchronized. * - * @par History - * Added in GLFW 3.0. + * @since Added in version 3.0. * * @ingroup native */ diff --git a/examples/libs/glfw/lib-vc2010-32/glfw3.lib b/examples/libs/glfw/lib-vc2010-32/glfw3.lib index 014458efed8cff308e876c22c2e4832c705079eb..348abecfa98d6cfad9db67127eab8d5c72473539 100644 GIT binary patch literal 187376 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

Tl{uZ9$!OXzW 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 literal 129546 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 diff --git a/examples/libs/glfw/lib-vc2010-64/glfw3.lib b/examples/libs/glfw/lib-vc2010-64/glfw3.lib index 8cdda39987fe55d400fa1def0738b4bdc8672d51..768f3083660f35ca37ce0d02a2541e92eb5cdade 100644 GIT binary patch literal 291120 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