From ca6b4f763ea11d6cacafd058c238ebe1be725224 Mon Sep 17 00:00:00 2001 From: flykhan Date: Thu, 15 Aug 2024 19:22:17 +0800 Subject: [PATCH] =?UTF-8?q?add=20(opengl=5Futils):=20=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?opengl=20=E5=B7=A5=E5=85=B7=20glfw=20=E5=BA=93=E5=8F=8A?= =?UTF-8?q?=E5=A4=B4=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/opengl_utils/glfw3/glfw3.h | 6547 ++++++++++++++++++++++ include/opengl_utils/glfw3/glfw3native.h | 663 +++ libs/opengl_utils/glfw3/glfw3.lib | Bin 0 -> 1488984 bytes libs/opengl_utils/glfw3/glfw3.pdb | Bin 0 -> 208896 bytes 4 files changed, 7210 insertions(+) create mode 100644 include/opengl_utils/glfw3/glfw3.h create mode 100644 include/opengl_utils/glfw3/glfw3native.h create mode 100644 libs/opengl_utils/glfw3/glfw3.lib create mode 100644 libs/opengl_utils/glfw3/glfw3.pdb diff --git a/include/opengl_utils/glfw3/glfw3.h b/include/opengl_utils/glfw3/glfw3.h new file mode 100644 index 0000000..9c55ac9 --- /dev/null +++ b/include/opengl_utils/glfw3/glfw3.h @@ -0,0 +1,6547 @@ +/************************************************************************* + * GLFW 3.4 - www.glfw.org + * A library for OpenGL, window and input + *------------------------------------------------------------------------ + * Copyright (c) 2002-2006 Marcus Geelnard + * Copyright (c) 2006-2019 Camilla Löwy + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would + * be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not + * be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + * + *************************************************************************/ + +#ifndef _glfw3_h_ +#define _glfw3_h_ + +#ifdef __cplusplus +extern "C" { +#endif + + +/************************************************************************* + * Doxygen documentation + *************************************************************************/ + +/*! @file glfw3.h + * @brief The header of the GLFW 3 API. + * + * 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 context Context reference + * @brief Functions and types related to OpenGL and OpenGL ES contexts. + * + * 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 support reference + * @brief Functions and types related to Vulkan. + * + * 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 + * @brief Functions and types related to initialization and error handling. + * + * This is the reference documentation for initialization and termination of + * the library, version management and error handling. For more task-oriented + * information, see the @ref intro_guide. + */ +/*! @defgroup input Input reference + * @brief Functions and types related to input handling. + * + * This is the reference documentation for input related functions and types. + * For more task-oriented information, see the @ref input_guide. + */ +/*! @defgroup monitor Monitor reference + * @brief Functions and types related to monitors. + * + * This is the reference documentation for monitor related functions and types. + * For more task-oriented information, see the @ref monitor_guide. + */ +/*! @defgroup window Window reference + * @brief Functions and types related to windows. + * + * This is the reference documentation for window related functions and types, + * including creation, deletion and event polling. For more task-oriented + * information, see the @ref window_guide. + */ + + +/************************************************************************* + * Compiler- and platform-specific preprocessor work + *************************************************************************/ + +/* If we are we on Windows, we want a single define for it. + */ +#if !defined(_WIN32) && (defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)) + #define _WIN32 +#endif /* _WIN32 */ + +/* Include because most Windows GLU headers need wchar_t and + * the macOS OpenGL header blocks the definition of ptrdiff_t by glext.h. + * Include it unconditionally to avoid surprising side-effects. + */ +#include + +/* Include because it is needed by Vulkan and related functions. + * Include it unconditionally to avoid surprising side-effects. + */ +#include + +#if defined(GLFW_INCLUDE_VULKAN) + #include +#endif /* Vulkan header */ + +/* The Vulkan header may have indirectly included windows.h (because of + * VK_USE_PLATFORM_WIN32_KHR) so we offer our replacement symbols after it. + */ + +/* It is customary to use APIENTRY for OpenGL function pointer declarations on + * all platforms. Additionally, the Windows OpenGL header needs APIENTRY. + */ +#if !defined(APIENTRY) + #if defined(_WIN32) + #define APIENTRY __stdcall + #else + #define APIENTRY + #endif + #define GLFW_APIENTRY_DEFINED +#endif /* APIENTRY */ + +/* Some Windows OpenGL headers need this. + */ +#if !defined(WINGDIAPI) && defined(_WIN32) + #define WINGDIAPI __declspec(dllimport) + #define GLFW_WINGDIAPI_DEFINED +#endif /* WINGDIAPI */ + +/* Some Windows GLU headers need this. + */ +#if !defined(CALLBACK) && defined(_WIN32) + #define CALLBACK __stdcall + #define GLFW_CALLBACK_DEFINED +#endif /* CALLBACK */ + +/* Include the chosen OpenGL or OpenGL ES headers. + */ +#if defined(GLFW_INCLUDE_ES1) + + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + +#elif defined(GLFW_INCLUDE_ES2) + + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + +#elif defined(GLFW_INCLUDE_ES3) + + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + +#elif defined(GLFW_INCLUDE_ES31) + + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + +#elif defined(GLFW_INCLUDE_ES32) + + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + +#elif defined(GLFW_INCLUDE_GLCOREARB) + + #if defined(__APPLE__) + + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif /*GLFW_INCLUDE_GLEXT*/ + + #else /*__APPLE__*/ + + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + + #endif /*__APPLE__*/ + +#elif defined(GLFW_INCLUDE_GLU) + + #if defined(__APPLE__) + + #if defined(GLFW_INCLUDE_GLU) + #include + #endif + + #else /*__APPLE__*/ + + #if defined(GLFW_INCLUDE_GLU) + #include + #endif + + #endif /*__APPLE__*/ + +#elif !defined(GLFW_INCLUDE_NONE) && \ + !defined(__gl_h_) && \ + !defined(__gles1_gl_h_) && \ + !defined(__gles2_gl2_h_) && \ + !defined(__gles2_gl3_h_) && \ + !defined(__gles2_gl31_h_) && \ + !defined(__gles2_gl32_h_) && \ + !defined(__gl_glcorearb_h_) && \ + !defined(__gl2_h_) /*legacy*/ && \ + !defined(__gl3_h_) /*legacy*/ && \ + !defined(__gl31_h_) /*legacy*/ && \ + !defined(__gl32_h_) /*legacy*/ && \ + !defined(__glcorearb_h_) /*legacy*/ && \ + !defined(__GL_H__) /*non-standard*/ && \ + !defined(__gltypes_h_) /*non-standard*/ && \ + !defined(__glee_h_) /*non-standard*/ + + #if defined(__APPLE__) + + #if !defined(GLFW_INCLUDE_GLEXT) + #define GL_GLEXT_LEGACY + #endif + #include + + #else /*__APPLE__*/ + + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + + #endif /*__APPLE__*/ + +#endif /* OpenGL and OpenGL ES headers */ + +#if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL) + /* GLFW_DLL must be defined by applications that are linking against the DLL + * version of the GLFW library. _GLFW_BUILD_DLL is defined by the GLFW + * configuration header when compiling the DLL version of the library. + */ + #error "You must not have both GLFW_DLL and _GLFW_BUILD_DLL defined" +#endif + +/* GLFWAPI is used to declare public API functions for export + * from the DLL / shared library / dynamic library. + */ +#if defined(_WIN32) && defined(_GLFW_BUILD_DLL) + /* We are building GLFW as a Win32 DLL */ + #define GLFWAPI __declspec(dllexport) +#elif defined(_WIN32) && defined(GLFW_DLL) + /* We are calling a GLFW Win32 DLL */ + #define GLFWAPI __declspec(dllimport) +#elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL) + /* We are building GLFW as a Unix shared library */ + #define GLFWAPI __attribute__((visibility("default"))) +#else + #define GLFWAPI +#endif + + +/************************************************************************* + * GLFW API tokens + *************************************************************************/ + +/*! @name GLFW version macros + * @{ */ +/*! @brief The major version number of the GLFW header. + * + * The major version number of the GLFW header. This is incremented when the + * API is changed in non-compatible ways. + * @ingroup init + */ +#define GLFW_VERSION_MAJOR 3 +/*! @brief The minor version number of the GLFW header. + * + * The minor version number of the GLFW header. This is incremented when + * features are added to the API but it remains backward-compatible. + * @ingroup init + */ +#define GLFW_VERSION_MINOR 4 +/*! @brief The revision number of the GLFW header. + * + * The revision number of the GLFW header. This is incremented when a bug fix + * release is made that does not contain any API changes. + * @ingroup init + */ +#define GLFW_VERSION_REVISION 0 +/*! @} */ + +/*! @brief One. + * + * This is only semantic sugar for the number 1. You can instead use `1` or + * `true` or `_True` or `GL_TRUE` or `VK_TRUE` or anything else that is equal + * to one. + * + * @ingroup init + */ +#define GLFW_TRUE 1 +/*! @brief Zero. + * + * This is only semantic sugar for the number 0. You can instead use `0` or + * `false` or `_False` or `GL_FALSE` or `VK_FALSE` or anything else that is + * equal to zero. + * + * @ingroup init + */ +#define GLFW_FALSE 0 + +/*! @name Key and button actions + * @{ */ +/*! @brief The key or mouse button was released. + * + * The key or mouse button was released. + * + * @ingroup input + */ +#define GLFW_RELEASE 0 +/*! @brief The key or mouse button was pressed. + * + * The key or mouse button was pressed. + * + * @ingroup input + */ +#define GLFW_PRESS 1 +/*! @brief The key was held down until it repeated. + * + * The key was held down until it repeated. + * + * @ingroup input + */ +#define GLFW_REPEAT 2 +/*! @} */ + +/*! @defgroup hat_state Joystick hat states + * @brief Joystick hat states. + * + * See [joystick hat input](@ref joystick_hat) for how these are used. + * + * @ingroup input + * @{ */ +#define GLFW_HAT_CENTERED 0 +#define GLFW_HAT_UP 1 +#define GLFW_HAT_RIGHT 2 +#define GLFW_HAT_DOWN 4 +#define GLFW_HAT_LEFT 8 +#define GLFW_HAT_RIGHT_UP (GLFW_HAT_RIGHT | GLFW_HAT_UP) +#define GLFW_HAT_RIGHT_DOWN (GLFW_HAT_RIGHT | GLFW_HAT_DOWN) +#define GLFW_HAT_LEFT_UP (GLFW_HAT_LEFT | GLFW_HAT_UP) +#define GLFW_HAT_LEFT_DOWN (GLFW_HAT_LEFT | GLFW_HAT_DOWN) + +/*! @ingroup input + */ +#define GLFW_KEY_UNKNOWN -1 + +/*! @} */ + +/*! @defgroup keys Keyboard key tokens + * @brief Keyboard key tokens. + * + * See [key input](@ref input_key) for how these are used. + * + * These key codes are inspired by the _USB HID Usage Tables v1.12_ (p. 53-60), + * but re-arranged to map to 7-bit ASCII for printable keys (function keys are + * put in the 256+ range). + * + * The naming of the key codes follow these rules: + * - The US keyboard layout is used + * - Names of printable alphanumeric characters are used (e.g. "A", "R", + * "3", etc.) + * - For non-alphanumeric characters, Unicode:ish names are used (e.g. + * "COMMA", "LEFT_SQUARE_BRACKET", etc.). Note that some names do not + * correspond to the Unicode standard (usually for brevity) + * - Keys that lack a clear US mapping are named "WORLD_x" + * - For non-printable keys, custom names are used (e.g. "F4", + * "BACKSPACE", etc.) + * + * @ingroup input + * @{ + */ + +/* Printable keys */ +#define GLFW_KEY_SPACE 32 +#define GLFW_KEY_APOSTROPHE 39 /* ' */ +#define GLFW_KEY_COMMA 44 /* , */ +#define GLFW_KEY_MINUS 45 /* - */ +#define GLFW_KEY_PERIOD 46 /* . */ +#define GLFW_KEY_SLASH 47 /* / */ +#define GLFW_KEY_0 48 +#define GLFW_KEY_1 49 +#define GLFW_KEY_2 50 +#define GLFW_KEY_3 51 +#define GLFW_KEY_4 52 +#define GLFW_KEY_5 53 +#define GLFW_KEY_6 54 +#define GLFW_KEY_7 55 +#define GLFW_KEY_8 56 +#define GLFW_KEY_9 57 +#define GLFW_KEY_SEMICOLON 59 /* ; */ +#define GLFW_KEY_EQUAL 61 /* = */ +#define GLFW_KEY_A 65 +#define GLFW_KEY_B 66 +#define GLFW_KEY_C 67 +#define GLFW_KEY_D 68 +#define GLFW_KEY_E 69 +#define GLFW_KEY_F 70 +#define GLFW_KEY_G 71 +#define GLFW_KEY_H 72 +#define GLFW_KEY_I 73 +#define GLFW_KEY_J 74 +#define GLFW_KEY_K 75 +#define GLFW_KEY_L 76 +#define GLFW_KEY_M 77 +#define GLFW_KEY_N 78 +#define GLFW_KEY_O 79 +#define GLFW_KEY_P 80 +#define GLFW_KEY_Q 81 +#define GLFW_KEY_R 82 +#define GLFW_KEY_S 83 +#define GLFW_KEY_T 84 +#define GLFW_KEY_U 85 +#define GLFW_KEY_V 86 +#define GLFW_KEY_W 87 +#define GLFW_KEY_X 88 +#define GLFW_KEY_Y 89 +#define GLFW_KEY_Z 90 +#define GLFW_KEY_LEFT_BRACKET 91 /* [ */ +#define GLFW_KEY_BACKSLASH 92 /* \ */ +#define GLFW_KEY_RIGHT_BRACKET 93 /* ] */ +#define GLFW_KEY_GRAVE_ACCENT 96 /* ` */ +#define GLFW_KEY_WORLD_1 161 /* non-US #1 */ +#define GLFW_KEY_WORLD_2 162 /* non-US #2 */ + +/* Function keys */ +#define GLFW_KEY_ESCAPE 256 +#define GLFW_KEY_ENTER 257 +#define GLFW_KEY_TAB 258 +#define GLFW_KEY_BACKSPACE 259 +#define GLFW_KEY_INSERT 260 +#define GLFW_KEY_DELETE 261 +#define GLFW_KEY_RIGHT 262 +#define GLFW_KEY_LEFT 263 +#define GLFW_KEY_DOWN 264 +#define GLFW_KEY_UP 265 +#define GLFW_KEY_PAGE_UP 266 +#define GLFW_KEY_PAGE_DOWN 267 +#define GLFW_KEY_HOME 268 +#define GLFW_KEY_END 269 +#define GLFW_KEY_CAPS_LOCK 280 +#define GLFW_KEY_SCROLL_LOCK 281 +#define GLFW_KEY_NUM_LOCK 282 +#define GLFW_KEY_PRINT_SCREEN 283 +#define GLFW_KEY_PAUSE 284 +#define GLFW_KEY_F1 290 +#define GLFW_KEY_F2 291 +#define GLFW_KEY_F3 292 +#define GLFW_KEY_F4 293 +#define GLFW_KEY_F5 294 +#define GLFW_KEY_F6 295 +#define GLFW_KEY_F7 296 +#define GLFW_KEY_F8 297 +#define GLFW_KEY_F9 298 +#define GLFW_KEY_F10 299 +#define GLFW_KEY_F11 300 +#define GLFW_KEY_F12 301 +#define GLFW_KEY_F13 302 +#define GLFW_KEY_F14 303 +#define GLFW_KEY_F15 304 +#define GLFW_KEY_F16 305 +#define GLFW_KEY_F17 306 +#define GLFW_KEY_F18 307 +#define GLFW_KEY_F19 308 +#define GLFW_KEY_F20 309 +#define GLFW_KEY_F21 310 +#define GLFW_KEY_F22 311 +#define GLFW_KEY_F23 312 +#define GLFW_KEY_F24 313 +#define GLFW_KEY_F25 314 +#define GLFW_KEY_KP_0 320 +#define GLFW_KEY_KP_1 321 +#define GLFW_KEY_KP_2 322 +#define GLFW_KEY_KP_3 323 +#define GLFW_KEY_KP_4 324 +#define GLFW_KEY_KP_5 325 +#define GLFW_KEY_KP_6 326 +#define GLFW_KEY_KP_7 327 +#define GLFW_KEY_KP_8 328 +#define GLFW_KEY_KP_9 329 +#define GLFW_KEY_KP_DECIMAL 330 +#define GLFW_KEY_KP_DIVIDE 331 +#define GLFW_KEY_KP_MULTIPLY 332 +#define GLFW_KEY_KP_SUBTRACT 333 +#define GLFW_KEY_KP_ADD 334 +#define GLFW_KEY_KP_ENTER 335 +#define GLFW_KEY_KP_EQUAL 336 +#define GLFW_KEY_LEFT_SHIFT 340 +#define GLFW_KEY_LEFT_CONTROL 341 +#define GLFW_KEY_LEFT_ALT 342 +#define GLFW_KEY_LEFT_SUPER 343 +#define GLFW_KEY_RIGHT_SHIFT 344 +#define GLFW_KEY_RIGHT_CONTROL 345 +#define GLFW_KEY_RIGHT_ALT 346 +#define GLFW_KEY_RIGHT_SUPER 347 +#define GLFW_KEY_MENU 348 + +#define GLFW_KEY_LAST GLFW_KEY_MENU + +/*! @} */ + +/*! @defgroup mods Modifier key flags + * @brief Modifier key flags. + * + * See [key input](@ref input_key) for how these are used. + * + * @ingroup input + * @{ */ + +/*! @brief If this bit is set one or more Shift keys were held down. + * + * If this bit is set one or more Shift keys were held down. + */ +#define GLFW_MOD_SHIFT 0x0001 +/*! @brief If this bit is set one or more Control keys were held down. + * + * If this bit is set one or more Control keys were held down. + */ +#define GLFW_MOD_CONTROL 0x0002 +/*! @brief If this bit is set one or more Alt keys were held down. + * + * If this bit is set one or more Alt keys were held down. + */ +#define GLFW_MOD_ALT 0x0004 +/*! @brief If this bit is set one or more Super keys were held down. + * + * If this bit is set one or more Super keys were held down. + */ +#define GLFW_MOD_SUPER 0x0008 +/*! @brief If this bit is set the Caps Lock key is enabled. + * + * If this bit is set the Caps Lock key is enabled and the @ref + * GLFW_LOCK_KEY_MODS input mode is set. + */ +#define GLFW_MOD_CAPS_LOCK 0x0010 +/*! @brief If this bit is set the Num Lock key is enabled. + * + * If this bit is set the Num Lock key is enabled and the @ref + * GLFW_LOCK_KEY_MODS input mode is set. + */ +#define GLFW_MOD_NUM_LOCK 0x0020 + +/*! @} */ + +/*! @defgroup buttons Mouse buttons + * @brief Mouse button IDs. + * + * See [mouse button input](@ref input_mouse_button) for how these are used. + * + * @ingroup input + * @{ */ +#define GLFW_MOUSE_BUTTON_1 0 +#define GLFW_MOUSE_BUTTON_2 1 +#define GLFW_MOUSE_BUTTON_3 2 +#define GLFW_MOUSE_BUTTON_4 3 +#define GLFW_MOUSE_BUTTON_5 4 +#define GLFW_MOUSE_BUTTON_6 5 +#define GLFW_MOUSE_BUTTON_7 6 +#define GLFW_MOUSE_BUTTON_8 7 +#define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8 +#define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1 +#define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2 +#define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3 +/*! @} */ + +/*! @defgroup joysticks Joysticks + * @brief Joystick IDs. + * + * See [joystick input](@ref joystick) for how these are used. + * + * @ingroup input + * @{ */ +#define GLFW_JOYSTICK_1 0 +#define GLFW_JOYSTICK_2 1 +#define GLFW_JOYSTICK_3 2 +#define GLFW_JOYSTICK_4 3 +#define GLFW_JOYSTICK_5 4 +#define GLFW_JOYSTICK_6 5 +#define GLFW_JOYSTICK_7 6 +#define GLFW_JOYSTICK_8 7 +#define GLFW_JOYSTICK_9 8 +#define GLFW_JOYSTICK_10 9 +#define GLFW_JOYSTICK_11 10 +#define GLFW_JOYSTICK_12 11 +#define GLFW_JOYSTICK_13 12 +#define GLFW_JOYSTICK_14 13 +#define GLFW_JOYSTICK_15 14 +#define GLFW_JOYSTICK_16 15 +#define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16 +/*! @} */ + +/*! @defgroup gamepad_buttons Gamepad buttons + * @brief Gamepad buttons. + * + * See @ref gamepad for how these are used. + * + * @ingroup input + * @{ */ +#define GLFW_GAMEPAD_BUTTON_A 0 +#define GLFW_GAMEPAD_BUTTON_B 1 +#define GLFW_GAMEPAD_BUTTON_X 2 +#define GLFW_GAMEPAD_BUTTON_Y 3 +#define GLFW_GAMEPAD_BUTTON_LEFT_BUMPER 4 +#define GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER 5 +#define GLFW_GAMEPAD_BUTTON_BACK 6 +#define GLFW_GAMEPAD_BUTTON_START 7 +#define GLFW_GAMEPAD_BUTTON_GUIDE 8 +#define GLFW_GAMEPAD_BUTTON_LEFT_THUMB 9 +#define GLFW_GAMEPAD_BUTTON_RIGHT_THUMB 10 +#define GLFW_GAMEPAD_BUTTON_DPAD_UP 11 +#define GLFW_GAMEPAD_BUTTON_DPAD_RIGHT 12 +#define GLFW_GAMEPAD_BUTTON_DPAD_DOWN 13 +#define GLFW_GAMEPAD_BUTTON_DPAD_LEFT 14 +#define GLFW_GAMEPAD_BUTTON_LAST GLFW_GAMEPAD_BUTTON_DPAD_LEFT + +#define GLFW_GAMEPAD_BUTTON_CROSS GLFW_GAMEPAD_BUTTON_A +#define GLFW_GAMEPAD_BUTTON_CIRCLE GLFW_GAMEPAD_BUTTON_B +#define GLFW_GAMEPAD_BUTTON_SQUARE GLFW_GAMEPAD_BUTTON_X +#define GLFW_GAMEPAD_BUTTON_TRIANGLE GLFW_GAMEPAD_BUTTON_Y +/*! @} */ + +/*! @defgroup gamepad_axes Gamepad axes + * @brief Gamepad axes. + * + * See @ref gamepad for how these are used. + * + * @ingroup input + * @{ */ +#define GLFW_GAMEPAD_AXIS_LEFT_X 0 +#define GLFW_GAMEPAD_AXIS_LEFT_Y 1 +#define GLFW_GAMEPAD_AXIS_RIGHT_X 2 +#define GLFW_GAMEPAD_AXIS_RIGHT_Y 3 +#define GLFW_GAMEPAD_AXIS_LEFT_TRIGGER 4 +#define GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER 5 +#define GLFW_GAMEPAD_AXIS_LAST GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER +/*! @} */ + +/*! @defgroup errors Error codes + * @brief Error codes. + * + * See [error handling](@ref error_handling) for how these are used. + * + * @ingroup init + * @{ */ +/*! @brief No error has occurred. + * + * No error has occurred. + * + * @analysis Yay. + */ +#define GLFW_NO_ERROR 0 +/*! @brief GLFW has not been initialized. + * + * This occurs if a GLFW function was called that must not be called unless the + * library is [initialized](@ref intro_init). + * + * @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. + * + * This occurs if a GLFW function was called that needs and operates on the + * current OpenGL or OpenGL ES context but no context is current on the calling + * thread. One such function is @ref glfwSwapInterval. + * + * @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. + * + * One of the arguments to the function was an invalid enum value, for example + * requesting @ref GLFW_RED_BITS with @ref glfwGetWindowAttrib. + * + * @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. + * + * One of the arguments to the function was an invalid value, for example + * requesting a non-existent OpenGL or OpenGL ES version like 2.7. + * + * Requesting a valid but unavailable OpenGL or OpenGL ES version will instead + * result in a @ref GLFW_VERSION_UNAVAILABLE error. + * + * @analysis Application programmer error. Fix the offending call. + */ +#define GLFW_INVALID_VALUE 0x00010004 +/*! @brief A memory allocation failed. + * + * A memory allocation failed. + * + * @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 API on the system. + * + * GLFW could not find support for the requested API on the system. + * + * @analysis The installed graphics driver does not support the requested + * API, or does not support it via the chosen context creation API. + * 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 support it via + * a WGL or GLX extension. macOS does not provide OpenGL ES at all. The Mesa + * EGL, OpenGL and OpenGL ES libraries do not interface with the Nvidia binary + * 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 context + * or framebuffer hints) is not available on this machine. + * + * @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 + * Future invalid OpenGL and OpenGL ES versions, for example OpenGL 4.8 if 5.0 + * comes out before the 4.x series gets that far, also fail with this error and + * not @ref GLFW_INVALID_VALUE, because GLFW cannot know what future versions + * will exist. + */ +#define GLFW_VERSION_UNAVAILABLE 0x00010007 +/*! @brief A platform-specific error occurred that does not match any of the + * more specific categories. + * + * A platform-specific error occurred that does not match any of the more + * specific categories. + * + * @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. + * + * If emitted during window creation, the requested pixel format is not + * supported. + * + * If emitted when querying the clipboard, the contents of the clipboard could + * not be converted to the requested format. + * + * @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 + * their machine does not match your requirements. + * + * @par + * If emitted when querying the clipboard, ignore the error or report it to + * 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 +/*! @brief The specified cursor shape is not available. + * + * The specified standard cursor shape is not available, either because the + * current platform cursor theme does not provide it or because it is not + * available on the platform. + * + * @analysis Platform or system settings limitation. Pick another + * [standard cursor shape](@ref shapes) or create a + * [custom cursor](@ref cursor_custom). + */ +#define GLFW_CURSOR_UNAVAILABLE 0x0001000B +/*! @brief The requested feature is not provided by the platform. + * + * The requested feature is not provided by the platform, so GLFW is unable to + * implement it. The documentation for each function notes if it could emit + * this error. + * + * @analysis Platform or platform version limitation. The error can be ignored + * unless the feature is critical to the application. + * + * @par + * A function call that emits this error has no effect other than the error and + * updating any existing out parameters. + */ +#define GLFW_FEATURE_UNAVAILABLE 0x0001000C +/*! @brief The requested feature is not implemented for the platform. + * + * The requested feature has not yet been implemented in GLFW for this platform. + * + * @analysis An incomplete implementation of GLFW for this platform, hopefully + * fixed in a future release. The error can be ignored unless the feature is + * critical to the application. + * + * @par + * A function call that emits this error has no effect other than the error and + * updating any existing out parameters. + */ +#define GLFW_FEATURE_UNIMPLEMENTED 0x0001000D +/*! @brief Platform unavailable or no matching platform was found. + * + * If emitted during initialization, no matching platform was found. If the @ref + * GLFW_PLATFORM init hint was set to `GLFW_ANY_PLATFORM`, GLFW could not detect any of + * the platforms supported by this library binary, except for the Null platform. If the + * init hint was set to a specific platform, it is either not supported by this library + * binary or GLFW was not able to detect it. + * + * If emitted by a native access function, GLFW was initialized for a different platform + * than the function is for. + * + * @analysis Failure to detect any platform usually only happens on non-macOS Unix + * systems, either when no window system is running or the program was run from + * a terminal that does not have the necessary environment variables. Fall back to + * a different platform if possible or notify the user that no usable platform was + * detected. + * + * Failure to detect a specific platform may have the same cause as above or be because + * support for that platform was not compiled in. Call @ref glfwPlatformSupported to + * check whether a specific platform is supported by a library binary. + */ +#define GLFW_PLATFORM_UNAVAILABLE 0x0001000E +/*! @} */ + +/*! @addtogroup window + * @{ */ +/*! @brief Input focus window hint and attribute + * + * Input focus [window hint](@ref GLFW_FOCUSED_hint) or + * [window attribute](@ref GLFW_FOCUSED_attrib). + */ +#define GLFW_FOCUSED 0x00020001 +/*! @brief Window iconification window attribute + * + * Window iconification [window attribute](@ref GLFW_ICONIFIED_attrib). + */ +#define GLFW_ICONIFIED 0x00020002 +/*! @brief Window resize-ability window hint and attribute + * + * Window resize-ability [window hint](@ref GLFW_RESIZABLE_hint) and + * [window attribute](@ref GLFW_RESIZABLE_attrib). + */ +#define GLFW_RESIZABLE 0x00020003 +/*! @brief Window visibility window hint and attribute + * + * Window visibility [window hint](@ref GLFW_VISIBLE_hint) and + * [window attribute](@ref GLFW_VISIBLE_attrib). + */ +#define GLFW_VISIBLE 0x00020004 +/*! @brief Window decoration window hint and attribute + * + * Window decoration [window hint](@ref GLFW_DECORATED_hint) and + * [window attribute](@ref GLFW_DECORATED_attrib). + */ +#define GLFW_DECORATED 0x00020005 +/*! @brief Window auto-iconification window hint and attribute + * + * Window auto-iconification [window hint](@ref GLFW_AUTO_ICONIFY_hint) and + * [window attribute](@ref GLFW_AUTO_ICONIFY_attrib). + */ +#define GLFW_AUTO_ICONIFY 0x00020006 +/*! @brief Window decoration window hint and attribute + * + * Window decoration [window hint](@ref GLFW_FLOATING_hint) and + * [window attribute](@ref GLFW_FLOATING_attrib). + */ +#define GLFW_FLOATING 0x00020007 +/*! @brief Window maximization window hint and attribute + * + * Window maximization [window hint](@ref GLFW_MAXIMIZED_hint) and + * [window attribute](@ref GLFW_MAXIMIZED_attrib). + */ +#define GLFW_MAXIMIZED 0x00020008 +/*! @brief Cursor centering window hint + * + * Cursor centering [window hint](@ref GLFW_CENTER_CURSOR_hint). + */ +#define GLFW_CENTER_CURSOR 0x00020009 +/*! @brief Window framebuffer transparency hint and attribute + * + * Window framebuffer transparency + * [window hint](@ref GLFW_TRANSPARENT_FRAMEBUFFER_hint) and + * [window attribute](@ref GLFW_TRANSPARENT_FRAMEBUFFER_attrib). + */ +#define GLFW_TRANSPARENT_FRAMEBUFFER 0x0002000A +/*! @brief Mouse cursor hover window attribute. + * + * Mouse cursor hover [window attribute](@ref GLFW_HOVERED_attrib). + */ +#define GLFW_HOVERED 0x0002000B +/*! @brief Input focus on calling show window hint and attribute + * + * Input focus [window hint](@ref GLFW_FOCUS_ON_SHOW_hint) or + * [window attribute](@ref GLFW_FOCUS_ON_SHOW_attrib). + */ +#define GLFW_FOCUS_ON_SHOW 0x0002000C + +/*! @brief Mouse input transparency window hint and attribute + * + * Mouse input transparency [window hint](@ref GLFW_MOUSE_PASSTHROUGH_hint) or + * [window attribute](@ref GLFW_MOUSE_PASSTHROUGH_attrib). + */ +#define GLFW_MOUSE_PASSTHROUGH 0x0002000D + +/*! @brief Initial position x-coordinate window hint. + * + * Initial position x-coordinate [window hint](@ref GLFW_POSITION_X). + */ +#define GLFW_POSITION_X 0x0002000E + +/*! @brief Initial position y-coordinate window hint. + * + * Initial position y-coordinate [window hint](@ref GLFW_POSITION_Y). + */ +#define GLFW_POSITION_Y 0x0002000F + +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_RED_BITS). + */ +#define GLFW_RED_BITS 0x00021001 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_GREEN_BITS). + */ +#define GLFW_GREEN_BITS 0x00021002 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_BLUE_BITS). + */ +#define GLFW_BLUE_BITS 0x00021003 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_ALPHA_BITS). + */ +#define GLFW_ALPHA_BITS 0x00021004 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_DEPTH_BITS). + */ +#define GLFW_DEPTH_BITS 0x00021005 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_STENCIL_BITS). + */ +#define GLFW_STENCIL_BITS 0x00021006 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_ACCUM_RED_BITS). + */ +#define GLFW_ACCUM_RED_BITS 0x00021007 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_ACCUM_GREEN_BITS). + */ +#define GLFW_ACCUM_GREEN_BITS 0x00021008 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_ACCUM_BLUE_BITS). + */ +#define GLFW_ACCUM_BLUE_BITS 0x00021009 +/*! @brief Framebuffer bit depth hint. + * + * Framebuffer bit depth [hint](@ref GLFW_ACCUM_ALPHA_BITS). + */ +#define GLFW_ACCUM_ALPHA_BITS 0x0002100A +/*! @brief Framebuffer auxiliary buffer hint. + * + * Framebuffer auxiliary buffer [hint](@ref GLFW_AUX_BUFFERS). + */ +#define GLFW_AUX_BUFFERS 0x0002100B +/*! @brief OpenGL stereoscopic rendering hint. + * + * OpenGL stereoscopic rendering [hint](@ref GLFW_STEREO). + */ +#define GLFW_STEREO 0x0002100C +/*! @brief Framebuffer MSAA samples hint. + * + * Framebuffer MSAA samples [hint](@ref GLFW_SAMPLES). + */ +#define GLFW_SAMPLES 0x0002100D +/*! @brief Framebuffer sRGB hint. + * + * Framebuffer sRGB [hint](@ref GLFW_SRGB_CAPABLE). + */ +#define GLFW_SRGB_CAPABLE 0x0002100E +/*! @brief Monitor refresh rate hint. + * + * Monitor refresh rate [hint](@ref GLFW_REFRESH_RATE). + */ +#define GLFW_REFRESH_RATE 0x0002100F +/*! @brief Framebuffer double buffering hint and attribute. + * + * Framebuffer double buffering [hint](@ref GLFW_DOUBLEBUFFER_hint) and + * [attribute](@ref GLFW_DOUBLEBUFFER_attrib). + */ +#define GLFW_DOUBLEBUFFER 0x00021010 + +/*! @brief Context client API hint and attribute. + * + * Context client API [hint](@ref GLFW_CLIENT_API_hint) and + * [attribute](@ref GLFW_CLIENT_API_attrib). + */ +#define GLFW_CLIENT_API 0x00022001 +/*! @brief Context client API major version hint and attribute. + * + * Context client API major version [hint](@ref GLFW_CONTEXT_VERSION_MAJOR_hint) + * and [attribute](@ref GLFW_CONTEXT_VERSION_MAJOR_attrib). + */ +#define GLFW_CONTEXT_VERSION_MAJOR 0x00022002 +/*! @brief Context client API minor version hint and attribute. + * + * Context client API minor version [hint](@ref GLFW_CONTEXT_VERSION_MINOR_hint) + * and [attribute](@ref GLFW_CONTEXT_VERSION_MINOR_attrib). + */ +#define GLFW_CONTEXT_VERSION_MINOR 0x00022003 +/*! @brief Context client API revision number attribute. + * + * Context client API revision number + * [attribute](@ref GLFW_CONTEXT_REVISION_attrib). + */ +#define GLFW_CONTEXT_REVISION 0x00022004 +/*! @brief Context robustness hint and attribute. + * + * Context client API revision number [hint](@ref GLFW_CONTEXT_ROBUSTNESS_hint) + * and [attribute](@ref GLFW_CONTEXT_ROBUSTNESS_attrib). + */ +#define GLFW_CONTEXT_ROBUSTNESS 0x00022005 +/*! @brief OpenGL forward-compatibility hint and attribute. + * + * OpenGL forward-compatibility [hint](@ref GLFW_OPENGL_FORWARD_COMPAT_hint) + * and [attribute](@ref GLFW_OPENGL_FORWARD_COMPAT_attrib). + */ +#define GLFW_OPENGL_FORWARD_COMPAT 0x00022006 +/*! @brief Debug mode context hint and attribute. + * + * Debug mode context [hint](@ref GLFW_CONTEXT_DEBUG_hint) and + * [attribute](@ref GLFW_CONTEXT_DEBUG_attrib). + */ +#define GLFW_CONTEXT_DEBUG 0x00022007 +/*! @brief Legacy name for compatibility. + * + * This is an alias for compatibility with earlier versions. + */ +#define GLFW_OPENGL_DEBUG_CONTEXT GLFW_CONTEXT_DEBUG +/*! @brief OpenGL profile hint and attribute. + * + * OpenGL profile [hint](@ref GLFW_OPENGL_PROFILE_hint) and + * [attribute](@ref GLFW_OPENGL_PROFILE_attrib). + */ +#define GLFW_OPENGL_PROFILE 0x00022008 +/*! @brief Context flush-on-release hint and attribute. + * + * Context flush-on-release [hint](@ref GLFW_CONTEXT_RELEASE_BEHAVIOR_hint) and + * [attribute](@ref GLFW_CONTEXT_RELEASE_BEHAVIOR_attrib). + */ +#define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009 +/*! @brief Context error suppression hint and attribute. + * + * Context error suppression [hint](@ref GLFW_CONTEXT_NO_ERROR_hint) and + * [attribute](@ref GLFW_CONTEXT_NO_ERROR_attrib). + */ +#define GLFW_CONTEXT_NO_ERROR 0x0002200A +/*! @brief Context creation API hint and attribute. + * + * Context creation API [hint](@ref GLFW_CONTEXT_CREATION_API_hint) and + * [attribute](@ref GLFW_CONTEXT_CREATION_API_attrib). + */ +#define GLFW_CONTEXT_CREATION_API 0x0002200B +/*! @brief Window content area scaling window + * [window hint](@ref GLFW_SCALE_TO_MONITOR). + */ +#define GLFW_SCALE_TO_MONITOR 0x0002200C +/*! @brief Window framebuffer scaling + * [window hint](@ref GLFW_SCALE_FRAMEBUFFER_hint). + */ +#define GLFW_SCALE_FRAMEBUFFER 0x0002200D +/*! @brief Legacy name for compatibility. + * + * This is an alias for the + * [GLFW_SCALE_FRAMEBUFFER](@ref GLFW_SCALE_FRAMEBUFFER_hint) window hint for + * compatibility with earlier versions. + */ +#define GLFW_COCOA_RETINA_FRAMEBUFFER 0x00023001 +/*! @brief macOS specific + * [window hint](@ref GLFW_COCOA_FRAME_NAME_hint). + */ +#define GLFW_COCOA_FRAME_NAME 0x00023002 +/*! @brief macOS specific + * [window hint](@ref GLFW_COCOA_GRAPHICS_SWITCHING_hint). + */ +#define GLFW_COCOA_GRAPHICS_SWITCHING 0x00023003 +/*! @brief X11 specific + * [window hint](@ref GLFW_X11_CLASS_NAME_hint). + */ +#define GLFW_X11_CLASS_NAME 0x00024001 +/*! @brief X11 specific + * [window hint](@ref GLFW_X11_CLASS_NAME_hint). + */ +#define GLFW_X11_INSTANCE_NAME 0x00024002 +#define GLFW_WIN32_KEYBOARD_MENU 0x00025001 +/*! @brief Win32 specific [window hint](@ref GLFW_WIN32_SHOWDEFAULT_hint). + */ +#define GLFW_WIN32_SHOWDEFAULT 0x00025002 +/*! @brief Wayland specific + * [window hint](@ref GLFW_WAYLAND_APP_ID_hint). + * + * Allows specification of the Wayland app_id. + */ +#define GLFW_WAYLAND_APP_ID 0x00026001 +/*! @} */ + +#define GLFW_NO_API 0 +#define GLFW_OPENGL_API 0x00030001 +#define GLFW_OPENGL_ES_API 0x00030002 + +#define GLFW_NO_ROBUSTNESS 0 +#define GLFW_NO_RESET_NOTIFICATION 0x00031001 +#define GLFW_LOSE_CONTEXT_ON_RESET 0x00031002 + +#define GLFW_OPENGL_ANY_PROFILE 0 +#define GLFW_OPENGL_CORE_PROFILE 0x00032001 +#define GLFW_OPENGL_COMPAT_PROFILE 0x00032002 + +#define GLFW_CURSOR 0x00033001 +#define GLFW_STICKY_KEYS 0x00033002 +#define GLFW_STICKY_MOUSE_BUTTONS 0x00033003 +#define GLFW_LOCK_KEY_MODS 0x00033004 +#define GLFW_RAW_MOUSE_MOTION 0x00033005 + +#define GLFW_CURSOR_NORMAL 0x00034001 +#define GLFW_CURSOR_HIDDEN 0x00034002 +#define GLFW_CURSOR_DISABLED 0x00034003 +#define GLFW_CURSOR_CAPTURED 0x00034004 + +#define GLFW_ANY_RELEASE_BEHAVIOR 0 +#define GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001 +#define GLFW_RELEASE_BEHAVIOR_NONE 0x00035002 + +#define GLFW_NATIVE_CONTEXT_API 0x00036001 +#define GLFW_EGL_CONTEXT_API 0x00036002 +#define GLFW_OSMESA_CONTEXT_API 0x00036003 + +#define GLFW_ANGLE_PLATFORM_TYPE_NONE 0x00037001 +#define GLFW_ANGLE_PLATFORM_TYPE_OPENGL 0x00037002 +#define GLFW_ANGLE_PLATFORM_TYPE_OPENGLES 0x00037003 +#define GLFW_ANGLE_PLATFORM_TYPE_D3D9 0x00037004 +#define GLFW_ANGLE_PLATFORM_TYPE_D3D11 0x00037005 +#define GLFW_ANGLE_PLATFORM_TYPE_VULKAN 0x00037007 +#define GLFW_ANGLE_PLATFORM_TYPE_METAL 0x00037008 + +#define GLFW_WAYLAND_PREFER_LIBDECOR 0x00038001 +#define GLFW_WAYLAND_DISABLE_LIBDECOR 0x00038002 + +#define GLFW_ANY_POSITION 0x80000000 + +/*! @defgroup shapes Standard cursor shapes + * @brief Standard system cursor shapes. + * + * These are the [standard cursor shapes](@ref cursor_standard) that can be + * requested from the platform (window system). + * + * @ingroup input + * @{ */ + +/*! @brief The regular arrow cursor shape. + * + * The regular arrow cursor shape. + */ +#define GLFW_ARROW_CURSOR 0x00036001 +/*! @brief The text input I-beam cursor shape. + * + * The text input I-beam cursor shape. + */ +#define GLFW_IBEAM_CURSOR 0x00036002 +/*! @brief The crosshair cursor shape. + * + * The crosshair cursor shape. + */ +#define GLFW_CROSSHAIR_CURSOR 0x00036003 +/*! @brief The pointing hand cursor shape. + * + * The pointing hand cursor shape. + */ +#define GLFW_POINTING_HAND_CURSOR 0x00036004 +/*! @brief The horizontal resize/move arrow shape. + * + * The horizontal resize/move arrow shape. This is usually a horizontal + * double-headed arrow. + */ +#define GLFW_RESIZE_EW_CURSOR 0x00036005 +/*! @brief The vertical resize/move arrow shape. + * + * The vertical resize/move shape. This is usually a vertical double-headed + * arrow. + */ +#define GLFW_RESIZE_NS_CURSOR 0x00036006 +/*! @brief The top-left to bottom-right diagonal resize/move arrow shape. + * + * The top-left to bottom-right diagonal resize/move shape. This is usually + * a diagonal double-headed arrow. + * + * @note @macos This shape is provided by a private system API and may fail + * with @ref GLFW_CURSOR_UNAVAILABLE in the future. + * + * @note @wayland This shape is provided by a newer standard not supported by + * all cursor themes. + * + * @note @x11 This shape is provided by a newer standard not supported by all + * cursor themes. + */ +#define GLFW_RESIZE_NWSE_CURSOR 0x00036007 +/*! @brief The top-right to bottom-left diagonal resize/move arrow shape. + * + * The top-right to bottom-left diagonal resize/move shape. This is usually + * a diagonal double-headed arrow. + * + * @note @macos This shape is provided by a private system API and may fail + * with @ref GLFW_CURSOR_UNAVAILABLE in the future. + * + * @note @wayland This shape is provided by a newer standard not supported by + * all cursor themes. + * + * @note @x11 This shape is provided by a newer standard not supported by all + * cursor themes. + */ +#define GLFW_RESIZE_NESW_CURSOR 0x00036008 +/*! @brief The omni-directional resize/move cursor shape. + * + * The omni-directional resize cursor/move shape. This is usually either + * a combined horizontal and vertical double-headed arrow or a grabbing hand. + */ +#define GLFW_RESIZE_ALL_CURSOR 0x00036009 +/*! @brief The operation-not-allowed shape. + * + * The operation-not-allowed shape. This is usually a circle with a diagonal + * line through it. + * + * @note @wayland This shape is provided by a newer standard not supported by + * all cursor themes. + * + * @note @x11 This shape is provided by a newer standard not supported by all + * cursor themes. + */ +#define GLFW_NOT_ALLOWED_CURSOR 0x0003600A +/*! @brief Legacy name for compatibility. + * + * This is an alias for compatibility with earlier versions. + */ +#define GLFW_HRESIZE_CURSOR GLFW_RESIZE_EW_CURSOR +/*! @brief Legacy name for compatibility. + * + * This is an alias for compatibility with earlier versions. + */ +#define GLFW_VRESIZE_CURSOR GLFW_RESIZE_NS_CURSOR +/*! @brief Legacy name for compatibility. + * + * This is an alias for compatibility with earlier versions. + */ +#define GLFW_HAND_CURSOR GLFW_POINTING_HAND_CURSOR +/*! @} */ + +#define GLFW_CONNECTED 0x00040001 +#define GLFW_DISCONNECTED 0x00040002 + +/*! @addtogroup init + * @{ */ +/*! @brief Joystick hat buttons init hint. + * + * Joystick hat buttons [init hint](@ref GLFW_JOYSTICK_HAT_BUTTONS). + */ +#define GLFW_JOYSTICK_HAT_BUTTONS 0x00050001 +/*! @brief ANGLE rendering backend init hint. + * + * ANGLE rendering backend [init hint](@ref GLFW_ANGLE_PLATFORM_TYPE_hint). + */ +#define GLFW_ANGLE_PLATFORM_TYPE 0x00050002 +/*! @brief Platform selection init hint. + * + * Platform selection [init hint](@ref GLFW_PLATFORM). + */ +#define GLFW_PLATFORM 0x00050003 +/*! @brief macOS specific init hint. + * + * macOS specific [init hint](@ref GLFW_COCOA_CHDIR_RESOURCES_hint). + */ +#define GLFW_COCOA_CHDIR_RESOURCES 0x00051001 +/*! @brief macOS specific init hint. + * + * macOS specific [init hint](@ref GLFW_COCOA_MENUBAR_hint). + */ +#define GLFW_COCOA_MENUBAR 0x00051002 +/*! @brief X11 specific init hint. + * + * X11 specific [init hint](@ref GLFW_X11_XCB_VULKAN_SURFACE_hint). + */ +#define GLFW_X11_XCB_VULKAN_SURFACE 0x00052001 +/*! @brief Wayland specific init hint. + * + * Wayland specific [init hint](@ref GLFW_WAYLAND_LIBDECOR_hint). + */ +#define GLFW_WAYLAND_LIBDECOR 0x00053001 +/*! @} */ + +/*! @addtogroup init + * @{ */ +/*! @brief Hint value that enables automatic platform selection. + * + * Hint value for @ref GLFW_PLATFORM that enables automatic platform selection. + */ +#define GLFW_ANY_PLATFORM 0x00060000 +#define GLFW_PLATFORM_WIN32 0x00060001 +#define GLFW_PLATFORM_COCOA 0x00060002 +#define GLFW_PLATFORM_WAYLAND 0x00060003 +#define GLFW_PLATFORM_X11 0x00060004 +#define GLFW_PLATFORM_NULL 0x00060005 +/*! @} */ + +#define GLFW_DONT_CARE -1 + + +/************************************************************************* + * GLFW API types + *************************************************************************/ + +/*! @brief Client API function pointer type. + * + * Generic function pointer used for returning client API function pointers + * without forcing a cast from a regular pointer. + * + * @sa @ref context_glext + * @sa @ref 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 @ref 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; + +/*! @brief Opaque window object. + * + * Opaque window object. + * + * @see @ref window_object + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef struct GLFWwindow GLFWwindow; + +/*! @brief Opaque cursor object. + * + * Opaque cursor object. + * + * @see @ref cursor_object + * + * @since Added in version 3.1. + * + * @ingroup input + */ +typedef struct GLFWcursor GLFWcursor; + +/*! @brief The function pointer type for memory allocation callbacks. + * + * This is the function pointer type for memory allocation callbacks. A memory + * allocation callback function has the following signature: + * @code + * void* function_name(size_t size, void* user) + * @endcode + * + * This function must return either a memory block at least `size` bytes long, + * or `NULL` if allocation failed. Note that not all parts of GLFW handle allocation + * failures gracefully yet. + * + * This function must support being called during @ref glfwInit but before the library is + * flagged as initialized, as well as during @ref glfwTerminate after the library is no + * longer flagged as initialized. + * + * Any memory allocated via this function will be deallocated via the same allocator + * during library termination or earlier. + * + * Any memory allocated via this function must be suitably aligned for any object type. + * If you are using C99 or earlier, this alignment is platform-dependent but will be the + * same as what `malloc` provides. If you are using C11 or later, this is the value of + * `alignof(max_align_t)`. + * + * The size will always be greater than zero. Allocations of size zero are filtered out + * before reaching the custom allocator. + * + * If this function returns `NULL`, GLFW will emit @ref GLFW_OUT_OF_MEMORY. + * + * This function must not call any GLFW function. + * + * @param[in] size The minimum size, in bytes, of the memory block. + * @param[in] user The user-defined pointer from the allocator. + * @return The address of the newly allocated memory block, or `NULL` if an + * error occurred. + * + * @pointer_lifetime The returned memory block must be valid at least until it + * is deallocated. + * + * @reentrancy This function should not call any GLFW function. + * + * @thread_safety This function must support being called from any thread that calls GLFW + * functions. + * + * @sa @ref init_allocator + * @sa @ref GLFWallocator + * + * @since Added in version 3.4. + * + * @ingroup init + */ +typedef void* (* GLFWallocatefun)(size_t size, void* user); + +/*! @brief The function pointer type for memory reallocation callbacks. + * + * This is the function pointer type for memory reallocation callbacks. + * A memory reallocation callback function has the following signature: + * @code + * void* function_name(void* block, size_t size, void* user) + * @endcode + * + * This function must return a memory block at least `size` bytes long, or + * `NULL` if allocation failed. Note that not all parts of GLFW handle allocation + * failures gracefully yet. + * + * This function must support being called during @ref glfwInit but before the library is + * flagged as initialized, as well as during @ref glfwTerminate after the library is no + * longer flagged as initialized. + * + * Any memory allocated via this function will be deallocated via the same allocator + * during library termination or earlier. + * + * Any memory allocated via this function must be suitably aligned for any object type. + * If you are using C99 or earlier, this alignment is platform-dependent but will be the + * same as what `realloc` provides. If you are using C11 or later, this is the value of + * `alignof(max_align_t)`. + * + * The block address will never be `NULL` and the size will always be greater than zero. + * Reallocations of a block to size zero are converted into deallocations before reaching + * the custom allocator. Reallocations of `NULL` to a non-zero size are converted into + * regular allocations before reaching the custom allocator. + * + * If this function returns `NULL`, GLFW will emit @ref GLFW_OUT_OF_MEMORY. + * + * This function must not call any GLFW function. + * + * @param[in] block The address of the memory block to reallocate. + * @param[in] size The new minimum size, in bytes, of the memory block. + * @param[in] user The user-defined pointer from the allocator. + * @return The address of the newly allocated or resized memory block, or + * `NULL` if an error occurred. + * + * @pointer_lifetime The returned memory block must be valid at least until it + * is deallocated. + * + * @reentrancy This function should not call any GLFW function. + * + * @thread_safety This function must support being called from any thread that calls GLFW + * functions. + * + * @sa @ref init_allocator + * @sa @ref GLFWallocator + * + * @since Added in version 3.4. + * + * @ingroup init + */ +typedef void* (* GLFWreallocatefun)(void* block, size_t size, void* user); + +/*! @brief The function pointer type for memory deallocation callbacks. + * + * This is the function pointer type for memory deallocation callbacks. + * A memory deallocation callback function has the following signature: + * @code + * void function_name(void* block, void* user) + * @endcode + * + * This function may deallocate the specified memory block. This memory block + * will have been allocated with the same allocator. + * + * This function must support being called during @ref glfwInit but before the library is + * flagged as initialized, as well as during @ref glfwTerminate after the library is no + * longer flagged as initialized. + * + * The block address will never be `NULL`. Deallocations of `NULL` are filtered out + * before reaching the custom allocator. + * + * If this function returns `NULL`, GLFW will emit @ref GLFW_OUT_OF_MEMORY. + * + * This function must not call any GLFW function. + * + * @param[in] block The address of the memory block to deallocate. + * @param[in] user The user-defined pointer from the allocator. + * + * @pointer_lifetime The specified memory block will not be accessed by GLFW + * after this function is called. + * + * @reentrancy This function should not call any GLFW function. + * + * @thread_safety This function must support being called from any thread that calls GLFW + * functions. + * + * @sa @ref init_allocator + * @sa @ref GLFWallocator + * + * @since Added in version 3.4. + * + * @ingroup init + */ +typedef void (* GLFWdeallocatefun)(void* block, void* user); + +/*! @brief The function pointer type for error callbacks. + * + * This is the function pointer type for error callbacks. An error callback + * function has the following signature: + * @code + * void callback_name(int error_code, const char* description) + * @endcode + * + * @param[in] error_code An [error code](@ref errors). Future releases may add + * more error codes. + * @param[in] description A UTF-8 encoded string describing the error. + * + * @pointer_lifetime The error description string is valid until the callback + * function returns. + * + * @sa @ref error_handling + * @sa @ref glfwSetErrorCallback + * + * @since Added in version 3.0. + * + * @ingroup init + */ +typedef void (* GLFWerrorfun)(int error_code, const char* description); + +/*! @brief The function pointer type for window position callbacks. + * + * This is the function pointer type for window position callbacks. A window + * position callback function has the following signature: + * @code + * void callback_name(GLFWwindow* window, int xpos, int ypos) + * @endcode + * + * @param[in] window The window that was moved. + * @param[in] xpos The new x-coordinate, in screen coordinates, of the + * upper-left corner of the content area of the window. + * @param[in] ypos The new y-coordinate, in screen coordinates, of the + * upper-left corner of the content area of the window. + * + * @sa @ref window_pos + * @sa @ref glfwSetWindowPosCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef void (* GLFWwindowposfun)(GLFWwindow* window, int xpos, int ypos); + +/*! @brief The function pointer type for window size callbacks. + * + * This is the function pointer type for window size callbacks. A window size + * callback function has the following signature: + * @code + * void callback_name(GLFWwindow* window, int width, int height) + * @endcode + * + * @param[in] window The window that was resized. + * @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 @ref glfwSetWindowSizeCallback + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +typedef void (* GLFWwindowsizefun)(GLFWwindow* window, int width, int height); + +/*! @brief The function pointer type for window close callbacks. + * + * This is the function pointer type for window close callbacks. A window + * close callback function has the following signature: + * @code + * void function_name(GLFWwindow* window) + * @endcode + * + * @param[in] window The window that the user attempted to close. + * + * @sa @ref window_close + * @sa @ref glfwSetWindowCloseCallback + * + * @since Added in version 2.5. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +typedef void (* GLFWwindowclosefun)(GLFWwindow* window); + +/*! @brief The function pointer type for window content refresh callbacks. + * + * This is the function pointer type for window content refresh callbacks. + * A window content refresh callback function has the following signature: + * @code + * void function_name(GLFWwindow* window); + * @endcode + * + * @param[in] window The window whose content needs to be refreshed. + * + * @sa @ref window_refresh + * @sa @ref glfwSetWindowRefreshCallback + * + * @since Added in version 2.5. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +typedef void (* GLFWwindowrefreshfun)(GLFWwindow* window); + +/*! @brief The function pointer type for window focus callbacks. + * + * This is the function pointer type for window focus callbacks. A window + * focus callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, int focused) + * @endcode + * + * @param[in] window The window that gained or lost input focus. + * @param[in] focused `GLFW_TRUE` if the window was given input focus, or + * `GLFW_FALSE` if it lost it. + * + * @sa @ref window_focus + * @sa @ref glfwSetWindowFocusCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef void (* GLFWwindowfocusfun)(GLFWwindow* window, int focused); + +/*! @brief The function pointer type for window iconify callbacks. + * + * This is the function pointer type for window iconify callbacks. A window + * iconify callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, int iconified) + * @endcode + * + * @param[in] window The window that was iconified or restored. + * @param[in] iconified `GLFW_TRUE` if the window was iconified, or + * `GLFW_FALSE` if it was restored. + * + * @sa @ref window_iconify + * @sa @ref glfwSetWindowIconifyCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef void (* GLFWwindowiconifyfun)(GLFWwindow* window, int iconified); + +/*! @brief The function pointer type for window maximize callbacks. + * + * This is the function pointer type for window maximize callbacks. A window + * maximize callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, int maximized) + * @endcode + * + * @param[in] window The window that was maximized or restored. + * @param[in] maximized `GLFW_TRUE` if the window was maximized, or + * `GLFW_FALSE` if it was restored. + * + * @sa @ref window_maximize + * @sa glfwSetWindowMaximizeCallback + * + * @since Added in version 3.3. + * + * @ingroup window + */ +typedef void (* GLFWwindowmaximizefun)(GLFWwindow* window, int maximized); + +/*! @brief The function pointer type for framebuffer size callbacks. + * + * This is the function pointer type for framebuffer size callbacks. + * A framebuffer size callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, int width, int height) + * @endcode + * + * @param[in] window The window whose framebuffer was resized. + * @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 @ref glfwSetFramebufferSizeCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef void (* GLFWframebuffersizefun)(GLFWwindow* window, int width, int height); + +/*! @brief The function pointer type for window content scale callbacks. + * + * This is the function pointer type for window content scale callbacks. + * A window content scale callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, float xscale, float yscale) + * @endcode + * + * @param[in] window The window whose content scale changed. + * @param[in] xscale The new x-axis content scale of the window. + * @param[in] yscale The new y-axis content scale of the window. + * + * @sa @ref window_scale + * @sa @ref glfwSetWindowContentScaleCallback + * + * @since Added in version 3.3. + * + * @ingroup window + */ +typedef void (* GLFWwindowcontentscalefun)(GLFWwindow* window, float xscale, float yscale); + +/*! @brief The function pointer type for mouse button callbacks. + * + * This is the function pointer type for mouse button callback functions. + * A mouse button callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, int button, int action, int mods) + * @endcode + * + * @param[in] window The window that received the event. + * @param[in] button The [mouse button](@ref buttons) that was pressed or + * released. + * @param[in] action One of `GLFW_PRESS` or `GLFW_RELEASE`. Future releases + * may add more actions. + * @param[in] mods Bit field describing which [modifier keys](@ref mods) were + * held down. + * + * @sa @ref input_mouse_button + * @sa @ref glfwSetMouseButtonCallback + * + * @since Added in version 1.0. + * @glfw3 Added window handle and modifier mask parameters. + * + * @ingroup input + */ +typedef void (* GLFWmousebuttonfun)(GLFWwindow* window, int button, int action, int mods); + +/*! @brief The function pointer type for cursor position callbacks. + * + * This is the function pointer type for cursor position callbacks. A cursor + * position callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, double xpos, double ypos); + * @endcode + * + * @param[in] window The window that received the event. + * @param[in] xpos The new cursor x-coordinate, relative to the left edge of + * the content area. + * @param[in] ypos The new cursor y-coordinate, relative to the top edge of the + * content area. + * + * @sa @ref cursor_pos + * @sa @ref glfwSetCursorPosCallback + * + * @since Added in version 3.0. Replaces `GLFWmouseposfun`. + * + * @ingroup input + */ +typedef void (* GLFWcursorposfun)(GLFWwindow* window, double xpos, double ypos); + +/*! @brief The function pointer type for cursor enter/leave callbacks. + * + * This is the function pointer type for cursor enter/leave callbacks. + * A cursor enter/leave callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, int entered) + * @endcode + * + * @param[in] window The window that received the event. + * @param[in] entered `GLFW_TRUE` if the cursor entered the window's content + * area, or `GLFW_FALSE` if it left it. + * + * @sa @ref cursor_enter + * @sa @ref glfwSetCursorEnterCallback + * + * @since Added in version 3.0. + * + * @ingroup input + */ +typedef void (* GLFWcursorenterfun)(GLFWwindow* window, int entered); + +/*! @brief The function pointer type for scroll callbacks. + * + * This is the function pointer type for scroll callbacks. A scroll callback + * function has the following signature: + * @code + * void function_name(GLFWwindow* window, double xoffset, double yoffset) + * @endcode + * + * @param[in] window The window that received the event. + * @param[in] xoffset The scroll offset along the x-axis. + * @param[in] yoffset The scroll offset along the y-axis. + * + * @sa @ref scrolling + * @sa @ref glfwSetScrollCallback + * + * @since Added in version 3.0. Replaces `GLFWmousewheelfun`. + * + * @ingroup input + */ +typedef void (* GLFWscrollfun)(GLFWwindow* window, double xoffset, double yoffset); + +/*! @brief The function pointer type for keyboard key callbacks. + * + * This is the function pointer type for keyboard key callbacks. A keyboard + * key callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, int key, int scancode, int action, int mods) + * @endcode + * + * @param[in] window The window that received the event. + * @param[in] key The [keyboard key](@ref keys) that was pressed or released. + * @param[in] scancode The platform-specific scancode of the key. + * @param[in] action `GLFW_PRESS`, `GLFW_RELEASE` or `GLFW_REPEAT`. Future + * releases may add more actions. + * @param[in] mods Bit field describing which [modifier keys](@ref mods) were + * held down. + * + * @sa @ref input_key + * @sa @ref glfwSetKeyCallback + * + * @since Added in version 1.0. + * @glfw3 Added window handle, scancode and modifier mask parameters. + * + * @ingroup input + */ +typedef void (* GLFWkeyfun)(GLFWwindow* window, int key, int scancode, int action, int mods); + +/*! @brief The function pointer type for Unicode character callbacks. + * + * This is the function pointer type for Unicode character callbacks. + * A Unicode character callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, unsigned int codepoint) + * @endcode + * + * @param[in] window The window that received the event. + * @param[in] codepoint The Unicode code point of the character. + * + * @sa @ref input_char + * @sa @ref glfwSetCharCallback + * + * @since Added in version 2.4. + * @glfw3 Added window handle parameter. + * + * @ingroup input + */ +typedef void (* GLFWcharfun)(GLFWwindow* window, unsigned int codepoint); + +/*! @brief The function pointer type for Unicode character with modifiers + * callbacks. + * + * This is the function pointer type for Unicode character with modifiers + * callbacks. It is called for each input character, regardless of what + * modifier keys are held down. A Unicode character with modifiers callback + * function has the following signature: + * @code + * void function_name(GLFWwindow* window, unsigned int codepoint, int mods) + * @endcode + * + * @param[in] window The window that received the event. + * @param[in] codepoint The Unicode code point of the character. + * @param[in] mods Bit field describing which [modifier keys](@ref mods) were + * held down. + * + * @sa @ref input_char + * @sa @ref glfwSetCharModsCallback + * + * @deprecated Scheduled for removal in version 4.0. + * + * @since Added in version 3.1. + * + * @ingroup input + */ +typedef void (* GLFWcharmodsfun)(GLFWwindow* window, unsigned int codepoint, int mods); + +/*! @brief The function pointer type for path drop callbacks. + * + * This is the function pointer type for path drop callbacks. A path drop + * callback function has the following signature: + * @code + * void function_name(GLFWwindow* window, int path_count, const char* paths[]) + * @endcode + * + * @param[in] window The window that received the event. + * @param[in] path_count The number of dropped paths. + * @param[in] paths The UTF-8 encoded file and/or directory path names. + * + * @pointer_lifetime The path array and its strings are valid until the + * callback function returns. + * + * @sa @ref path_drop + * @sa @ref glfwSetDropCallback + * + * @since Added in version 3.1. + * + * @ingroup input + */ +typedef void (* GLFWdropfun)(GLFWwindow* window, int path_count, const char* paths[]); + +/*! @brief The function pointer type for monitor configuration callbacks. + * + * This is the function pointer type for monitor configuration callbacks. + * A monitor callback function has the following signature: + * @code + * void function_name(GLFWmonitor* monitor, int event) + * @endcode + * + * @param[in] monitor The monitor that was connected or disconnected. + * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`. Future + * releases may add more events. + * + * @sa @ref monitor_event + * @sa @ref glfwSetMonitorCallback + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +typedef void (* GLFWmonitorfun)(GLFWmonitor* monitor, int event); + +/*! @brief The function pointer type for joystick configuration callbacks. + * + * This is the function pointer type for joystick configuration callbacks. + * A joystick configuration callback function has the following signature: + * @code + * void function_name(int jid, int event) + * @endcode + * + * @param[in] jid The joystick that was connected or disconnected. + * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`. Future + * releases may add more events. + * + * @sa @ref joystick_event + * @sa @ref glfwSetJoystickCallback + * + * @since Added in version 3.2. + * + * @ingroup input + */ +typedef void (* GLFWjoystickfun)(int jid, int event); + +/*! @brief Video mode type. + * + * This describes a single video mode. + * + * @sa @ref monitor_modes + * @sa @ref glfwGetVideoMode + * @sa @ref glfwGetVideoModes + * + * @since Added in version 1.0. + * @glfw3 Added refresh rate member. + * + * @ingroup monitor + */ +typedef struct GLFWvidmode +{ + /*! The width, in screen coordinates, of the video mode. + */ + int width; + /*! The height, in screen coordinates, of the video mode. + */ + int height; + /*! The bit depth of the red channel of the video mode. + */ + int redBits; + /*! The bit depth of the green channel of the video mode. + */ + int greenBits; + /*! The bit depth of the blue channel of the video mode. + */ + int blueBits; + /*! The refresh rate, in Hz, of the video mode. + */ + int refreshRate; +} GLFWvidmode; + +/*! @brief Gamma ramp. + * + * This describes the gamma ramp for a monitor. + * + * @sa @ref monitor_gamma + * @sa @ref glfwGetGammaRamp + * @sa @ref glfwSetGammaRamp + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +typedef struct GLFWgammaramp +{ + /*! An array of value describing the response of the red channel. + */ + unsigned short* red; + /*! An array of value describing the response of the green channel. + */ + unsigned short* green; + /*! An array of value describing the response of the blue channel. + */ + unsigned short* blue; + /*! The number of elements in each array. + */ + unsigned int size; +} GLFWgammaramp; + +/*! @brief Image data. + * + * This describes a single 2D image. See the documentation for each related + * function what the expected pixel format is. + * + * @sa @ref cursor_custom + * @sa @ref window_icon + * + * @since Added in version 2.1. + * @glfw3 Removed format and bytes-per-pixel members. + * + * @ingroup window + */ +typedef struct GLFWimage +{ + /*! The width, in pixels, of this image. + */ + int width; + /*! The height, in pixels, of this image. + */ + int height; + /*! The pixel data of this image, arranged left-to-right, top-to-bottom. + */ + unsigned char* pixels; +} GLFWimage; + +/*! @brief Gamepad input state + * + * This describes the input state of a gamepad. + * + * @sa @ref gamepad + * @sa @ref glfwGetGamepadState + * + * @since Added in version 3.3. + * + * @ingroup input + */ +typedef struct GLFWgamepadstate +{ + /*! The states of each [gamepad button](@ref gamepad_buttons), `GLFW_PRESS` + * or `GLFW_RELEASE`. + */ + unsigned char buttons[15]; + /*! The states of each [gamepad axis](@ref gamepad_axes), in the range -1.0 + * to 1.0 inclusive. + */ + float axes[6]; +} GLFWgamepadstate; + +/*! @brief Custom heap memory allocator. + * + * This describes a custom heap memory allocator for GLFW. To set an allocator, pass it + * to @ref glfwInitAllocator before initializing the library. + * + * @sa @ref init_allocator + * @sa @ref glfwInitAllocator + * + * @since Added in version 3.4. + * + * @ingroup init + */ +typedef struct GLFWallocator +{ + /*! The memory allocation function. See @ref GLFWallocatefun for details about + * allocation function. + */ + GLFWallocatefun allocate; + /*! The memory reallocation function. See @ref GLFWreallocatefun for details about + * reallocation function. + */ + GLFWreallocatefun reallocate; + /*! The memory deallocation function. See @ref GLFWdeallocatefun for details about + * deallocation function. + */ + GLFWdeallocatefun deallocate; + /*! The user pointer for this custom allocator. This value will be passed to the + * allocator functions. + */ + void* user; +} GLFWallocator; + + +/************************************************************************* + * GLFW API functions + *************************************************************************/ + +/*! @brief Initializes the GLFW library. + * + * This function initializes the GLFW library. Before most GLFW functions can + * be used, GLFW must be initialized, and before an application terminates GLFW + * should be terminated in order to free any resources allocated during or + * after initialization. + * + * If this function fails, it calls @ref glfwTerminate before returning. If it + * succeeds, you should call @ref glfwTerminate before the application exits. + * + * Additional calls to this function after successful initialization but before + * termination will return `GLFW_TRUE` immediately. + * + * The @ref GLFW_PLATFORM init hint controls which platforms are considered during + * initialization. This also depends on which platforms the library was compiled to + * support. + * + * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_PLATFORM_UNAVAILABLE and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @macos 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 the @ref + * GLFW_COCOA_CHDIR_RESOURCES init hint. + * + * @remark @macos This function will create the main menu and dock icon for the + * application. If GLFW finds a `MainMenu.nib` it is loaded and assumed to + * contain a menu bar. Otherwise a minimal menu bar is created manually 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 + * and dock icon can be disabled entirely with the @ref GLFW_COCOA_MENUBAR init + * hint. + * + * @remark __Wayland, X11:__ If the library was compiled with support for both + * Wayland and X11, and the @ref GLFW_PLATFORM init hint is set to + * `GLFW_ANY_PLATFORM`, the `XDG_SESSION_TYPE` environment variable affects + * which platform is picked. If the environment variable is not set, or is set + * to something other than `wayland` or `x11`, the regular detection mechanism + * will be used instead. + * + * @remark @x11 This function will set the `LC_CTYPE` category of the + * application locale according to the current environment if that category is + * still "C". This is because the "C" locale breaks Unicode text input. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref intro_init + * @sa @ref glfwInitHint + * @sa @ref glfwInitAllocator + * @sa @ref glfwTerminate + * + * @since Added in version 1.0. + * + * @ingroup init + */ +GLFWAPI int glfwInit(void); + +/*! @brief Terminates the GLFW library. + * + * This function destroys all remaining windows and cursors, restores any + * modified gamma ramps and frees any other allocated resources. Once this + * function is called, you must again call @ref glfwInit successfully before + * you will be able to use most GLFW functions. + * + * If GLFW has been successfully initialized, this function should be called + * before the application exits. If initialization fails, there is no need to + * call this function, as it is called by @ref glfwInit before it returns + * failure. + * + * This function has no effect if GLFW is not initialized. + * + * @errors Possible errors include @ref GLFW_PLATFORM_ERROR. + * + * @remark This function may be called before @ref glfwInit. + * + * @warning The contexts of any remaining windows must not be current on any + * other thread when this function is called. + * + * @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 @ref glfwInit + * + * @since Added in version 1.0. + * + * @ingroup init + */ +GLFWAPI void glfwTerminate(void); + +/*! @brief Sets the specified init hint to the desired value. + * + * This function sets hints for the next initialization of GLFW. + * + * The values you set hints to are never reset by GLFW, but they only take + * effect during initialization. Once GLFW has been initialized, any values + * you set will be ignored until the library is terminated and initialized + * again. + * + * Some hints are platform specific. These may be set on any platform but they + * will only affect their specific platform. Other platforms will ignore them. + * Setting these hints requires no platform specific headers or functions. + * + * @param[in] hint The [init hint](@ref init_hints) to set. + * @param[in] value The new value of the init hint. + * + * @errors Possible errors include @ref GLFW_INVALID_ENUM and @ref + * GLFW_INVALID_VALUE. + * + * @remarks This function may be called before @ref glfwInit. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa init_hints + * @sa glfwInit + * + * @since Added in version 3.3. + * + * @ingroup init + */ +GLFWAPI void glfwInitHint(int hint, int value); + +/*! @brief Sets the init allocator to the desired value. + * + * To use the default allocator, call this function with a `NULL` argument. + * + * If you specify an allocator struct, every member must be a valid function + * pointer. If any member is `NULL`, this function will emit @ref + * GLFW_INVALID_VALUE and the init allocator will be unchanged. + * + * The functions in the allocator must fulfil a number of requirements. See the + * documentation for @ref GLFWallocatefun, @ref GLFWreallocatefun and @ref + * GLFWdeallocatefun for details. + * + * @param[in] allocator The allocator to use at the next initialization, or + * `NULL` to use the default one. + * + * @errors Possible errors include @ref GLFW_INVALID_VALUE. + * + * @pointer_lifetime The specified allocator is copied before this function + * returns. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref init_allocator + * @sa @ref glfwInit + * + * @since Added in version 3.4. + * + * @ingroup init + */ +GLFWAPI void glfwInitAllocator(const GLFWallocator* allocator); + +#if defined(VK_VERSION_1_0) + +/*! @brief Sets the desired Vulkan `vkGetInstanceProcAddr` function. + * + * This function sets the `vkGetInstanceProcAddr` function that GLFW will use for all + * Vulkan related entry point queries. + * + * This feature is mostly useful on macOS, if your copy of the Vulkan loader is in + * a location where GLFW cannot find it through dynamic loading, or if you are still + * using the static library version of the loader. + * + * If set to `NULL`, GLFW will try to load the Vulkan loader dynamically by its standard + * name and get this function from there. This is the default behavior. + * + * The standard name of the loader is `vulkan-1.dll` on Windows, `libvulkan.so.1` on + * Linux and other Unix-like systems and `libvulkan.1.dylib` on macOS. If your code is + * also loading it via these names then you probably don't need to use this function. + * + * The function address you set is never reset by GLFW, but it only takes effect during + * initialization. Once GLFW has been initialized, any updates will be ignored until the + * library is terminated and initialized again. + * + * @param[in] loader The address of the function to use, or `NULL`. + * + * @par Loader function signature + * @code + * PFN_vkVoidFunction vkGetInstanceProcAddr(VkInstance instance, const char* name) + * @endcode + * For more information about this function, see the + * [Vulkan Registry](https://www.khronos.org/registry/vulkan/). + * + * @errors None. + * + * @remark This function may be called before @ref glfwInit. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref vulkan_loader + * @sa @ref glfwInit + * + * @since Added in version 3.4. + * + * @ingroup init + */ +GLFWAPI void glfwInitVulkanLoader(PFN_vkGetInstanceProcAddr loader); + +#endif /*VK_VERSION_1_0*/ + +/*! @brief Retrieves the version of the GLFW library. + * + * This function retrieves the major, minor and revision numbers of the GLFW + * 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`. + * + * @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`. + * + * @errors None. + * + * @remark This function may be called before @ref glfwInit. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref intro_version + * @sa @ref glfwGetVersionString + * + * @since Added in version 1.0. + * + * @ingroup init + */ +GLFWAPI void glfwGetVersion(int* major, int* minor, int* rev); + +/*! @brief Returns a string describing the compile-time configuration. + * + * This function returns the compile-time generated + * [version string](@ref intro_version_string) of the GLFW library binary. It describes + * the version, platforms, compiler and any platform or operating system specific + * 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 provides the version of the running library + * binary in numerical format. + * + * __Do not use the version string__ to parse what platforms are supported. The @ref + * glfwPlatformSupported function lets you query platform support. + * + * @return The ASCII encoded GLFW version string. + * + * @errors None. + * + * @remark This function may be called before @ref glfwInit. + * + * @pointer_lifetime The returned string is static and compile-time generated. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref intro_version + * @sa @ref glfwGetVersion + * + * @since Added in version 3.0. + * + * @ingroup init + */ +GLFWAPI const char* glfwGetVersionString(void); + +/*! @brief Returns and clears the last error for the calling thread. + * + * This function returns and clears the [error code](@ref errors) of the last + * error that occurred on the calling thread, and optionally a UTF-8 encoded + * human-readable description of it. If no error has occurred since the last + * call, it returns @ref GLFW_NO_ERROR (zero) and the description pointer is + * set to `NULL`. + * + * @param[in] description Where to store the error description pointer, or `NULL`. + * @return The last error code for the calling thread, or @ref GLFW_NO_ERROR + * (zero). + * + * @errors None. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is guaranteed to be valid only until the + * next error occurs or the library is terminated. + * + * @remark This function may be called before @ref glfwInit. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref error_handling + * @sa @ref glfwSetErrorCallback + * + * @since Added in version 3.3. + * + * @ingroup init + */ +GLFWAPI int glfwGetError(const char** description); + +/*! @brief Sets the error callback. + * + * This function sets the error callback, which is called with an error code + * and a human-readable description each time a GLFW error occurs. + * + * The error code is set before the callback is called. Calling @ref + * glfwGetError from the error callback will return the same value as the error + * code argument. + * + * The error callback is called on the thread where the error occurred. If you + * are using GLFW from multiple threads, your error callback needs to be + * written accordingly. + * + * Because the description string may have been generated specifically for that + * error, it is not guaranteed to be valid after the callback has returned. If + * you wish to use it after the callback returns, you need to make a copy. + * + * Once set, the error callback remains set even after the library has been + * terminated. + * + * @param[in] callback The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set. + * + * @callback_signature + * @code + * void callback_name(int error_code, const char* description) + * @endcode + * For more information about the callback parameters, see the + * [callback pointer type](@ref GLFWerrorfun). + * + * @errors None. + * + * @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 + * @sa @ref glfwGetError + * + * @since Added in version 3.0. + * + * @ingroup init + */ +GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback); + +/*! @brief Returns the currently selected platform. + * + * This function returns the platform that was selected during initialization. The + * returned value will be one of `GLFW_PLATFORM_WIN32`, `GLFW_PLATFORM_COCOA`, + * `GLFW_PLATFORM_WAYLAND`, `GLFW_PLATFORM_X11` or `GLFW_PLATFORM_NULL`. + * + * @return The currently selected platform, or zero if an error occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref platform + * @sa @ref glfwPlatformSupported + * + * @since Added in version 3.4. + * + * @ingroup init + */ +GLFWAPI int glfwGetPlatform(void); + +/*! @brief Returns whether the library includes support for the specified platform. + * + * This function returns whether the library was compiled with support for the specified + * platform. The platform must be one of `GLFW_PLATFORM_WIN32`, `GLFW_PLATFORM_COCOA`, + * `GLFW_PLATFORM_WAYLAND`, `GLFW_PLATFORM_X11` or `GLFW_PLATFORM_NULL`. + * + * @param[in] platform The platform to query. + * @return `GLFW_TRUE` if the platform is supported, or `GLFW_FALSE` otherwise. + * + * @errors Possible errors include @ref GLFW_INVALID_ENUM. + * + * @remark This function may be called before @ref glfwInit. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref platform + * @sa @ref glfwGetPlatform + * + * @since Added in version 3.4. + * + * @ingroup init + */ +GLFWAPI int glfwPlatformSupported(int platform); + +/*! @brief Returns the currently connected monitors. + * + * This function returns an array of handles for all currently connected + * 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 no monitors were found or + * if an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @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 @ref glfwGetPrimaryMonitor + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +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 task bar or global menu bar are located. + * + * @return The primary monitor, or `NULL` if no monitors were found or if an + * [error](@ref error_handling) occurred. + * + * @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 @ref glfwGetMonitors + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI GLFWmonitor* glfwGetPrimaryMonitor(void); + +/*! @brief Returns the position of the monitor's viewport on the virtual screen. + * + * This function returns the position, in screen coordinates, of the upper-left + * corner of the specified monitor. + * + * Any or all of the position arguments may be `NULL`. If an error occurs, all + * non-`NULL` position arguments will be set to zero. + * + * @param[in] monitor The monitor to query. + * @param[out] xpos Where to store the monitor x-coordinate, or `NULL`. + * @param[out] ypos Where to store the monitor y-coordinate, or `NULL`. + * + * @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 version 3.0. + * + * @ingroup monitor + */ +GLFWAPI void glfwGetMonitorPos(GLFWmonitor* monitor, int* xpos, int* ypos); + +/*! @brief Retrieves the work area of the monitor. + * + * This function returns the position, in screen coordinates, of the upper-left + * corner of the work area of the specified monitor along with the work area + * size in screen coordinates. The work area is defined as the area of the + * monitor not occluded by the window system task bar where present. If no + * task bar exists then the work area is the monitor resolution in screen + * coordinates. + * + * Any or all of the position and size arguments may be `NULL`. If an error + * occurs, all non-`NULL` position and size arguments will be set to zero. + * + * @param[in] monitor The monitor to query. + * @param[out] xpos Where to store the monitor x-coordinate, or `NULL`. + * @param[out] ypos Where to store the monitor y-coordinate, or `NULL`. + * @param[out] width Where to store the monitor width, or `NULL`. + * @param[out] height Where to store the monitor height, or `NULL`. + * + * @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_workarea + * + * @since Added in version 3.3. + * + * @ingroup monitor + */ +GLFWAPI void glfwGetMonitorWorkarea(GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height); + +/*! @brief Returns the physical size of the monitor. + * + * This function returns the size, in millimetres, of the display area of the + * specified monitor. + * + * Some platforms do not provide accurate monitor size information, either + * because the monitor [EDID][] data is incorrect or because the driver does + * not report it accurately. + * + * [EDID]: https://en.wikipedia.org/wiki/Extended_display_identification_data + * + * Any or all of the size arguments may be `NULL`. If an error occurs, all + * non-`NULL` size arguments will be set to zero. + * + * @param[in] monitor The monitor to query. + * @param[out] widthMM Where to store the width, in millimetres, of the + * monitor's display area, or `NULL`. + * @param[out] heightMM Where to store the height, in millimetres, of the + * monitor's display area, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark @win32 On Windows 8 and earlier the physical size is calculated from + * the current resolution and system DPI instead of querying the monitor EDID data. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_properties + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* heightMM); + +/*! @brief Retrieves the content scale for the specified monitor. + * + * This function retrieves the content scale for the specified monitor. The + * content scale is the ratio between the current DPI and the platform's + * default DPI. This is especially important for text and any UI elements. If + * the pixel dimensions of your UI scaled by this look appropriate on your + * machine then it should appear at a reasonable size on other machines + * regardless of their DPI and scaling settings. This relies on the system DPI + * and scaling settings being somewhat correct. + * + * The content scale may depend on both the monitor resolution and pixel + * density and on user settings. It may be very different from the raw DPI + * calculated from the physical size and current resolution. + * + * @param[in] monitor The monitor to query. + * @param[out] xscale Where to store the x-axis content scale, or `NULL`. + * @param[out] yscale Where to store the y-axis content scale, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @wayland Fractional scaling information is not yet available for + * monitors, so this function only returns integer content scales. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_scale + * @sa @ref glfwGetWindowContentScale + * + * @since Added in version 3.3. + * + * @ingroup monitor + */ +GLFWAPI void glfwGetMonitorContentScale(GLFWmonitor* monitor, float* xscale, float* yscale); + +/*! @brief Returns the name of the specified monitor. + * + * This function returns a human-readable name, encoded as UTF-8, of the + * specified monitor. The name typically reflects the make and model of the + * monitor and is not guaranteed to be unique among the connected monitors. + * + * @param[in] monitor The monitor to query. + * @return The UTF-8 encoded name of the monitor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @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 version 3.0. + * + * @ingroup monitor + */ +GLFWAPI const char* glfwGetMonitorName(GLFWmonitor* monitor); + +/*! @brief Sets the user pointer of the specified monitor. + * + * This function sets the user-defined pointer of the specified monitor. The + * current value is retained until the monitor is disconnected. The initial + * value is `NULL`. + * + * This function may be called from the monitor callback, even for a monitor + * that is being disconnected. + * + * @param[in] monitor The monitor whose pointer to set. + * @param[in] pointer The new value. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @sa @ref monitor_userptr + * @sa @ref glfwGetMonitorUserPointer + * + * @since Added in version 3.3. + * + * @ingroup monitor + */ +GLFWAPI void glfwSetMonitorUserPointer(GLFWmonitor* monitor, void* pointer); + +/*! @brief Returns the user pointer of the specified monitor. + * + * This function returns the current value of the user-defined pointer of the + * specified monitor. The initial value is `NULL`. + * + * This function may be called from the monitor callback, even for a monitor + * that is being disconnected. + * + * @param[in] monitor The monitor whose pointer to return. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @sa @ref monitor_userptr + * @sa @ref glfwSetMonitorUserPointer + * + * @since Added in version 3.3. + * + * @ingroup monitor + */ +GLFWAPI void* glfwGetMonitorUserPointer(GLFWmonitor* monitor); + +/*! @brief Sets the monitor configuration callback. + * + * This function sets the monitor configuration callback, or removes the + * currently set callback. This is called when a monitor is connected to or + * disconnected from the system. + * + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWmonitor* monitor, int event) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWmonitorfun). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_event + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback); + +/*! @brief Returns the available video modes for the specified monitor. + * + * This function returns an array of all video modes supported by the specified + * monitor. The returned array is sorted in ascending order, first by color + * bit depth (the sum of all channel depths), then by resolution area (the + * product of width and height), then resolution width and finally by refresh + * rate. + * + * @param[in] monitor The monitor to query. + * @param[out] count Where to store the number of video modes in the returned + * array. This is set to zero if an error occurred. + * @return An array of video modes, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @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 @ref glfwGetVideoMode + * + * @since Added in version 1.0. + * @glfw3 Changed to return an array of modes for a specific monitor. + * + * @ingroup monitor + */ +GLFWAPI const GLFWvidmode* glfwGetVideoModes(GLFWmonitor* monitor, int* count); + +/*! @brief Returns the current mode of the specified monitor. + * + * This function returns the current video mode of the specified monitor. If + * you have created a full screen window for that monitor, the return value + * will depend on whether that window is iconified. + * + * @param[in] monitor The monitor to query. + * @return The current mode of the monitor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @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 @ref glfwGetVideoModes + * + * @since Added in version 3.0. Replaces `glfwGetDesktopMode`. + * + * @ingroup monitor + */ +GLFWAPI const GLFWvidmode* glfwGetVideoMode(GLFWmonitor* monitor); + +/*! @brief Generates a gamma ramp and sets it for the specified monitor. + * + * This function generates an appropriately sized gamma ramp from the specified + * exponent and then calls @ref glfwSetGammaRamp with it. The value must be + * a finite number greater than zero. + * + * The software controlled gamma ramp is applied _in addition_ to the hardware + * gamma correction, which today is usually an approximation of sRGB gamma. + * This means that setting a perfectly linear ramp, or gamma 1.0, will produce + * the default (usually sRGB-like) behavior. + * + * For gamma correct rendering with OpenGL or OpenGL ES, see the @ref + * GLFW_SRGB_CAPABLE hint. + * + * @param[in] monitor The monitor whose gamma ramp to set. + * @param[in] gamma The desired exponent. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref GLFW_INVALID_VALUE, + * @ref GLFW_PLATFORM_ERROR and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @remark @wayland Gamma handling is a privileged protocol, this function + * will thus never be implemented and emits @ref GLFW_FEATURE_UNAVAILABLE. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_gamma + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI void glfwSetGamma(GLFWmonitor* monitor, float gamma); + +/*! @brief Returns the current gamma ramp for the specified monitor. + * + * This function returns the current gamma ramp of the specified monitor. + * + * @param[in] monitor The monitor to query. + * @return The current gamma ramp, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref GLFW_PLATFORM_ERROR + * and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @remark @wayland Gamma handling is a privileged protocol, this function + * will thus never be implemented and emits @ref GLFW_FEATURE_UNAVAILABLE while + * returning `NULL`. + * + * @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 version 3.0. + * + * @ingroup monitor + */ +GLFWAPI const GLFWgammaramp* glfwGetGammaRamp(GLFWmonitor* monitor); + +/*! @brief Sets the current gamma ramp for the specified monitor. + * + * This function sets the current gamma ramp for the specified monitor. The + * original gamma ramp for that monitor is saved by GLFW the first time this + * function is called and is restored by @ref glfwTerminate. + * + * The software controlled gamma ramp is applied _in addition_ to the hardware + * gamma correction, which today is usually an approximation of sRGB gamma. + * This means that setting a perfectly linear ramp, or gamma 1.0, will produce + * the default (usually sRGB-like) behavior. + * + * For gamma correct rendering with OpenGL or OpenGL ES, see the @ref + * GLFW_SRGB_CAPABLE hint. + * + * @param[in] monitor The monitor whose gamma ramp to set. + * @param[in] ramp The gamma ramp to use. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref GLFW_PLATFORM_ERROR + * and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @remark The size of the specified gamma ramp should match the size of the + * current ramp for that monitor. + * + * @remark @win32 The gamma ramp size must be 256. + * + * @remark @wayland Gamma handling is a privileged protocol, this function + * will thus never be implemented and emits @ref GLFW_FEATURE_UNAVAILABLE. + * + * @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 version 3.0. + * + * @ingroup monitor + */ +GLFWAPI void glfwSetGammaRamp(GLFWmonitor* monitor, const GLFWgammaramp* ramp); + +/*! @brief Resets all window hints to their default values. + * + * This function resets all window hints to their + * [default values](@ref window_hints_values). + * + * @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 @ref glfwWindowHint + * @sa @ref glfwWindowHintString + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwDefaultWindowHints(void); + +/*! @brief Sets the specified window hint to the desired value. + * + * This function sets hints for the next call to @ref glfwCreateWindow. The + * hints, once set, retain their values until changed by a call to this + * function or @ref glfwDefaultWindowHints, or until the library is terminated. + * + * Only integer value hints can be set with this function. String value hints + * are set with @ref glfwWindowHintString. + * + * 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. + * + * Some hints are platform specific. These may be set on any platform but they + * will only affect their specific platform. Other platforms will ignore them. + * Setting these hints requires no platform specific headers or functions. + * + * @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 @ref glfwWindowHintString + * @sa @ref glfwDefaultWindowHints + * + * @since Added in version 3.0. Replaces `glfwOpenWindowHint`. + * + * @ingroup window + */ +GLFWAPI void glfwWindowHint(int hint, int value); + +/*! @brief Sets the specified window hint to the desired value. + * + * This function sets hints for the next call to @ref glfwCreateWindow. The + * hints, once set, retain their values until changed by a call to this + * function or @ref glfwDefaultWindowHints, or until the library is terminated. + * + * Only string type hints can be set with this function. Integer value hints + * are set with @ref glfwWindowHint. + * + * 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. + * + * Some hints are platform specific. These may be set on any platform but they + * will only affect their specific platform. Other platforms will ignore them. + * Setting these hints requires no platform specific headers or functions. + * + * @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. + * + * @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 window_hints + * @sa @ref glfwWindowHint + * @sa @ref glfwDefaultWindowHints + * + * @since Added in version 3.3. + * + * @ingroup window + */ +GLFWAPI void glfwWindowHintString(int hint, const char* value); + +/*! @brief Creates a window and its associated context. + * + * This function creates a window and its associated OpenGL or OpenGL ES + * context. Most of the options controlling how the window and its context + * should be created are specified with [window hints](@ref window_hints). + * + * Successful creation does not change which context is current. Before you + * can use the newly created context, you need to + * [make it current](@ref context_current). For information about the `share` + * parameter, see @ref context_sharing. + * + * The created window, framebuffer and context may differ from what you + * 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, 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, 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 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. + * + * Once you have created the window, you can switch it between windowed and + * full screen mode with @ref glfwSetWindowMonitor. This will not affect its + * OpenGL or OpenGL ES context. + * + * By default, newly created windows use the placement recommended by the + * window system. To create the window at a specific position, set the @ref + * GLFW_POSITION_X and @ref GLFW_POSITION_Y window hints before creation. To + * restore the default behavior, set either or both hints back to + * `GLFW_ANY_POSITION`. + * + * 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 + * actual [size](@ref window_size) after creation. + * + * The [swap interval](@ref buffer_swap) is not set during window creation and + * the initial value may vary depending on driver settings and defaults. + * + * @param[in] width The desired width, in screen coordinates, of the window. + * This must be greater than zero. + * @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` 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. + * + * @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, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @remark @win32 Window creation will fail if the Microsoft GDI software + * OpenGL implementation is the only one available. + * + * @remark @win32 If the executable has an icon resource named `GLFW_ICON,` it + * will be set as the initial icon for the window. If no such icon is present, + * the `IDI_APPLICATION` icon will be used instead. To set a different icon, + * see @ref glfwSetWindowIcon. + * + * @remark @win32 The context to share resources with must not be current on + * any other thread. + * + * @remark @macos The OS only supports core profile contexts for OpenGL + * versions 3.2 and later. Before creating an OpenGL context of version 3.2 or + * later you must set the [GLFW_OPENGL_PROFILE](@ref GLFW_OPENGL_PROFILE_hint) + * hint accordingly. OpenGL 3.0 and 3.1 contexts are not supported at all + * on macOS. + * + * @remark @macos 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][bundle-guide] in the Mac Developer Library. + * + * [bundle-guide]: https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/ + * + * @remark @macos On OS X 10.10 and later the window frame will not be rendered + * at full resolution on Retina displays unless the + * [GLFW_SCALE_FRAMEBUFFER](@ref GLFW_SCALE_FRAMEBUFFER_hint) + * hint is `GLFW_TRUE` and the `NSHighResolutionCapable` key is enabled in the + * application bundle's `Info.plist`. For more information, see + * [High Resolution Guidelines for OS X][hidpi-guide] 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/Info.plist.in` in the source + * tree. + * + * [hidpi-guide]: https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html + * + * @remark @macos When activating frame autosaving with + * [GLFW_COCOA_FRAME_NAME](@ref GLFW_COCOA_FRAME_NAME_hint), the specified + * window size and position may be overridden by previously saved values. + * + * @remark @wayland GLFW uses [libdecor][] where available to create its window + * decorations. This in turn uses server-side XDG decorations where available + * and provides high quality client-side decorations on compositors like GNOME. + * If both XDG decorations and libdecor are unavailable, GLFW falls back to + * a very simple set of window decorations that only support moving, resizing + * and the window manager's right-click menu. + * + * [libdecor]: https://gitlab.freedesktop.org/libdecor/libdecor + * + * @remark @x11 Some window managers will not respect the placement of + * initially hidden windows. + * + * @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. + * + * @remark @x11 The class part of the `WM_CLASS` window property will by + * default be set to the window title passed to this function. The instance + * part will use the contents of the `RESOURCE_NAME` environment variable, if + * present and not empty, or fall back to the window title. Set the + * [GLFW_X11_CLASS_NAME](@ref GLFW_X11_CLASS_NAME_hint) and + * [GLFW_X11_INSTANCE_NAME](@ref GLFW_X11_INSTANCE_NAME_hint) window hints to + * override this. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_creation + * @sa @ref glfwDestroyWindow + * + * @since Added in version 3.0. Replaces `glfwOpenWindow`. + * + * @ingroup window + */ +GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, const char* title, GLFWmonitor* monitor, GLFWwindow* share); + +/*! @brief Destroys the specified window and its context. + * + * This function destroys the specified window and its context. On calling + * this function, no further callbacks will be called for that window. + * + * If the context of the specified window is current on the main thread, it is + * detached before being destroyed. + * + * @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. + * + * @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 @ref glfwCreateWindow + * + * @since Added in version 3.0. Replaces `glfwCloseWindow`. + * + * @ingroup window + */ +GLFWAPI void glfwDestroyWindow(GLFWwindow* window); + +/*! @brief Checks the close flag of the specified window. + * + * This function returns the value of the close flag of the specified window. + * + * @param[in] window The window to query. + * @return The value of the close flag. + * + * @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 version 3.0. + * + * @ingroup window + */ +GLFWAPI int glfwWindowShouldClose(GLFWwindow* window); + +/*! @brief Sets the close flag of the specified window. + * + * This function sets the value of the close flag of the specified window. + * This can be used to override the user's attempt to close the window, or + * to signal that it should be closed. + * + * @param[in] window The window whose flag to change. + * @param[in] value The new value. + * + * @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 version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value); + +/*! @brief Returns the title of the specified window. + * + * This function returns the window title, encoded as UTF-8, of the specified + * window. This is the title set previously by @ref glfwCreateWindow + * or @ref glfwSetWindowTitle. + * + * @param[in] window The window to query. + * @return The UTF-8 encoded window title, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark The returned title is currently a copy of the title last set by @ref + * glfwCreateWindow or @ref glfwSetWindowTitle. It does not include any + * additional text which may be appended by the platform or another program. + * + * @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 + * glfwGetWindowTitle or @ref glfwSetWindowTitle, or until the library is + * terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_title + * @sa @ref glfwSetWindowTitle + * + * @since Added in version 3.4. + * + * @ingroup window + */ +GLFWAPI const char* glfwGetWindowTitle(GLFWwindow* window); + +/*! @brief Sets the title of the specified window. + * + * This function sets the window title, encoded as UTF-8, of the specified + * window. + * + * @param[in] window The window whose title to change. + * @param[in] title The UTF-8 encoded window title. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @macos 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 + * @sa @ref glfwGetWindowTitle + * + * @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 pixels are 32-bit, little-endian, non-premultiplied RGBA, i.e. eight + * bits per channel with the red channel first. They are arranged canonically + * as packed sequential rows, starting from the top-left corner. + * + * 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, @ref + * GLFW_INVALID_VALUE, @ref GLFW_PLATFORM_ERROR and @ref + * GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @pointer_lifetime The specified image data is copied before this function + * returns. + * + * @remark @macos Regular windows do not have icons on macOS. This function + * will emit @ref GLFW_FEATURE_UNAVAILABLE. The dock icon will be the same as + * the application bundle's icon. For more information on bundles, see the + * [Bundle Programming Guide][bundle-guide] in the Mac Developer Library. + * + * [bundle-guide]: https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/ + * + * @remark @wayland There is no existing protocol to change an icon, the + * window will thus inherit the one defined in the application's desktop file. + * This function will emit @ref GLFW_FEATURE_UNAVAILABLE. + * + * @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 content area of the specified window. + * + * This function retrieves the position, in screen coordinates, of the + * upper-left corner of the content area of the specified window. + * + * Any or all of the position arguments may be `NULL`. If an error occurs, all + * non-`NULL` position arguments will be set to zero. + * + * @param[in] window The window to query. + * @param[out] xpos Where to store the x-coordinate of the upper-left corner of + * the content area, or `NULL`. + * @param[out] ypos Where to store the y-coordinate of the upper-left corner of + * the content area, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_ERROR and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @remark @wayland There is no way for an application to retrieve the global + * position of its windows. This function will emit @ref + * GLFW_FEATURE_UNAVAILABLE. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_pos + * @sa @ref glfwSetWindowPos + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos); + +/*! @brief Sets the position of the content area of the specified window. + * + * This function sets the position, in screen coordinates, of the upper-left + * corner of the content area of the specified windowed mode window. If the + * window is a full screen window, this function does nothing. + * + * __Do not use this function__ to move an already visible window unless you + * have very good reasons for doing so, as it will confuse and annoy the user. + * + * The window manager may put limits on what positions are allowed. GLFW + * cannot and should not override these limits. + * + * @param[in] window The window to query. + * @param[in] xpos The x-coordinate of the upper-left corner of the content area. + * @param[in] ypos The y-coordinate of the upper-left corner of the content area. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_ERROR and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @remark @wayland There is no way for an application to set the global + * position of its windows. This function will emit @ref + * GLFW_FEATURE_UNAVAILABLE. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_pos + * @sa @ref glfwGetWindowPos + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowPos(GLFWwindow* window, int xpos, int ypos); + +/*! @brief Retrieves the size of the content area of the specified window. + * + * This function retrieves the size, in screen coordinates, of the content area + * of the specified window. If you wish to retrieve the size of the + * framebuffer of the window in pixels, see @ref glfwGetFramebufferSize. + * + * Any or all of the size arguments may be `NULL`. If an error occurs, all + * non-`NULL` size arguments will be set to zero. + * + * @param[in] window The window whose size to retrieve. + * @param[out] width Where to store the width, in screen coordinates, of the + * content area, or `NULL`. + * @param[out] height Where to store the height, in screen coordinates, of the + * content area, or `NULL`. + * + * @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 @ref glfwSetWindowSize + * + * @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 content area of the specified + * window. If the window is full screen, the size limits only take effect + * 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. + * + * The maximum dimensions must be greater than or equal to the minimum + * dimensions and all must be greater than or equal to zero. + * + * @param[in] window The window to set limits for. + * @param[in] minwidth The minimum width, in screen coordinates, of the content + * area, or `GLFW_DONT_CARE`. + * @param[in] minheight The minimum height, in screen coordinates, of the + * content area, or `GLFW_DONT_CARE`. + * @param[in] maxwidth The maximum width, in screen coordinates, of the content + * area, or `GLFW_DONT_CARE`. + * @param[in] maxheight The maximum height, in screen coordinates, of the + * content area, 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. + * + * @remark @wayland The size limits will not be applied until the window is + * actually resized, either by the user or by the compositor. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_sizelimits + * @sa @ref 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 content 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. + * + * @remark @wayland The aspect ratio will not be applied until the window is + * actually resized, either by the user or by the compositor. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_sizelimits + * @sa @ref glfwSetWindowSizeLimits + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom); + +/*! @brief Sets the size of the content area of the specified window. + * + * This function sets the size, in screen coordinates, of the content area of + * the specified window. + * + * 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, in screen coordinates, of the window + * content area. + * @param[in] height The desired height, in screen coordinates, of the window + * content area. + * + * @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 @ref glfwGetWindowSize + * @sa @ref glfwSetWindowMonitor + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowSize(GLFWwindow* window, int width, int height); + +/*! @brief Retrieves the size of the framebuffer of the specified window. + * + * This function retrieves the size, in pixels, of the framebuffer of the + * specified window. If you wish to retrieve the size of the window in screen + * coordinates, see @ref glfwGetWindowSize. + * + * Any or all of the size arguments may be `NULL`. If an error occurs, all + * non-`NULL` size arguments will be set to zero. + * + * @param[in] window The window whose framebuffer to query. + * @param[out] width Where to store the width, in pixels, of the framebuffer, + * or `NULL`. + * @param[out] height Where to store the height, in pixels, of the framebuffer, + * or `NULL`. + * + * @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 @ref glfwSetFramebufferSizeCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height); + +/*! @brief Retrieves the size of the frame of the window. + * + * This function retrieves the size, in screen coordinates, of each edge of the + * frame of the specified window. This size includes the title bar, if the + * window has one. The size of the frame may vary depending on the + * [window-related hints](@ref window_hints_wnd) used to create it. + * + * Because this function retrieves the size of each window frame edge and not + * the offset along a particular coordinate axis, the retrieved values will + * always be zero or positive. + * + * Any or all of the size arguments may be `NULL`. If an error occurs, all + * non-`NULL` size arguments will be set to zero. + * + * @param[in] window The window whose frame size to query. + * @param[out] left Where to store the size, in screen coordinates, of the left + * edge of the window frame, or `NULL`. + * @param[out] top Where to store the size, in screen coordinates, of the top + * edge of the window frame, or `NULL`. + * @param[out] right Where to store the size, in screen coordinates, of the + * right edge of the window frame, or `NULL`. + * @param[out] bottom Where to store the size, in screen coordinates, of the + * bottom edge of the window frame, or `NULL`. + * + * @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 version 3.1. + * + * @ingroup window + */ +GLFWAPI void glfwGetWindowFrameSize(GLFWwindow* window, int* left, int* top, int* right, int* bottom); + +/*! @brief Retrieves the content scale for the specified window. + * + * This function retrieves the content scale for the specified window. The + * content scale is the ratio between the current DPI and the platform's + * default DPI. This is especially important for text and any UI elements. If + * the pixel dimensions of your UI scaled by this look appropriate on your + * machine then it should appear at a reasonable size on other machines + * regardless of their DPI and scaling settings. This relies on the system DPI + * and scaling settings being somewhat correct. + * + * On platforms where each monitors can have its own content scale, the window + * content scale will depend on which monitor the system considers the window + * to be on. + * + * @param[in] window The window to query. + * @param[out] xscale Where to store the x-axis content scale, or `NULL`. + * @param[out] yscale Where to store the y-axis content scale, or `NULL`. + * + * @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_scale + * @sa @ref glfwSetWindowContentScaleCallback + * @sa @ref glfwGetMonitorContentScale + * + * @since Added in version 3.3. + * + * @ingroup window + */ +GLFWAPI void glfwGetWindowContentScale(GLFWwindow* window, float* xscale, float* yscale); + +/*! @brief Returns the opacity of the whole window. + * + * This function returns the opacity of the window, including any decorations. + * + * The opacity (or alpha) value is a positive finite number between zero and + * one, where zero is fully transparent and one is fully opaque. If the system + * does not support whole window transparency, this function always returns one. + * + * The initial opacity value for newly created windows is one. + * + * @param[in] window The window to query. + * @return The opacity value of the specified window. + * + * @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_transparency + * @sa @ref glfwSetWindowOpacity + * + * @since Added in version 3.3. + * + * @ingroup window + */ +GLFWAPI float glfwGetWindowOpacity(GLFWwindow* window); + +/*! @brief Sets the opacity of the whole window. + * + * This function sets the opacity of the window, including any decorations. + * + * The opacity (or alpha) value is a positive finite number between zero and + * one, where zero is fully transparent and one is fully opaque. + * + * The initial opacity value for newly created windows is one. + * + * A window created with framebuffer transparency may not use whole window + * transparency. The results of doing this are undefined. + * + * @param[in] window The window to set the opacity for. + * @param[in] opacity The desired opacity of the specified window. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_ERROR and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @remark @wayland There is no way to set an opacity factor for a window. + * This function will emit @ref GLFW_FEATURE_UNAVAILABLE. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_transparency + * @sa @ref glfwGetWindowOpacity + * + * @since Added in version 3.3. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowOpacity(GLFWwindow* window, float opacity); + +/*! @brief Iconifies the specified window. + * + * This function iconifies (minimizes) the specified window if it was + * previously restored. If the window is already iconified, this function does + * nothing. + * + * If the specified window is a full screen window, GLFW restores the original + * video mode of the monitor. The window's desired video mode is set again + * when the window is restored. + * + * @param[in] window The window to iconify. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @wayland Once a window is iconified, @ref glfwRestoreWindow won’t + * be able to restore it. This is a design decision of the xdg-shell + * protocol. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_iconify + * @sa @ref glfwRestoreWindow + * @sa @ref glfwMaximizeWindow + * + * @since Added in version 2.1. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwIconifyWindow(GLFWwindow* window); + +/*! @brief Restores the specified window. + * + * This function restores the specified window if it was previously iconified + * (minimized) or maximized. If the window is already restored, this function + * does nothing. + * + * If the specified window is an iconified full screen window, its desired + * video mode is set again for its monitor when the window is restored. + * + * @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 @ref glfwIconifyWindow + * @sa @ref 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. + * + * @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. + * + * @sa @ref window_iconify + * @sa @ref glfwIconifyWindow + * @sa @ref glfwRestoreWindow + * + * @since Added in GLFW 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwMaximizeWindow(GLFWwindow* window); + +/*! @brief Makes the specified window visible. + * + * This function makes the specified window visible if it was previously + * hidden. If the window is already visible or is in full screen mode, this + * function does nothing. + * + * By default, windowed mode windows are focused when shown + * Set the [GLFW_FOCUS_ON_SHOW](@ref GLFW_FOCUS_ON_SHOW_hint) window hint + * to change this behavior for all newly created windows, or change the + * behavior for an existing window with @ref glfwSetWindowAttrib. + * + * @param[in] window The window to make visible. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @wayland Because Wayland wants every frame of the desktop to be + * complete, this function does not immediately make the window visible. + * Instead it will become visible the next time the window framebuffer is + * updated after this call. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_hide + * @sa @ref glfwHideWindow + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwShowWindow(GLFWwindow* window); + +/*! @brief Hides the specified window. + * + * This function hides the specified window if it was previously visible. If + * the window is already hidden or is in full screen mode, this function does + * nothing. + * + * @param[in] window The window to hide. + * + * @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 @ref glfwShowWindow + * + * @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 GLFW_FOCUSED_hint) to + * disable this behavior. + * + * Also by default, windowed mode windows are focused when shown + * with @ref glfwShowWindow. Set the + * [GLFW_FOCUS_ON_SHOW](@ref GLFW_FOCUS_ON_SHOW_hint) 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. + * + * For a less disruptive way of getting the user's attention, see + * [attention requests](@ref window_attention). + * + * @param[in] window The window to give input focus. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @wayland The compositor will likely ignore focus requests unless + * another window created by the same application already has input focus. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_focus + * @sa @ref window_attention + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwFocusWindow(GLFWwindow* window); + +/*! @brief Requests user attention to the specified window. + * + * This function requests user attention to the specified window. On + * platforms where this is not supported, attention is requested to the + * application as a whole. + * + * Once the user has given attention, usually by focusing the window or + * application, the system will end the request automatically. + * + * @param[in] window The window to request attention to. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @macos Attention is requested to the application as a whole, not the + * specific window. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_attention + * + * @since Added in version 3.3. + * + * @ingroup window + */ +GLFWAPI void glfwRequestWindowAttention(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 + * in full screen on. + * + * @param[in] window The window to query. + * @return The monitor, or `NULL` if the window is in windowed mode or an + * [error](@ref error_handling) occurred. + * + * @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 @ref glfwSetWindowMonitor + * + * @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 content 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 + * content area. + * @param[in] ypos The desired y-coordinate of the upper-left corner of the + * content area. + * @param[in] width The desired with, in screen coordinates, of the content + * area or video mode. + * @param[in] height The desired height, in screen coordinates, of the content + * area or video mode. + * @param[in] refreshRate The desired refresh rate, in Hz, of the video mode, + * or `GLFW_DONT_CARE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark The OpenGL or OpenGL ES context will not be destroyed or otherwise + * affected by any resizing or mode switching, although you may need to update + * your viewport if the framebuffer size has changed. + * + * @remark @wayland The desired window position is ignored, as there is no way + * for an application to set this property. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_monitor + * @sa @ref window_full_screen + * @sa @ref glfwGetWindowMonitor + * @sa @ref 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 + * its OpenGL or OpenGL ES context. + * + * @param[in] window The window to query. + * @param[in] attrib The [window attribute](@ref window_attribs) whose value to + * return. + * @return The value of the attribute, or zero if an + * [error](@ref error_handling) occurred. + * + * @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). + * + * @remark @wayland The Wayland protocol provides no way to check whether a + * window is iconfied, so @ref GLFW_ICONIFIED always returns `GLFW_FALSE`. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_attribs + * @sa @ref glfwSetWindowAttrib + * + * @since Added in version 3.0. Replaces `glfwGetWindowParam` and + * `glfwGetGLVersion`. + * + * @ingroup window + */ +GLFWAPI int glfwGetWindowAttrib(GLFWwindow* window, int attrib); + +/*! @brief Sets an attribute of the specified window. + * + * This function sets the value of an attribute of the specified window. + * + * The supported attributes are [GLFW_DECORATED](@ref GLFW_DECORATED_attrib), + * [GLFW_RESIZABLE](@ref GLFW_RESIZABLE_attrib), + * [GLFW_FLOATING](@ref GLFW_FLOATING_attrib), + * [GLFW_AUTO_ICONIFY](@ref GLFW_AUTO_ICONIFY_attrib) and + * [GLFW_FOCUS_ON_SHOW](@ref GLFW_FOCUS_ON_SHOW_attrib). + * [GLFW_MOUSE_PASSTHROUGH](@ref GLFW_MOUSE_PASSTHROUGH_attrib) + * + * Some of these attributes are ignored for full screen windows. The new + * value will take effect if the window is later made windowed. + * + * Some of these attributes are ignored for windowed mode windows. The new + * value will take effect if the window is later made full screen. + * + * @param[in] window The window to set the attribute for. + * @param[in] attrib A supported window attribute. + * @param[in] value `GLFW_TRUE` or `GLFW_FALSE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM, @ref GLFW_INVALID_VALUE, @ref GLFW_PLATFORM_ERROR and @ref + * GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @remark Calling @ref glfwGetWindowAttrib will always return the latest + * value, even if that value is ignored by the current mode of the window. + * + * @remark @wayland The [GLFW_FLOATING](@ref GLFW_FLOATING_attrib) window attribute is + * not supported. Setting this will emit @ref GLFW_FEATURE_UNAVAILABLE. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_attribs + * @sa @ref glfwGetWindowAttrib + * + * @since Added in version 3.3. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowAttrib(GLFWwindow* window, int attrib, int value); + +/*! @brief Sets the user pointer of the specified window. + * + * This function sets the user-defined pointer of the specified window. The + * current value is retained until the window is destroyed. The initial value + * is `NULL`. + * + * @param[in] window The window whose pointer to set. + * @param[in] pointer The new value. + * + * @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 @ref glfwGetWindowUserPointer + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowUserPointer(GLFWwindow* window, void* pointer); + +/*! @brief Returns the user pointer of the specified window. + * + * This function returns the current value of the user-defined pointer of the + * specified window. The initial value is `NULL`. + * + * @param[in] window The window whose pointer to return. + * + * @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 @ref glfwSetWindowUserPointer + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void* glfwGetWindowUserPointer(GLFWwindow* window); + +/*! @brief Sets the position callback for the specified window. + * + * This function sets the position callback of the specified window, which is + * called when the window is moved. The callback is provided with the + * position, in screen coordinates, of the upper-left corner of the content + * area of the window. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int xpos, int ypos) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWwindowposfun). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark @wayland This callback will never be called, as there is no way for + * an application to know its global position. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_pos + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow* window, GLFWwindowposfun callback); + +/*! @brief Sets the size callback for the specified window. + * + * This function sets the size callback of the specified window, which is + * called when the window is resized. The callback is provided with the size, + * in screen coordinates, of the content area of the window. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int width, int height) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWwindowsizefun). + * + * @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 version 1.0. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup window + */ +GLFWAPI GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun callback); + +/*! @brief Sets the close callback for the specified window. + * + * This function sets the close callback of the specified window, which is + * called when the user attempts to close the window, for example by clicking + * the close widget in the title bar. + * + * The close flag is set before this callback is called, but you can modify it + * at any time with @ref glfwSetWindowShouldClose. + * + * The close callback is not triggered by @ref glfwDestroyWindow. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWwindowclosefun). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark @macos 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 version 2.5. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup window + */ +GLFWAPI GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwindowclosefun callback); + +/*! @brief Sets the refresh callback for the specified window. + * + * This function sets the refresh callback of the specified window, which is + * called when the content area of the window needs to be redrawn, for example + * if the window has been exposed after having been covered by another window. + * + * On compositing window systems such as Aero, Compiz, Aqua or Wayland, where + * the window contents are saved off-screen, this callback may be called only + * very infrequently or never at all. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window); + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWwindowrefreshfun). + * + * @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 version 2.5. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup window + */ +GLFWAPI GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow* window, GLFWwindowrefreshfun callback); + +/*! @brief Sets the focus callback for the specified window. + * + * This function sets the focus callback of the specified window, which is + * called when the window gains or loses input focus. + * + * After the focus callback is called for a window that lost input focus, + * synthetic key and mouse button release events will be generated for all such + * that had been pressed. For more information, see @ref glfwSetKeyCallback + * and @ref glfwSetMouseButtonCallback. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int focused) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWwindowfocusfun). + * + * @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 version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwindowfocusfun callback); + +/*! @brief Sets the iconify callback for the specified window. + * + * This function sets the iconification callback of the specified window, which + * is called when the window is iconified or restored. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int iconified) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWwindowiconifyfun). + * + * @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 version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow* window, GLFWwindowiconifyfun callback); + +/*! @brief Sets the maximize callback for the specified window. + * + * This function sets the maximization callback of the specified window, which + * is called when the window is maximized or restored. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int maximized) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWwindowmaximizefun). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_maximize + * + * @since Added in version 3.3. + * + * @ingroup window + */ +GLFWAPI GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow* window, GLFWwindowmaximizefun callback); + +/*! @brief Sets the framebuffer resize callback for the specified window. + * + * This function sets the framebuffer resize callback of the specified window, + * which is called when the framebuffer of the specified window is resized. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int width, int height) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWframebuffersizefun). + * + * @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 version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow* window, GLFWframebuffersizefun callback); + +/*! @brief Sets the window content scale callback for the specified window. + * + * This function sets the window content scale callback of the specified window, + * which is called when the content scale of the specified window changes. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, float xscale, float yscale) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWwindowcontentscalefun). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_scale + * @sa @ref glfwGetWindowContentScale + * + * @since Added in version 3.3. + * + * @ingroup window + */ +GLFWAPI GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow* window, GLFWwindowcontentscalefun callback); + +/*! @brief Processes all pending events. + * + * This function processes only those events that are already in the event + * queue and then returns immediately. Processing events will cause the window + * and input callbacks associated with those events to be called. + * + * 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. + * + * Do not assume that callbacks you set will _only_ be called in response to + * event processing functions like this one. While it is necessary to poll for + * events, window systems that require GLFW to register callbacks of its own + * can pass events to GLFW in response to many window system function calls. + * GLFW will pass those events on to the application callbacks before + * returning. + * + * Event processing is not required for joystick input to work. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @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 @ref glfwWaitEvents + * @sa @ref glfwWaitEventsTimeout + * + * @since Added in version 1.0. + * + * @ingroup window + */ +GLFWAPI void glfwPollEvents(void); + +/*! @brief Waits 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. Once 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. + * + * 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. + * + * Do not assume that callbacks you set will _only_ be called in response to + * event processing functions like this one. While it is necessary to poll for + * events, window systems that require GLFW to register callbacks of its own + * can pass events to GLFW in response to many window system function calls. + * GLFW will pass those events on to the application callbacks before + * returning. + * + * Event processing is not required for joystick input to work. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @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 @ref glfwPollEvents + * @sa @ref glfwWaitEventsTimeout + * + * @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. + * + * Do not assume that callbacks you set will _only_ be called in response to + * event processing functions like this one. While it is necessary to poll for + * events, window systems that require GLFW to register callbacks of its own + * can pass events to GLFW in response to many window system function calls. + * GLFW will pass those events on to the application callbacks before + * returning. + * + * Event processing is not required for joystick input to work. + * + * @param[in] timeout The maximum amount of time, in seconds, to wait. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * + * @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 @ref glfwPollEvents + * @sa @ref 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 + * queue, causing @ref glfwWaitEvents or @ref glfwWaitEventsTimeout to return. + * + * @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 @ref glfwWaitEvents + * @sa @ref glfwWaitEventsTimeout + * + * @since Added in version 3.1. + * + * @ingroup window + */ +GLFWAPI void glfwPostEmptyEvent(void); + +/*! @brief Returns the value of an input option for the specified window. + * + * This function returns the value of an input option for the specified window. + * The mode must be one of @ref GLFW_CURSOR, @ref GLFW_STICKY_KEYS, + * @ref GLFW_STICKY_MOUSE_BUTTONS, @ref GLFW_LOCK_KEY_MODS or + * @ref GLFW_RAW_MOUSE_MOTION. + * + * @param[in] window The window to query. + * @param[in] mode One of `GLFW_CURSOR`, `GLFW_STICKY_KEYS`, + * `GLFW_STICKY_MOUSE_BUTTONS`, `GLFW_LOCK_KEY_MODS` or + * `GLFW_RAW_MOUSE_MOTION`. + * + * @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 glfwSetInputMode + * + * @since Added in version 3.0. + * + * @ingroup input + */ +GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode); + +/*! @brief Sets an input option for the specified window. + * + * This function sets an input mode option for the specified window. The mode + * must be one of @ref GLFW_CURSOR, @ref GLFW_STICKY_KEYS, + * @ref GLFW_STICKY_MOUSE_BUTTONS, @ref GLFW_LOCK_KEY_MODS or + * @ref GLFW_RAW_MOUSE_MOTION. + * + * If the mode is `GLFW_CURSOR`, the value must be one of the following cursor + * modes: + * - `GLFW_CURSOR_NORMAL` makes the cursor visible and behaving normally. + * - `GLFW_CURSOR_HIDDEN` makes the cursor invisible when it is over the + * content area of the window but does not restrict the cursor from leaving. + * - `GLFW_CURSOR_DISABLED` hides and grabs the cursor, providing virtual + * and unlimited cursor movement. This is useful for implementing for + * example 3D camera controls. + * - `GLFW_CURSOR_CAPTURED` makes the cursor visible and confines it to the + * content area of the window. + * + * 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 + * `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. + * + * If the mode is `GLFW_LOCK_KEY_MODS`, the value must be either `GLFW_TRUE` to + * enable lock key modifier bits, or `GLFW_FALSE` to disable them. If enabled, + * callbacks that receive modifier bits will also have the @ref + * GLFW_MOD_CAPS_LOCK bit set when the event was generated with Caps Lock on, + * and the @ref GLFW_MOD_NUM_LOCK bit when Num Lock was on. + * + * If the mode is `GLFW_RAW_MOUSE_MOTION`, the value must be either `GLFW_TRUE` + * to enable raw (unscaled and unaccelerated) mouse motion when the cursor is + * disabled, or `GLFW_FALSE` to disable it. If raw motion is not supported, + * attempting to set this will emit @ref GLFW_FEATURE_UNAVAILABLE. Call @ref + * glfwRawMouseMotionSupported to check for support. + * + * @param[in] window The window whose input mode to set. + * @param[in] mode One of `GLFW_CURSOR`, `GLFW_STICKY_KEYS`, + * `GLFW_STICKY_MOUSE_BUTTONS`, `GLFW_LOCK_KEY_MODS` or + * `GLFW_RAW_MOUSE_MOTION`. + * @param[in] value The new value of the specified input mode. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM, @ref GLFW_PLATFORM_ERROR and @ref + * GLFW_FEATURE_UNAVAILABLE (see above). + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref glfwGetInputMode + * + * @since Added in version 3.0. Replaces `glfwEnable` and `glfwDisable`. + * + * @ingroup input + */ +GLFWAPI void glfwSetInputMode(GLFWwindow* window, int mode, int value); + +/*! @brief Returns whether raw mouse motion is supported. + * + * This function returns whether raw mouse motion is supported on the current + * system. This status does not change after GLFW has been initialized so you + * only need to check this once. If you attempt to enable raw motion on + * a system that does not support it, @ref GLFW_PLATFORM_ERROR will be emitted. + * + * Raw mouse motion is closer to the actual motion of the mouse across + * a surface. It is not affected by the scaling and acceleration applied to + * the motion of the desktop cursor. That processing is suitable for a cursor + * while raw motion is better for controlling for example a 3D camera. Because + * of this, raw mouse motion is only provided when the cursor is disabled. + * + * @return `GLFW_TRUE` if raw mouse motion is supported on the current machine, + * or `GLFW_FALSE` otherwise. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref raw_mouse_motion + * @sa @ref glfwSetInputMode + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI int glfwRawMouseMotionSupported(void); + +/*! @brief Returns the layout-specific name of the specified printable key. + * + * This function returns the name of the specified printable key, encoded as + * UTF-8. This is typically the character that key would produce without any + * modifier keys, intended for displaying key bindings to the user. For dead + * keys, it is typically the diacritic it would add to a character. + * + * __Do not use this function__ for [text input](@ref input_char). You will + * break text input for many languages even if it happens to work for yours. + * + * If the key is `GLFW_KEY_UNKNOWN`, the scancode is used to identify the key, + * otherwise the scancode is ignored. If you specify a non-printable key, or + * `GLFW_KEY_UNKNOWN` and a scancode that maps to a non-printable key, this + * function returns `NULL` but does not emit an error. + * + * This behavior allows you to always pass in the arguments in 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` + * + * Names for printable keys depend on keyboard layout, while names for + * non-printable keys are the same across layouts but depend on the application + * language and should be localized along with other user interface text. + * + * @param[in] key The key to query, or `GLFW_KEY_UNKNOWN`. + * @param[in] scancode The scancode of the key to query. + * @return The UTF-8 encoded, layout-specific name of the key, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE, @ref GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @remark The contents of the returned string may change when a keyboard + * layout change event is received. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid 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 platform-specific scancode of the specified key. + * + * This function returns the platform-specific scancode of the specified key. + * + * If the specified [key token](@ref keys) corresponds to a physical key not + * supported on the current platform then this method will return `-1`. + * Calling this function with anything other than a key token will return `-1` + * and generate a @ref GLFW_INVALID_ENUM error. + * + * @param[in] key Any [key token](@ref keys). + * @return The platform-specific scancode for the key, or `-1` if the key is + * not supported on the current platform or an [error](@ref error_handling) + * occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref input_key + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI int glfwGetKeyScancode(int key); + +/*! @brief Returns the last reported state of a keyboard key for the specified + * window. + * + * This function returns the last state reported for the specified key to the + * specified window. The returned state is one of `GLFW_PRESS` or + * `GLFW_RELEASE`. The action `GLFW_REPEAT` is only reported to the key callback. + * + * If the @ref GLFW_STICKY_KEYS input mode is enabled, this function returns + * `GLFW_PRESS` the first time you call it for a key that was pressed, even if + * that key has already been released. + * + * The key functions deal with physical keys, with [key tokens](@ref keys) + * named after their use on the standard US keyboard layout. If you want to + * input text, use the Unicode character callback instead. + * + * 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`. + * + * @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 version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup input + */ +GLFWAPI int glfwGetKey(GLFWwindow* window, int key); + +/*! @brief Returns the last reported state of a mouse button for the specified + * window. + * + * This function returns the last state reported for the specified mouse button + * to the specified window. The returned state is one of `GLFW_PRESS` or + * `GLFW_RELEASE`. + * + * If the @ref GLFW_STICKY_MOUSE_BUTTONS input mode is enabled, this function + * returns `GLFW_PRESS` the first time you call it for a mouse button that was + * pressed, even if that mouse button has already been released. + * + * @param[in] window The desired window. + * @param[in] button The desired [mouse button](@ref buttons). + * @return One of `GLFW_PRESS` or `GLFW_RELEASE`. + * + * @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 version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup input + */ +GLFWAPI int glfwGetMouseButton(GLFWwindow* window, int button); + +/*! @brief Retrieves the position of the cursor relative to the content area of + * the window. + * + * This function returns the position of the cursor, in screen coordinates, + * relative to the upper-left corner of the content area of the specified + * window. + * + * If the cursor is disabled (with `GLFW_CURSOR_DISABLED`) then the cursor + * position is unbounded and limited only by the minimum and maximum values of + * a `double`. + * + * The coordinate can be converted to their integer equivalents with the + * `floor` function. Casting directly to an integer type works for positive + * coordinates, but fails for negative ones. + * + * Any or all of the position arguments may be `NULL`. If an error occurs, all + * non-`NULL` position arguments will be set to zero. + * + * @param[in] window The desired window. + * @param[out] xpos Where to store the cursor x-coordinate, relative to the + * left edge of the content area, or `NULL`. + * @param[out] ypos Where to store the cursor y-coordinate, relative to the to + * top edge of the content area, or `NULL`. + * + * @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 @ref glfwSetCursorPos + * + * @since Added in version 3.0. Replaces `glfwGetMousePos`. + * + * @ingroup input + */ +GLFWAPI void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos); + +/*! @brief Sets the position of the cursor, relative to the content area of the + * window. + * + * This function sets the position, in screen coordinates, of the cursor + * relative to the upper-left corner of the content area of the specified + * window. The window must have input focus. If the window does not have + * input focus when this function is called, it fails silently. + * + * __Do not use this function__ to implement things like camera controls. GLFW + * already provides the `GLFW_CURSOR_DISABLED` cursor mode that hides the + * cursor, transparently re-centers it and provides unconstrained cursor + * motion. See @ref glfwSetInputMode for more information. + * + * If the cursor mode is `GLFW_CURSOR_DISABLED` then the cursor position is + * unconstrained and limited only by the minimum and maximum values of + * a `double`. + * + * @param[in] window The desired window. + * @param[in] xpos The desired x-coordinate, relative to the left edge of the + * content area. + * @param[in] ypos The desired y-coordinate, relative to the top edge of the + * content area. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_ERROR and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). + * + * @remark @wayland This function will only work when the cursor mode is + * `GLFW_CURSOR_DISABLED`, otherwise it will emit @ref GLFW_FEATURE_UNAVAILABLE. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_pos + * @sa @ref glfwGetCursorPos + * + * @since Added in version 3.0. Replaces `glfwSetMousePos`. + * + * @ingroup input + */ +GLFWAPI void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos); + +/*! @brief Creates a custom cursor. + * + * Creates a new custom cursor image that can be set for a window with @ref + * glfwSetCursor. The cursor can be destroyed with @ref glfwDestroyCursor. + * Any remaining cursors are destroyed by @ref glfwTerminate. + * + * The pixels are 32-bit, little-endian, non-premultiplied RGBA, i.e. eight + * bits per channel with the red channel first. 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 + * points to the right and the Y-axis points down. + * + * @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. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The specified image data is copied before this function + * returns. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_object + * @sa @ref glfwDestroyCursor + * @sa @ref glfwCreateStandardCursor + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI GLFWcursor* glfwCreateCursor(const GLFWimage* image, int xhot, int yhot); + +/*! @brief Creates a cursor with a standard shape. + * + * Returns a cursor with a standard shape, that can be set for a window with + * @ref glfwSetCursor. The images for these cursors come from the system + * cursor theme and their exact appearance will vary between platforms. + * + * Most of these shapes are guaranteed to exist on every supported platform but + * a few may not be present. See the table below for details. + * + * Cursor shape | Windows | macOS | X11 | Wayland + * ------------------------------ | ------- | ----- | ------ | ------- + * @ref GLFW_ARROW_CURSOR | Yes | Yes | Yes | Yes + * @ref GLFW_IBEAM_CURSOR | Yes | Yes | Yes | Yes + * @ref GLFW_CROSSHAIR_CURSOR | Yes | Yes | Yes | Yes + * @ref GLFW_POINTING_HAND_CURSOR | Yes | Yes | Yes | Yes + * @ref GLFW_RESIZE_EW_CURSOR | Yes | Yes | Yes | Yes + * @ref GLFW_RESIZE_NS_CURSOR | Yes | Yes | Yes | Yes + * @ref GLFW_RESIZE_NWSE_CURSOR | Yes | Yes1 | Maybe2 | Maybe2 + * @ref GLFW_RESIZE_NESW_CURSOR | Yes | Yes1 | Maybe2 | Maybe2 + * @ref GLFW_RESIZE_ALL_CURSOR | Yes | Yes | Yes | Yes + * @ref GLFW_NOT_ALLOWED_CURSOR | Yes | Yes | Maybe2 | Maybe2 + * + * 1) This uses a private system API and may fail in the future. + * + * 2) This uses a newer standard that not all cursor themes support. + * + * If the requested shape is not available, this function emits a @ref + * GLFW_CURSOR_UNAVAILABLE error and returns `NULL`. + * + * @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. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM, @ref GLFW_CURSOR_UNAVAILABLE and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_standard + * @sa @ref glfwCreateCursor + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI GLFWcursor* glfwCreateStandardCursor(int shape); + +/*! @brief Destroys a cursor. + * + * This function destroys a cursor previously created with @ref + * glfwCreateCursor. Any remaining cursors will be destroyed by @ref + * glfwTerminate. + * + * If the specified cursor is current for any window, that window will be + * reverted to the default cursor. This does not affect the cursor mode. + * + * @param[in] cursor The cursor object to destroy. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @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 @ref glfwCreateCursor + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI void glfwDestroyCursor(GLFWcursor* cursor); + +/*! @brief Sets the cursor for the window. + * + * This function sets the cursor image to be used when the cursor is over the + * content area of the specified window. The set cursor will only be visible + * when the [cursor mode](@ref cursor_mode) of the window is + * `GLFW_CURSOR_NORMAL`. + * + * On some platforms, the set cursor may not be visible unless the window also + * has input focus. + * + * @param[in] window The window to set the cursor for. + * @param[in] cursor The cursor to set, or `NULL` to switch back to the default + * arrow cursor. + * + * @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 version 3.1. + * + * @ingroup input + */ +GLFWAPI void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor); + +/*! @brief Sets the key callback. + * + * This function sets the key callback of the specified window, which is called + * when a key is pressed, repeated or released. + * + * The key functions deal with physical keys, with layout independent + * [key tokens](@ref keys) named after their values in the standard US keyboard + * layout. If you want to input text, use the + * [character callback](@ref glfwSetCharCallback) instead. + * + * When a window loses input focus, it will generate synthetic key release + * events for all pressed keys with associated key tokens. You can tell these + * events from user-generated events by the fact that the synthetic ones are + * generated after the focus loss event has been processed, i.e. after the + * [window focus callback](@ref glfwSetWindowFocusCallback) has been called. + * + * The scancode of a key is specific to that platform or sometimes even to that + * machine. Scancodes are intended to allow users to bind keys that don't have + * a GLFW key token. Such keys have `key` set to `GLFW_KEY_UNKNOWN`, their + * state is not saved and so it cannot be queried with @ref glfwGetKey. + * + * Sometimes GLFW needs to generate synthetic key events, in which case the + * scancode may be zero. + * + * @param[in] window The window whose callback to set. + * @param[in] callback The new key 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int key, int scancode, int action, int mods) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWkeyfun). + * + * @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 version 1.0. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup input + */ +GLFWAPI GLFWkeyfun glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun callback); + +/*! @brief Sets the Unicode character callback. + * + * This function sets the character callback of the specified window, which is + * called when a Unicode character is input. + * + * The character callback is intended for Unicode text input. As it deals with + * characters, it is keyboard layout dependent, whereas the + * [key callback](@ref glfwSetKeyCallback) is not. Characters do not map 1:1 + * to physical keys, as a key may produce zero, one or more characters. If you + * want to know whether a specific physical key was pressed or released, see + * the key callback instead. + * + * The character callback behaves as system text input normally does and will + * not be called if modifier keys are held down that would prevent normal text + * input on that platform, for example a Super (Command) key on macOS or Alt key + * on Windows. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, unsigned int codepoint) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWcharfun). + * + * @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 version 2.4. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup input + */ +GLFWAPI GLFWcharfun glfwSetCharCallback(GLFWwindow* window, GLFWcharfun callback); + +/*! @brief Sets the Unicode character with modifiers callback. + * + * This function sets the character with modifiers callback of the specified + * window, which is called when a Unicode character is input regardless of what + * modifier keys are used. + * + * The character with modifiers callback is intended for implementing custom + * Unicode character input. For regular Unicode text input, see the + * [character callback](@ref glfwSetCharCallback). Like the character + * callback, the character with modifiers callback deals with characters and is + * keyboard layout dependent. Characters do not map 1:1 to physical keys, as + * a key may produce zero, one or more characters. If you want to know whether + * a specific physical key was pressed or released, see the + * [key callback](@ref glfwSetKeyCallback) instead. + * + * @param[in] window The window whose callback to set. + * @param[in] callback The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or an + * [error](@ref error_handling) occurred. + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, unsigned int codepoint, int mods) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWcharmodsfun). + * + * @deprecated Scheduled for removal in version 4.0. + * + * @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 version 3.1. + * + * @ingroup input + */ +GLFWAPI GLFWcharmodsfun glfwSetCharModsCallback(GLFWwindow* window, GLFWcharmodsfun callback); + +/*! @brief Sets the mouse button callback. + * + * This function sets the mouse button callback of the specified window, which + * is called when a mouse button is pressed or released. + * + * When a window loses input focus, it will generate synthetic mouse button + * release events for all pressed mouse buttons. You can tell these events + * from user-generated events by the fact that the synthetic ones are generated + * after the focus loss event has been processed, i.e. after the + * [window focus callback](@ref glfwSetWindowFocusCallback) has been called. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int button, int action, int mods) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWmousebuttonfun). + * + * @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 version 1.0. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup input + */ +GLFWAPI GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmousebuttonfun callback); + +/*! @brief Sets the cursor position callback. + * + * This function sets the cursor position callback of the specified window, + * which is called when the cursor is moved. The callback is provided with the + * position, in screen coordinates, relative to the upper-left corner of the + * content area of the window. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, double xpos, double ypos); + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWcursorposfun). + * + * @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 version 3.0. Replaces `glfwSetMousePosCallback`. + * + * @ingroup input + */ +GLFWAPI GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursorposfun callback); + +/*! @brief Sets the cursor enter/leave callback. + * + * This function sets the cursor boundary crossing callback of the specified + * window, which is called when the cursor enters or leaves the content area of + * the window. + * + * @param[in] window The window whose callback to set. + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int entered) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWcursorenterfun). + * + * @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 version 3.0. + * + * @ingroup input + */ +GLFWAPI GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcursorenterfun callback); + +/*! @brief Sets the scroll callback. + * + * This function sets the scroll callback of the specified window, which is + * called when a scrolling device is used, such as a mouse wheel or scrolling + * area of a touchpad. + * + * The scroll callback receives all scrolling input, like that from a mouse + * wheel or a touchpad scrolling area. + * + * @param[in] window The window whose callback to set. + * @param[in] callback The new scroll 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, double xoffset, double yoffset) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWscrollfun). + * + * @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 version 3.0. Replaces `glfwSetMouseWheelCallback`. + * + * @ingroup input + */ +GLFWAPI GLFWscrollfun glfwSetScrollCallback(GLFWwindow* window, GLFWscrollfun callback); + +/*! @brief Sets the path drop callback. + * + * This function sets the path drop callback of the specified window, which is + * called when one or more dragged paths are dropped on the window. + * + * Because the path array and its strings may have been generated specifically + * for that event, they are not guaranteed to be valid after the callback has + * returned. If you wish to use them after the callback returns, you need to + * make a deep copy. + * + * @param[in] window The window whose callback to set. + * @param[in] callback The new file drop 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). + * + * @callback_signature + * @code + * void function_name(GLFWwindow* window, int path_count, const char* paths[]) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWdropfun). + * + * @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 version 3.1. + * + * @ingroup input + */ +GLFWAPI GLFWdropfun glfwSetDropCallback(GLFWwindow* window, GLFWdropfun callback); + +/*! @brief Returns whether the specified joystick is present. + * + * This function returns whether the specified joystick is present. + * + * There is no need to call this function before other functions that accept + * a joystick ID, as they all check for presence before performing any other + * work. + * + * @param[in] jid The [joystick](@ref joysticks) to query. + * @return `GLFW_TRUE` if the joystick is present, or `GLFW_FALSE` otherwise. + * + * @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 version 3.0. Replaces `glfwGetJoystickParam`. + * + * @ingroup input + */ +GLFWAPI int glfwJoystickPresent(int jid); + +/*! @brief Returns the values of all axes of the specified joystick. + * + * 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. + * + * If the specified joystick is not present this function will return `NULL` + * but will not generate an error. This can be used instead of first calling + * @ref glfwJoystickPresent. + * + * @param[in] jid 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 the joystick is not present or an error + * occurred. + * @return An array of axis values, or `NULL` if the joystick is not present or + * an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @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 or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick_axis + * + * @since Added in version 3.0. Replaces `glfwGetJoystickPos`. + * + * @ingroup input + */ +GLFWAPI const float* glfwGetJoystickAxes(int jid, int* count); + +/*! @brief Returns the state of all buttons of the specified joystick. + * + * This function returns the state of all buttons of the specified joystick. + * Each element in the array is either `GLFW_PRESS` or `GLFW_RELEASE`. + * + * For backward compatibility with earlier versions that did not have @ref + * glfwGetJoystickHats, the button array also includes all hats, each + * represented as four buttons. The hats are in the same order as returned by + * __glfwGetJoystickHats__ and are in the order _up_, _right_, _down_ and + * _left_. To disable these extra buttons, set the @ref + * GLFW_JOYSTICK_HAT_BUTTONS init hint before initialization. + * + * If the specified joystick is not present this function will return `NULL` + * but will not generate an error. This can be used instead of first calling + * @ref glfwJoystickPresent. + * + * @param[in] jid 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 the joystick is not present or an error + * occurred. + * @return An array of button states, or `NULL` if the joystick is not present + * or an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @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 or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick_button + * + * @since Added in version 2.2. + * @glfw3 Changed to return a dynamic array. + * + * @ingroup input + */ +GLFWAPI const unsigned char* glfwGetJoystickButtons(int jid, int* count); + +/*! @brief Returns the state of all hats of the specified joystick. + * + * This function returns the state of all hats of the specified joystick. + * Each element in the array is one of the following values: + * + * Name | Value + * ---- | ----- + * `GLFW_HAT_CENTERED` | 0 + * `GLFW_HAT_UP` | 1 + * `GLFW_HAT_RIGHT` | 2 + * `GLFW_HAT_DOWN` | 4 + * `GLFW_HAT_LEFT` | 8 + * `GLFW_HAT_RIGHT_UP` | `GLFW_HAT_RIGHT` \| `GLFW_HAT_UP` + * `GLFW_HAT_RIGHT_DOWN` | `GLFW_HAT_RIGHT` \| `GLFW_HAT_DOWN` + * `GLFW_HAT_LEFT_UP` | `GLFW_HAT_LEFT` \| `GLFW_HAT_UP` + * `GLFW_HAT_LEFT_DOWN` | `GLFW_HAT_LEFT` \| `GLFW_HAT_DOWN` + * + * The diagonal directions are bitwise combinations of the primary (up, right, + * down and left) directions and you can test for these individually by ANDing + * it with the corresponding direction. + * + * @code + * if (hats[2] & GLFW_HAT_RIGHT) + * { + * // State of hat 2 could be right-up, right or right-down + * } + * @endcode + * + * If the specified joystick is not present this function will return `NULL` + * but will not generate an error. This can be used instead of first calling + * @ref glfwJoystickPresent. + * + * @param[in] jid The [joystick](@ref joysticks) to query. + * @param[out] count Where to store the number of hat states in the returned + * array. This is set to zero if the joystick is not present or an error + * occurred. + * @return An array of hat states, or `NULL` if the joystick is not present + * or an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @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_hat + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI const unsigned char* glfwGetJoystickHats(int jid, int* count); + +/*! @brief Returns the name of the specified joystick. + * + * This function returns the name, encoded as UTF-8, of the specified joystick. + * The returned string is allocated and freed by GLFW. You should not free it + * yourself. + * + * If the specified joystick is not present this function will return `NULL` + * but will not generate an error. This can be used instead of first calling + * @ref glfwJoystickPresent. + * + * @param[in] jid The [joystick](@ref joysticks) to query. + * @return The UTF-8 encoded name of the joystick, or `NULL` if the joystick + * is not present or an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM 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 specified joystick is + * disconnected or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick_name + * + * @since Added in version 3.0. + * + * @ingroup input + */ +GLFWAPI const char* glfwGetJoystickName(int jid); + +/*! @brief Returns the SDL compatible GUID of the specified joystick. + * + * This function returns the SDL compatible GUID, as a UTF-8 encoded + * hexadecimal string, of the specified joystick. The returned string is + * allocated and freed by GLFW. You should not free it yourself. + * + * The GUID is what connects a joystick to a gamepad mapping. A connected + * joystick will always have a GUID even if there is no gamepad mapping + * assigned to it. + * + * If the specified joystick is not present this function will return `NULL` + * but will not generate an error. This can be used instead of first calling + * @ref glfwJoystickPresent. + * + * The GUID uses the format introduced in SDL 2.0.5. This GUID tries to + * uniquely identify the make and model of a joystick but does not identify + * a specific unit, e.g. all wired Xbox 360 controllers will have the same + * GUID on that platform. The GUID for a unit may vary between platforms + * depending on what hardware information the platform specific APIs provide. + * + * @param[in] jid The [joystick](@ref joysticks) to query. + * @return The UTF-8 encoded GUID of the joystick, or `NULL` if the joystick + * is not present or an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM 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 specified joystick is + * disconnected or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref gamepad + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI const char* glfwGetJoystickGUID(int jid); + +/*! @brief Sets the user pointer of the specified joystick. + * + * This function sets the user-defined pointer of the specified joystick. The + * current value is retained until the joystick is disconnected. The initial + * value is `NULL`. + * + * This function may be called from the joystick callback, even for a joystick + * that is being disconnected. + * + * @param[in] jid The joystick whose pointer to set. + * @param[in] pointer The new value. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @sa @ref joystick_userptr + * @sa @ref glfwGetJoystickUserPointer + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI void glfwSetJoystickUserPointer(int jid, void* pointer); + +/*! @brief Returns the user pointer of the specified joystick. + * + * This function returns the current value of the user-defined pointer of the + * specified joystick. The initial value is `NULL`. + * + * This function may be called from the joystick callback, even for a joystick + * that is being disconnected. + * + * @param[in] jid The joystick whose pointer to return. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @sa @ref joystick_userptr + * @sa @ref glfwSetJoystickUserPointer + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI void* glfwGetJoystickUserPointer(int jid); + +/*! @brief Returns whether the specified joystick has a gamepad mapping. + * + * This function returns whether the specified joystick is both present and has + * a gamepad mapping. + * + * If the specified joystick is present but does not have a gamepad mapping + * this function will return `GLFW_FALSE` but will not generate an error. Call + * @ref glfwJoystickPresent to check if a joystick is present regardless of + * whether it has a mapping. + * + * @param[in] jid The [joystick](@ref joysticks) to query. + * @return `GLFW_TRUE` if a joystick is both present and has a gamepad mapping, + * or `GLFW_FALSE` otherwise. + * + * @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 gamepad + * @sa @ref glfwGetGamepadState + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI int glfwJoystickIsGamepad(int jid); + +/*! @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. + * + * For joystick connection and disconnection events to be delivered on all + * platforms, you need to call one of the [event processing](@ref events) + * functions. Joystick disconnection may also be detected and the callback + * called by joystick functions. The function will then return whatever it + * returns if the joystick is not present. + * + * @param[in] callback 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). + * + * @callback_signature + * @code + * void function_name(int jid, int event) + * @endcode + * For more information about the callback parameters, see the + * [function pointer type](@ref GLFWjoystickfun). + * + * @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 callback); + +/*! @brief Adds the specified SDL_GameControllerDB gamepad mappings. + * + * This function parses the specified ASCII encoded string and updates the + * internal list with any gamepad mappings it finds. This string may + * contain either a single gamepad mapping or many mappings separated by + * newlines. The parser supports the full format of the `gamecontrollerdb.txt` + * source file including empty lines and comments. + * + * See @ref gamepad_mapping for a description of the format. + * + * If there is already a gamepad mapping for a given GUID in the internal list, + * it will be replaced by the one passed to this function. If the library is + * terminated and re-initialized the internal list will revert to the built-in + * default. + * + * @param[in] string The string containing the gamepad mappings. + * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_VALUE. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref gamepad + * @sa @ref glfwJoystickIsGamepad + * @sa @ref glfwGetGamepadName + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI int glfwUpdateGamepadMappings(const char* string); + +/*! @brief Returns the human-readable gamepad name for the specified joystick. + * + * This function returns the human-readable name of the gamepad from the + * gamepad mapping assigned to the specified joystick. + * + * If the specified joystick is not present or does not have a gamepad mapping + * this function will return `NULL` but will not generate an error. Call + * @ref glfwJoystickPresent to check whether it is present regardless of + * whether it has a mapping. + * + * @param[in] jid The [joystick](@ref joysticks) to query. + * @return The UTF-8 encoded name of the gamepad, or `NULL` if the + * joystick is not present, does not have a mapping or an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref GLFW_INVALID_ENUM. + * + * @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, the gamepad mappings are updated or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref gamepad + * @sa @ref glfwJoystickIsGamepad + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI const char* glfwGetGamepadName(int jid); + +/*! @brief Retrieves the state of the specified joystick remapped as a gamepad. + * + * This function retrieves the state of the specified joystick remapped to + * an Xbox-like gamepad. + * + * If the specified joystick is not present or does not have a gamepad mapping + * this function will return `GLFW_FALSE` but will not generate an error. Call + * @ref glfwJoystickPresent to check whether it is present regardless of + * whether it has a mapping. + * + * The Guide button may not be available for input as it is often hooked by the + * system or the Steam client. + * + * Not all devices have all the buttons or axes provided by @ref + * GLFWgamepadstate. Unavailable buttons and axes will always report + * `GLFW_RELEASE` and 0.0 respectively. + * + * @param[in] jid The [joystick](@ref joysticks) to query. + * @param[out] state The gamepad input state of the joystick. + * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if no joystick is + * connected, it has no gamepad mapping or an [error](@ref error_handling) + * occurred. + * + * @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 gamepad + * @sa @ref glfwUpdateGamepadMappings + * @sa @ref glfwJoystickIsGamepad + * + * @since Added in version 3.3. + * + * @ingroup input + */ +GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate* state); + +/*! @brief Sets the clipboard to the specified string. + * + * This function sets the system clipboard to the specified, UTF-8 encoded + * string. + * + * @param[in] window Deprecated. Any valid window or `NULL`. + * @param[in] string A UTF-8 encoded string. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @win32 The clipboard on Windows has a single global lock for reading and + * writing. GLFW tries to acquire it a few times, which is almost always enough. If it + * cannot acquire the lock then this function emits @ref GLFW_PLATFORM_ERROR and returns. + * It is safe to try this multiple times. + * + * @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 @ref glfwGetClipboardString + * + * @since Added in version 3.0. + * + * @ingroup input + */ +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. 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 Deprecated. Any valid window or `NULL`. + * @return The contents of the clipboard as a UTF-8 encoded string, or `NULL` + * if an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_FORMAT_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. + * + * @remark @win32 The clipboard on Windows has a single global lock for reading and + * writing. GLFW tries to acquire it a few times, which is almost always enough. If it + * cannot acquire the lock then this function emits @ref GLFW_PLATFORM_ERROR and returns. + * It is safe to try this multiple times. + * + * @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. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref clipboard + * @sa @ref glfwSetClipboardString + * + * @since Added in version 3.0. + * + * @ingroup input + */ +GLFWAPI const char* glfwGetClipboardString(GLFWwindow* window); + +/*! @brief Returns the GLFW time. + * + * This function returns the current GLFW time, in seconds. Unless the time + * has been set using @ref glfwSetTime it measures time elapsed since GLFW was + * initialized. + * + * This function and @ref glfwSetTime are helper functions on top of @ref + * glfwGetTimerFrequency and @ref glfwGetTimerValue. + * + * The resolution of the timer is system dependent, but is usually on the order + * of a few micro- or nanoseconds. It uses the highest-resolution monotonic + * time source on each operating system. + * + * @return The current time, in seconds, 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. Reading and + * writing of the internal base time is not atomic, so it needs to be + * externally synchronized with calls to @ref glfwSetTime. + * + * @sa @ref time + * + * @since Added in version 1.0. + * + * @ingroup input + */ +GLFWAPI double glfwGetTime(void); + +/*! @brief Sets the GLFW time. + * + * This function sets the current GLFW time, in seconds. The value must be + * a positive finite number less than or equal to 18446744073.0, which is + * approximately 584.5 years. + * + * This function and @ref glfwGetTime are helper functions on top of @ref + * glfwGetTimerFrequency and @ref glfwGetTimerValue. + * + * @param[in] time The new value, in seconds. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_VALUE. + * + * @remark The upper limit of GLFW time 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. Reading and + * writing of the internal base time is not atomic, so it needs to be + * externally synchronized with calls to @ref glfwGetTime. + * + * @sa @ref time + * + * @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 @ref 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 @ref 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. + * + * This function makes the OpenGL or OpenGL ES context of the specified window + * current on the calling thread. It can also detach the current context from + * the calling thread without making a new one current by passing in `NULL`. + * + * A context must only be made current on a single thread at a time and each + * thread can have only a single current context at a time. Making a context + * current detaches any previously current context on the calling thread. + * + * When moving a context between threads, you must detach it (make it + * non-current) on the old thread before making it current on the new one. + * + * By default, making a context non-current implicitly forces a pipeline flush. + * On machines that support `GL_KHR_context_flush_control`, you can control + * whether a context performs this flush by setting the + * [GLFW_CONTEXT_RELEASE_BEHAVIOR](@ref GLFW_CONTEXT_RELEASE_BEHAVIOR_hint) + * 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. + * + * @remarks If the previously current context was created via a different + * context creation API than the one passed to this function, GLFW will still + * detach the previous one from its API before making the new one current. + * + * @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 @ref glfwGetCurrentContext + * + * @since Added in version 3.0. + * + * @ingroup context + */ +GLFWAPI void glfwMakeContextCurrent(GLFWwindow* window); + +/*! @brief Returns the window whose context is current on the calling thread. + * + * This function returns the window whose OpenGL or OpenGL ES context is + * current on the calling thread. + * + * @return The window whose context is current, or `NULL` if no window's + * context is current. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref context_current + * @sa @ref glfwMakeContextCurrent + * + * @since Added in version 3.0. + * + * @ingroup context + */ +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 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. + * + * @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 @ref glfwSwapInterval + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwSwapBuffers(GLFWwindow* window); + +/*! @brief Sets the swap interval for the current context. + * + * 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_. + * + * A context that supports either of the `WGL_EXT_swap_control_tear` and + * `GLX_EXT_swap_control_tear` extensions also accepts _negative_ swap + * intervals, which allows the driver to swap immediately even if a frame + * arrives a little bit late. You can check for these extensions with @ref + * glfwExtensionSupported. + * + * 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. + * + * @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 for that API. 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. + * + * @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. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref buffer_swap + * @sa @ref glfwSwapBuffers + * + * @since Added in version 1.0. + * + * @ingroup context + */ +GLFWAPI void glfwSwapInterval(int interval); + +/*! @brief Returns whether the specified extension is available. + * + * 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 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. + * + * As this functions retrieves and searches one or more extension strings each + * call, it is recommended that you cache its results if it is going to be used + * frequently. The extension strings will not change during the lifetime of + * a context, so there is no danger in doing this. + * + * This function does not apply to Vulkan. If you are using Vulkan, see @ref + * glfwGetRequiredInstanceExtensions, `vkEnumerateInstanceExtensionProperties` + * and `vkEnumerateDeviceExtensionProperties` instead. + * + * @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 @ref glfwGetProcAddress + * + * @since Added in version 1.0. + * + * @ingroup context + */ +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 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. + * + * This function does not apply to Vulkan. If you are rendering with Vulkan, + * see @ref glfwGetInstanceProcAddress, `vkGetInstanceProcAddr` and + * `vkGetDeviceProcAddr` instead. + * + * @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. + * + * @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. + * + * @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 @ref glfwExtensionSupported + * + * @since Added in version 1.0. + * + * @ingroup context + */ +GLFWAPI GLFWglproc glfwGetProcAddress(const char* procname); + +/*! @brief Returns whether the Vulkan loader and an ICD have been found. + * + * This function returns whether the Vulkan loader and any minimally functional + * ICD have been found. + * + * The availability of a Vulkan loader and even an ICD does not by itself guarantee that + * surface creation or even instance 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 minimally 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 contain `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 at least minimally 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. + * + * @remark 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 @ref 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 at least minimally 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 at least minimally 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. + * + * @remark @macos This function currently always returns `GLFW_TRUE`, as the + * `VK_MVK_macos_surface` and `VK_EXT_metal_surface` extensions do not provide + * a `vkGetPhysicalDevice*PresentationSupport` type function. + * + * @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 or at least one minimally functional ICD were not found, + * this function returns `VK_ERROR_INITIALIZATION_FAILED` and generates a @ref + * GLFW_API_UNAVAILABLE error. Call @ref glfwVulkanSupported to check whether + * Vulkan is at least minimally available. + * + * 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 cannot be shared with another API so the window must + * have been created with the [client api hint](@ref GLFW_CLIENT_API_attrib) + * set to `GLFW_NO_API` otherwise it generates a @ref GLFW_INVALID_VALUE error + * and returns `VK_ERROR_NATIVE_WINDOW_IN_USE_KHR`. + * + * 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, @ref GLFW_PLATFORM_ERROR and @ref GLFW_INVALID_VALUE + * + * @remark 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. + * + * @remark @macos GLFW prefers the `VK_EXT_metal_surface` extension, with the + * `VK_MVK_macos_surface` extension as a fallback. The name of the selected + * extension, if any, is included in the array returned by @ref + * glfwGetRequiredInstanceExtensions. + * + * @remark @macos This function creates and sets a `CAMetalLayer` instance for + * the window content view, which is required for MoltenVK to function. + * + * @remark @x11 By default GLFW prefers the `VK_KHR_xcb_surface` extension, + * with the `VK_KHR_xlib_surface` extension as a fallback. You can make + * `VK_KHR_xlib_surface` the preferred extension by setting the + * [GLFW_X11_XCB_VULKAN_SURFACE](@ref GLFW_X11_XCB_VULKAN_SURFACE_hint) init + * hint. The name of the selected extension, if any, is included in the array + * returned by @ref glfwGetRequiredInstanceExtensions. + * + * @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 @ref 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 + *************************************************************************/ + +/* ------------------- BEGIN SYSTEM/COMPILER SPECIFIC -------------------- */ + +#ifdef GLFW_WINGDIAPI_DEFINED + #undef WINGDIAPI + #undef GLFW_WINGDIAPI_DEFINED +#endif + +#ifdef GLFW_CALLBACK_DEFINED + #undef CALLBACK + #undef GLFW_CALLBACK_DEFINED +#endif + +/* Some OpenGL related headers need GLAPIENTRY, but it is unconditionally + * defined by some gl.h variants (OpenBSD) so define it after if needed. + */ +#ifndef GLAPIENTRY + #define GLAPIENTRY APIENTRY + #define GLFW_GLAPIENTRY_DEFINED +#endif + +/* -------------------- END SYSTEM/COMPILER SPECIFIC --------------------- */ + + +#ifdef __cplusplus +} +#endif + +#endif /* _glfw3_h_ */ + diff --git a/include/opengl_utils/glfw3/glfw3native.h b/include/opengl_utils/glfw3/glfw3native.h new file mode 100644 index 0000000..92f0d32 --- /dev/null +++ b/include/opengl_utils/glfw3/glfw3native.h @@ -0,0 +1,663 @@ +/************************************************************************* + * GLFW 3.4 - www.glfw.org + * A library for OpenGL, window and input + *------------------------------------------------------------------------ + * Copyright (c) 2002-2006 Marcus Geelnard + * Copyright (c) 2006-2018 Camilla Löwy + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would + * be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not + * be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + * + *************************************************************************/ + +#ifndef _glfw3_native_h_ +#define _glfw3_native_h_ + +#ifdef __cplusplus +extern "C" { +#endif + + +/************************************************************************* + * 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 + * @brief Functions related to accessing native handles. + * + * **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 may define zero or more + * 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` + * + * The available context API macros are: + * * `GLFW_EXPOSE_NATIVE_WGL` + * * `GLFW_EXPOSE_NATIVE_NSGL` + * * `GLFW_EXPOSE_NATIVE_GLX` + * * `GLFW_EXPOSE_NATIVE_EGL` + * * `GLFW_EXPOSE_NATIVE_OSMESA` + * + * These macros select which of the native access functions that are declared + * and which platform-specific headers to include. It is then up your (by + * definition platform-specific) code to handle which of these should be + * defined. + * + * If you do not want the platform-specific headers to be included, define + * `GLFW_NATIVE_INCLUDE_NONE` before including the @ref glfw3native.h header. + * + * @code + * #define GLFW_EXPOSE_NATIVE_WIN32 + * #define GLFW_EXPOSE_NATIVE_WGL + * #define GLFW_NATIVE_INCLUDE_NONE + * #include + * @endcode + */ + + +/************************************************************************* + * System headers and types + *************************************************************************/ + +#if !defined(GLFW_NATIVE_INCLUDE_NONE) + + #if defined(GLFW_EXPOSE_NATIVE_WIN32) || defined(GLFW_EXPOSE_NATIVE_WGL) + /* This is a workaround for the fact that glfw3.h needs to export APIENTRY (for + * example to allow applications to correctly declare a GL_KHR_debug callback) + * but windows.h assumes no one will define APIENTRY before it does + */ + #if defined(GLFW_APIENTRY_DEFINED) + #undef APIENTRY + #undef GLFW_APIENTRY_DEFINED + #endif + #include + #endif + + #if defined(GLFW_EXPOSE_NATIVE_COCOA) || defined(GLFW_EXPOSE_NATIVE_NSGL) + #if defined(__OBJC__) + #import + #else + #include + #include + #endif + #endif + + #if defined(GLFW_EXPOSE_NATIVE_X11) || defined(GLFW_EXPOSE_NATIVE_GLX) + #include + #include + #endif + + #if defined(GLFW_EXPOSE_NATIVE_WAYLAND) + #include + #endif + + #if defined(GLFW_EXPOSE_NATIVE_WGL) + /* WGL is declared by windows.h */ + #endif + #if defined(GLFW_EXPOSE_NATIVE_NSGL) + /* NSGL is declared by Cocoa.h */ + #endif + #if defined(GLFW_EXPOSE_NATIVE_GLX) + /* This is a workaround for the fact that glfw3.h defines GLAPIENTRY because by + * default it also acts as an OpenGL header + * However, glx.h will include gl.h, which will define it unconditionally + */ + #if defined(GLFW_GLAPIENTRY_DEFINED) + #undef GLAPIENTRY + #undef GLFW_GLAPIENTRY_DEFINED + #endif + #include + #endif + #if defined(GLFW_EXPOSE_NATIVE_EGL) + #include + #endif + #if defined(GLFW_EXPOSE_NATIVE_OSMESA) + /* This is a workaround for the fact that glfw3.h defines GLAPIENTRY because by + * default it also acts as an OpenGL header + * However, osmesa.h will include gl.h, which will define it unconditionally + */ + #if defined(GLFW_GLAPIENTRY_DEFINED) + #undef GLAPIENTRY + #undef GLFW_GLAPIENTRY_DEFINED + #endif + #include + #endif + +#endif /*GLFW_NATIVE_INCLUDE_NONE*/ + + +/************************************************************************* + * Functions + *************************************************************************/ + +#if defined(GLFW_EXPOSE_NATIVE_WIN32) +/*! @brief Returns the adapter device name of the specified monitor. + * + * @return The UTF-8 encoded adapter device name (for example `\\.\DISPLAY1`) + * of the specified monitor, or `NULL` if an [error](@ref error_handling) + * occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor); + +/*! @brief Returns the display device name of the specified monitor. + * + * @return The UTF-8 encoded display device name (for example + * `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor); + +/*! @brief Returns the `HWND` of the specified window. + * + * @return The `HWND` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @remark The `HDC` associated with the window can be queried with the + * [GetDC](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc) + * function. + * @code + * HDC dc = GetDC(glfwGetWin32Window(window)); + * @endcode + * This DC is private and does not need to be released. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_WGL) +/*! @brief Returns the `HGLRC` of the specified window. + * + * @return The `HGLRC` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_NO_WINDOW_CONTEXT. + * + * @remark The `HDC` associated with the window can be queried with the + * [GetDC](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc) + * function. + * @code + * HDC dc = GetDC(glfwGetWin32Window(window)); + * @endcode + * This DC is private and does not need to be released. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_COCOA) +/*! @brief Returns the `CGDirectDisplayID` of the specified monitor. + * + * @return The `CGDirectDisplayID` of the specified monitor, or + * `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor); + +/*! @brief Returns the `NSWindow` of the specified window. + * + * @return The `NSWindow` of the specified window, or `nil` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window); + +/*! @brief Returns the `NSView` of the specified window. + * + * @return The `NSView` of the specified window, or `nil` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.4. + * + * @ingroup native + */ +GLFWAPI id glfwGetCocoaView(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_NSGL) +/*! @brief Returns the `NSOpenGLContext` of the specified window. + * + * @return The `NSOpenGLContext` of the specified window, or `nil` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_NO_WINDOW_CONTEXT. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI id glfwGetNSGLContext(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_X11) +/*! @brief Returns the `Display` used by GLFW. + * + * @return The `Display` used by GLFW, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI Display* glfwGetX11Display(void); + +/*! @brief Returns the `RRCrtc` of the specified monitor. + * + * @return The `RRCrtc` of the specified monitor, or `None` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor); + +/*! @brief Returns the `RROutput` of the specified monitor. + * + * @return The `RROutput` of the specified monitor, or `None` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor); + +/*! @brief Returns the `Window` of the specified window. + * + * @return The `Window` of the specified window, or `None` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI Window glfwGetX11Window(GLFWwindow* window); + +/*! @brief Sets the current primary selection to the specified string. + * + * @param[in] string A UTF-8 encoded string. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. + * + * @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 glfwGetX11SelectionString + * @sa glfwSetClipboardString + * + * @since Added in version 3.3. + * + * @ingroup native + */ +GLFWAPI void glfwSetX11SelectionString(const char* string); + +/*! @brief Returns the contents of the current primary selection as a string. + * + * If the selection is empty or if its contents cannot be converted, `NULL` + * is returned and a @ref GLFW_FORMAT_UNAVAILABLE error is generated. + * + * @return The contents of the selection as a UTF-8 encoded string, or `NULL` + * if an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_UNAVAILABLE 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 + * glfwGetX11SelectionString or @ref glfwSetX11SelectionString, or until the + * library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref clipboard + * @sa glfwSetX11SelectionString + * @sa glfwGetClipboardString + * + * @since Added in version 3.3. + * + * @ingroup native + */ +GLFWAPI const char* glfwGetX11SelectionString(void); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_GLX) +/*! @brief Returns the `GLXContext` of the specified window. + * + * @return The `GLXContext` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @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. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_UNAVAILABLE. + * + * @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. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @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. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @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. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @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_EGL) +/*! @brief Returns the `EGLDisplay` used by GLFW. + * + * @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark Because EGL is initialized on demand, this function will return + * `EGL_NO_DISPLAY` until the first context has been created via EGL. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI EGLDisplay glfwGetEGLDisplay(void); + +/*! @brief Returns the `EGLContext` of the specified window. + * + * @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window); + +/*! @brief Returns the `EGLSurface` of the specified window. + * + * @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_OSMESA) +/*! @brief Retrieves the color buffer associated with the specified window. + * + * @param[in] window The window whose color buffer to retrieve. + * @param[out] width Where to store the width of the color buffer, or `NULL`. + * @param[out] height Where to store the height of the color buffer, or `NULL`. + * @param[out] format Where to store the OSMesa pixel format of the color + * buffer, or `NULL`. + * @param[out] buffer Where to store the address of the color buffer, or + * `NULL`. + * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.3. + * + * @ingroup native + */ +GLFWAPI int glfwGetOSMesaColorBuffer(GLFWwindow* window, int* width, int* height, int* format, void** buffer); + +/*! @brief Retrieves the depth buffer associated with the specified window. + * + * @param[in] window The window whose depth buffer to retrieve. + * @param[out] width Where to store the width of the depth buffer, or `NULL`. + * @param[out] height Where to store the height of the depth buffer, or `NULL`. + * @param[out] bytesPerValue Where to store the number of bytes per depth + * buffer element, or `NULL`. + * @param[out] buffer Where to store the address of the depth buffer, or + * `NULL`. + * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.3. + * + * @ingroup native + */ +GLFWAPI int glfwGetOSMesaDepthBuffer(GLFWwindow* window, int* width, int* height, int* bytesPerValue, void** buffer); + +/*! @brief Returns the `OSMesaContext` of the specified window. + * + * @return The `OSMesaContext` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.3. + * + * @ingroup native + */ +GLFWAPI OSMesaContext glfwGetOSMesaContext(GLFWwindow* window); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _glfw3_native_h_ */ + diff --git a/libs/opengl_utils/glfw3/glfw3.lib b/libs/opengl_utils/glfw3/glfw3.lib new file mode 100644 index 0000000000000000000000000000000000000000..18f20fb34c629bd0497bb3ad17df12a9050d000d GIT binary patch literal 1488984 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 z zyt#Qbew*@JhZM=<+rB^MeR%S(Q*Ylkzp<#A{||VcIqP;08gwb8-TE8j+8^wmQE<3T z!Om~eOEUwO&ds?y_w~#*pYMCGJxUmU(yP`m$+wU@-b?cO+G4bl

n=?GwaSDC&z$S=OYikd3zrU#{=o3p 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

wPkHj8HGsq(d*-fWWuH|o@U4{(DNxa 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

GT^l^;&DXSziy`UlJWJR#Yml*GBGFk* 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

u1ZzLq5p?lnx1V3m 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 z%0Db43KO;#wPK%V0Q*bv7hV0KJRH>aGo{5c%>5Y*#VqX*^-ffXEF5hax{S}skf{Ze zpCPkNF}9sSFd-vT*k`AZtouAsgi{;7XZgVwaZuZRU}<9+Mu)&q>^AcgFtr)XG#Cqv z9s8vyPbwih7i++TGh}Fqkrwi7nGY*1+s>!J#4==_07E5h%lrsTLx#+&V4A?#X}%Cu zpeuv977SfN*fLFE1~ZruFk>0aSHT?2V4er_SO)WZFcEmfwtNYCh$v+2G)KWSfsuJH z#7LBCq4eQH()javav0;@_V}BRNZ1G&3|73c45JpDblx0VKJ|C>lL$!^z zV=bTPks}D5eF<8$u}nsN&IarA=)7zx_|WaP)-k2UG8t`$(r?GLeaTZ>Nk?4&@|y1=TWeZrv5aum=cTOGggu;&)$J!s?U5)~4RS0)q2h8d6tm5gf~hr( zvj?~UteuO>#Sh`RMwJW^QSnGU$Ye?*k%KPg>e8cbX7vd-Q~sihDUZD2W{LuEo+CY_<)!&< zrkr}x44H}!7gJG8J)l#jqU>Qev-(6PQx+)-pvQ4&l|_o9Zl-j=&8*(*Vv0&1b}_{z z6K(ayK4b4>N=g%Mri>m#&X6gO7^bi<)f%ea z_Th4}NKw}DoJ)Vhcm?nP&6J+8D^hSbFo#So^pOqW|B z>acnI_IXkSGq%Fkj_t|SrOaK7y`1xBh=?D$jo43c+0&pe2yEnx&RyNhC3S_n( zOEmIEdeWR%W3{Uft1C>HOZoc#M54D3Yk}Gt-n-Gdt_>GQ$)sp(?Ceg^D;0ZaqRl;6 zZC7&&tIXYqx1kFXl(cI49?%VaeYo4i=k>g_THRwuBG+0uu(G4KHyOWiJ(7!8qDh6i zcst_jP&rtaf_RIzo!mle_B!WEiPP1%Q@&Oa$;4}*n!9HGQHRVzqYA^7BHpd6f0`gP zXzUV=bq$q`l^yZc?e!_VxO7W%9}+-ZH9jh~9;?vutiGc^g@wN!#JQn9#_tpCV=WN+ zeZ7sXWCjb0z1utEBGk{{Z3xX#h9RC#&Kc@Zo>|fk-B|)1s?O@*P|BcP;-PB>CGTc{&b@Q|}=I~3g^ zN@?Dztkmb1aT;<}d#AoDh;7c=A{@>=4WXiW+Lp0Yd^$oUrz2E)IznY{BcyA_{MnmX zJLZsXE{~R*55cwYjy!`VxFEz8<|f;o3Vd8rL}BEE(Vwqj0l_1?z5Shu2O3W r%C0)Q-t~L7==DX{Uq4T`8jV&&D>C~>Gum>msryMYnmW5j*)jefvBP}0 literal 0 HcmV?d00001 diff --git a/libs/opengl_utils/glfw3/glfw3.pdb b/libs/opengl_utils/glfw3/glfw3.pdb new file mode 100644 index 0000000000000000000000000000000000000000..f5b7c2c9eb63632c9db0c2bd16b80e946493de7b GIT binary patch literal 208896 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

  • Z1Yc}u1F7N#bIab{reONS23 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�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