From 5853bc7f176e961e8b32bfbe5d80b0ad7fbaf1f7 Mon Sep 17 00:00:00 2001 From: tch Date: Fri, 7 Apr 2023 15:26:53 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E5=99=A8=EF=BC=88MSVC/GCC/MinGW-w64/clang/clang-cl?= =?UTF-8?q?=EF=BC=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 132 ++++++++++++++++++++++++-------- deps/glad/CMakeLists.txt | 7 +- deps/sqlite.3.28/CMakeLists.txt | 8 +- deps/tprGeneral/CMakeLists.txt | 11 ++- deps/tprInUnix/CMakeLists.txt | 12 ++- deps/tprInWin/CMakeLists.txt | 23 ++++-- 6 files changed, 145 insertions(+), 48 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 604b122a..21af077d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ # cmake version #---------------------------------------------------# # 3.16 or Later is better, to support PCH and Unity builds -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) message( STATUS "cmake: ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" ) @@ -199,19 +199,59 @@ else() endif( UNIX ) +#---------------------------------------------------# +# distinguish different compilers +#---------------------------------------------------# +set(CXX_COMPILER_IS_GCC OFF) # gcc +set(CXX_COMPILER_IS_CLANG OFF) # clang +set(CXX_COMPILER_IS_MSVC OFF) # msvc +set(CXX_COMPILER_IS_CLANG_CL OFF) # clang-cl +set(CXX_COMPILER_IS_GNU_LIKE OFF) # gcc, clang, clang-cl +set(CXX_COMPILER_IS_GCC_CLANG OFF) # gcc, clang +set(CXX_COMPILER_IS_CLANG_ALL OFF) # clang, clang-cl +set(CXX_COMPILER_IS_MSVC_LIKE OFF) # msvc, clang-cl +if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") + set(CXX_COMPILER_IS_GCC ON) + set(CXX_COMPILER_IS_GNU_LIKE ON) + set(CXX_COMPILER_IS_GCC_CLANG ON) + message(STATUS "[INFO] Compiler: gcc") +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + if (CMAKE_CXX_SIMULATE_ID MATCHES "MSVC" AND CMAKE_CL_64) + set(CXX_COMPILER_IS_CLANG_CL ON) + set(CXX_COMPILER_IS_GNU_LIKE ON) + set(CXX_COMPILER_IS_CLANG_ALL ON) + set(CXX_COMPILER_IS_MSVC_LIKE ON) + message(STATUS "[INFO] Compiler: clang-cl") + else () + set(CXX_COMPILER_IS_CLANG ON) + set(CXX_COMPILER_IS_GNU_LIKE ON) + set(CXX_COMPILER_IS_GCC_CLANG ON) + set(CXX_COMPILER_IS_CLANG_ALL ON) + message(STATUS "[INFO] Compiler: clang") + endif () +elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + set(CXX_COMPILER_IS_MSVC ON) + set(CXX_COMPILER_IS_MSVC_LIKE ON) + message(STATUS "[INFO] Compiler: msvc") +else () + message(FATAL_ERROR "Unsupported Compiler!") +endif () + #---------------------------------------------------# # 子目录 CMakeLists.txt #---------------------------------------------------# #-- 子 CMakeLists.txt 执行的 中间产物,将分别放在 # build/src build/libhello 目录中。 + +#-- 官网推荐,避免编译 test -- +# 需要在 add_subdirectory 语句之前 +set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) +set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) +set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) +add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR}/deps/glfw_unix EXCLUDE_FROM_ALL) + if( UNIX ) - #-- 官网推荐,避免编译 test -- - # 需要在 add_subdirectory 语句之前 - set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) - set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) - set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) - add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR}/deps/glfw_unix) add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR}/deps/tprInUnix) else() add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR}/deps/tprInWin) @@ -241,7 +281,8 @@ else() tprGeneral tprInWin glad - ${CMAKE_CURRENT_SOURCE_DIR}/deps/glfw_win/lib-vc2017/glfw3.lib + glfw + ${GLFW_LIBRARIES} SQLite fmt ) @@ -251,30 +292,51 @@ endif( UNIX ) # 编译选项,可以自行增删 target_compile_options( tprpix PRIVATE - #-Werror # 20220605 这个限制变得更严苛了, 暂时先去掉它 - -Wall -Wextra - - -Wno-c++98-compat - -Wno-c++98-compat-pedantic - -Wno-language-extension-token #- glad - -Wno-documentation #- glfw3 - -Wno-documentation-unknown-command #- glfw3 - -Wno-nonportable-system-include-path - -Wno-reserved-id-macro - -Wno-global-constructors #++ need ++ - -Wno-exit-time-destructors #++ need ++ - -Wno-covered-switch-default #++ need ++ - -Wno-switch-enum #++ need ++ - -Wno-unused-parameter #++ need ++ - -Wno-unused-member-function #++ need ++ - -Wno-missing-variable-declarations #++ need ++ - -Wno-missing-prototypes - -Wno-old-style-cast #---- tmp ---- - - -Wno-unused-variable #----- tmp ---- - -Wno-unused-private-field #----- tmp ---- - - + # clang/clang-cl + $<$:$> + # gcc + $<$:$> + # msvc/clang-cl + $<$:$> ) @@ -283,7 +345,8 @@ target_compile_options( tprpix # release 模式,仍然允许 assert 宏起效 #-------- UNIX ---------- -if( UNIX ) +# gcc/clang +if( NOT CXX_COMPILER_IS_MSVC_LIKE ) set ( CMAKE_C_FLAGS "-O0" CACHE STRING "regular mode: no optimize" FORCE ) set ( CMAKE_C_FLAGS_DEBUG "-O0 -g" CACHE STRING "debug mode: no optimize" FORCE ) set ( CMAKE_C_FLAGS_MINSIZEREL "-O0 -DNDEBUG" CACHE STRING "minSizeRel mode: no optimize" FORCE ) @@ -297,6 +360,7 @@ if( UNIX ) set ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG" CACHE STRING "relWithDebugInfo mode: no optimize" FORCE ) #-------- WIN ---------- +# msvc/clang-cl else() # do not have CMAKE_C_FLAGS; set ( CMAKE_C_FLAGS_DEBUG "/MDd /Zi /Ob0 /Od /RTC1" CACHE STRING "debug mode: no optimize" FORCE ) @@ -311,6 +375,6 @@ else() set ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /O2 /Ob1 /DNDEBUG" CACHE STRING "relWithDebugInfo mode: no optimize" FORCE ) -endif( UNIX ) +endif() diff --git a/deps/glad/CMakeLists.txt b/deps/glad/CMakeLists.txt index f473ebf0..4f24d0fe 100644 --- a/deps/glad/CMakeLists.txt +++ b/deps/glad/CMakeLists.txt @@ -24,7 +24,12 @@ target_include_directories (glad target_compile_options (glad PRIVATE - -Wno-language-extension-token + $<$:$> + $<$:$> ) diff --git a/deps/sqlite.3.28/CMakeLists.txt b/deps/sqlite.3.28/CMakeLists.txt index 0f8a0868..27e7c606 100644 --- a/deps/sqlite.3.28/CMakeLists.txt +++ b/deps/sqlite.3.28/CMakeLists.txt @@ -30,7 +30,13 @@ target_include_directories ( SQLite #-- sqlite 不设 warning target_compile_options ( SQLite PRIVATE - -Wno-unused-variable + $<$:$> + $<$:$> ) diff --git a/deps/tprGeneral/CMakeLists.txt b/deps/tprGeneral/CMakeLists.txt index a5622ed5..460221ea 100644 --- a/deps/tprGeneral/CMakeLists.txt +++ b/deps/tprGeneral/CMakeLists.txt @@ -26,9 +26,14 @@ target_include_directories ( tprGeneral target_compile_options ( tprGeneral PRIVATE - -Wall - -Wno-c++98-compat - -Wno-c++98-compat-pedantic + $<$:$> + $<$:$> ) diff --git a/deps/tprInUnix/CMakeLists.txt b/deps/tprInUnix/CMakeLists.txt index 78cc4493..4b802c3e 100644 --- a/deps/tprInUnix/CMakeLists.txt +++ b/deps/tprInUnix/CMakeLists.txt @@ -24,9 +24,15 @@ target_include_directories (tprInUnix target_compile_options ( tprInUnix PRIVATE - -Wall - -Wno-c++98-compat - -Wno-c++98-compat-pedantic + $<$:$> + + $<$:$> ) diff --git a/deps/tprInWin/CMakeLists.txt b/deps/tprInWin/CMakeLists.txt index cb4c122f..6227e591 100644 --- a/deps/tprInWin/CMakeLists.txt +++ b/deps/tprInWin/CMakeLists.txt @@ -24,12 +24,23 @@ target_include_directories (tprInWin target_compile_options ( tprInWin PRIVATE - -Wall - -Wno-c++98-compat - -Wno-c++98-compat-pedantic - -Wno-zero-as-null-pointer-constant - -Wno-nonportable-system-include-path - -Wno-old-style-cast + $<$:$> + $<$:$> + $<$:$> ) From e0d8910575929603e3d160cf0878be4a1a3d6478 Mon Sep 17 00:00:00 2001 From: tch Date: Fri, 7 Apr 2023 15:30:57 +0800 Subject: [PATCH 2/5] =?UTF-8?q?glfw=E5=BA=93=E4=BD=BF=E7=94=A8=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- .../CMake/GenerateMappings.cmake | 0 .../CMake/MacOSXBundleInfo.plist.in | 0 .../CMake/i686-w64-mingw32-clang.cmake | 0 .../CMake/i686-w64-mingw32.cmake | 0 .../CMake/modules/FindEpollShim.cmake | 0 .../CMake/modules/FindOSMesa.cmake | 0 .../CMake/modules/FindWaylandProtocols.cmake | 0 .../CMake/modules/FindXKBCommon.cmake | 0 .../CMake/x86_64-w64-mingw32-clang.cmake | 0 .../CMake/x86_64-w64-mingw32.cmake | 0 deps/{glfw_unix => glfw}/CMakeLists.txt | 0 deps/{glfw_unix => glfw}/LICENSE.md | 0 deps/{glfw_unix => glfw}/README.md | 0 .../cmake_uninstall.cmake.in | 0 deps/{glfw_unix => glfw}/deps/getopt.c | 0 deps/{glfw_unix => glfw}/deps/getopt.h | 0 deps/{glfw_unix => glfw}/deps/glad/gl.h | 0 .../deps/glad/khrplatform.h | 0 .../deps/glad/vk_platform.h | 0 deps/{glfw_unix => glfw}/deps/glad/vulkan.h | 0 deps/{glfw_unix => glfw}/deps/glad_gl.c | 0 deps/{glfw_unix => glfw}/deps/glad_vulkan.c | 0 deps/{glfw_unix => glfw}/deps/linmath.h | 0 .../deps/mingw/_mingw_dxhelper.h | 0 deps/{glfw_unix => glfw}/deps/mingw/dinput.h | 0 deps/{glfw_unix => glfw}/deps/mingw/xinput.h | 0 deps/{glfw_unix => glfw}/deps/nuklear.h | 0 .../deps/nuklear_glfw_gl2.h | 0 .../deps/stb_image_write.h | 0 deps/{glfw_unix => glfw}/deps/tinycthread.c | 0 deps/{glfw_unix => glfw}/deps/tinycthread.h | 0 deps/{glfw_unix => glfw}/deps/vs2008/stdint.h | 0 deps/{glfw_unix => glfw}/docs/CMakeLists.txt | 0 deps/{glfw_unix => glfw}/docs/CONTRIBUTING.md | 0 deps/{glfw_unix => glfw}/docs/Doxyfile.in | 0 .../docs/DoxygenLayout.xml | 0 deps/{glfw_unix => glfw}/docs/build.dox | 0 deps/{glfw_unix => glfw}/docs/compat.dox | 0 deps/{glfw_unix => glfw}/docs/compile.dox | 0 deps/{glfw_unix => glfw}/docs/context.dox | 0 deps/{glfw_unix => glfw}/docs/extra.css | 0 deps/{glfw_unix => glfw}/docs/extra.less | 0 deps/{glfw_unix => glfw}/docs/footer.html | 0 deps/{glfw_unix => glfw}/docs/header.html | 0 deps/{glfw_unix => glfw}/docs/input.dox | 0 deps/{glfw_unix => glfw}/docs/internal.dox | 0 deps/{glfw_unix => glfw}/docs/intro.dox | 0 deps/{glfw_unix => glfw}/docs/main.dox | 0 deps/{glfw_unix => glfw}/docs/monitor.dox | 0 deps/{glfw_unix => glfw}/docs/moving.dox | 0 deps/{glfw_unix => glfw}/docs/news.dox | 0 deps/{glfw_unix => glfw}/docs/quick.dox | 0 deps/{glfw_unix => glfw}/docs/spaces.svg | 0 deps/{glfw_unix => glfw}/docs/vulkan.dox | 0 deps/{glfw_unix => glfw}/docs/window.dox | 0 .../examples/CMakeLists.txt | 0 deps/{glfw_unix => glfw}/examples/boing.c | 0 deps/{glfw_unix => glfw}/examples/gears.c | 0 deps/{glfw_unix => glfw}/examples/glfw.icns | Bin deps/{glfw_unix => glfw}/examples/glfw.ico | Bin deps/{glfw_unix => glfw}/examples/glfw.rc | 0 deps/{glfw_unix => glfw}/examples/heightmap.c | 0 deps/{glfw_unix => glfw}/examples/offscreen.c | 0 deps/{glfw_unix => glfw}/examples/particles.c | 0 deps/{glfw_unix => glfw}/examples/sharing.c | 0 deps/{glfw_unix => glfw}/examples/simple.c | 0 deps/{glfw_unix => glfw}/examples/splitview.c | 0 deps/{glfw_unix => glfw}/examples/wave.c | 0 deps/{glfw_unix => glfw}/include/GLFW/glfw3.h | 0 .../include/GLFW/glfw3native.h | 0 deps/{glfw_unix => glfw}/src/CMakeLists.txt | 0 deps/{glfw_unix => glfw}/src/cocoa_init.m | 0 deps/{glfw_unix => glfw}/src/cocoa_joystick.h | 0 deps/{glfw_unix => glfw}/src/cocoa_joystick.m | 0 deps/{glfw_unix => glfw}/src/cocoa_monitor.m | 0 deps/{glfw_unix => glfw}/src/cocoa_platform.h | 0 deps/{glfw_unix => glfw}/src/cocoa_time.c | 0 deps/{glfw_unix => glfw}/src/cocoa_window.m | 0 deps/{glfw_unix => glfw}/src/context.c | 0 deps/{glfw_unix => glfw}/src/egl_context.c | 0 deps/{glfw_unix => glfw}/src/egl_context.h | 0 deps/{glfw_unix => glfw}/src/glfw3.pc.in | 0 .../src/glfw3Config.cmake.in | 0 deps/{glfw_unix => glfw}/src/glfw_config.h.in | 0 deps/{glfw_unix => glfw}/src/glx_context.c | 0 deps/{glfw_unix => glfw}/src/glx_context.h | 0 deps/{glfw_unix => glfw}/src/init.c | 0 deps/{glfw_unix => glfw}/src/input.c | 0 deps/{glfw_unix => glfw}/src/internal.h | 0 deps/{glfw_unix => glfw}/src/linux_joystick.c | 0 deps/{glfw_unix => glfw}/src/linux_joystick.h | 0 deps/{glfw_unix => glfw}/src/mappings.h | 0 deps/{glfw_unix => glfw}/src/mappings.h.in | 0 deps/{glfw_unix => glfw}/src/monitor.c | 0 deps/{glfw_unix => glfw}/src/nsgl_context.h | 0 deps/{glfw_unix => glfw}/src/nsgl_context.m | 0 deps/{glfw_unix => glfw}/src/null_init.c | 0 deps/{glfw_unix => glfw}/src/null_joystick.c | 0 deps/{glfw_unix => glfw}/src/null_joystick.h | 0 deps/{glfw_unix => glfw}/src/null_monitor.c | 0 deps/{glfw_unix => glfw}/src/null_platform.h | 0 deps/{glfw_unix => glfw}/src/null_window.c | 0 deps/{glfw_unix => glfw}/src/osmesa_context.c | 0 deps/{glfw_unix => glfw}/src/osmesa_context.h | 0 deps/{glfw_unix => glfw}/src/posix_thread.c | 0 deps/{glfw_unix => glfw}/src/posix_thread.h | 0 deps/{glfw_unix => glfw}/src/posix_time.c | 0 deps/{glfw_unix => glfw}/src/posix_time.h | 0 deps/{glfw_unix => glfw}/src/vulkan.c | 0 deps/{glfw_unix => glfw}/src/wgl_context.c | 0 deps/{glfw_unix => glfw}/src/wgl_context.h | 0 deps/{glfw_unix => glfw}/src/win32_init.c | 0 deps/{glfw_unix => glfw}/src/win32_joystick.c | 0 deps/{glfw_unix => glfw}/src/win32_joystick.h | 0 deps/{glfw_unix => glfw}/src/win32_monitor.c | 0 deps/{glfw_unix => glfw}/src/win32_platform.h | 0 deps/{glfw_unix => glfw}/src/win32_thread.c | 0 deps/{glfw_unix => glfw}/src/win32_time.c | 0 deps/{glfw_unix => glfw}/src/win32_window.c | 0 deps/{glfw_unix => glfw}/src/window.c | 0 deps/{glfw_unix => glfw}/src/wl_init.c | 0 deps/{glfw_unix => glfw}/src/wl_monitor.c | 0 deps/{glfw_unix => glfw}/src/wl_platform.h | 0 deps/{glfw_unix => glfw}/src/wl_window.c | 0 deps/{glfw_unix => glfw}/src/x11_init.c | 0 deps/{glfw_unix => glfw}/src/x11_monitor.c | 0 deps/{glfw_unix => glfw}/src/x11_platform.h | 0 deps/{glfw_unix => glfw}/src/x11_window.c | 0 deps/{glfw_unix => glfw}/src/xkb_unicode.c | 0 deps/{glfw_unix => glfw}/src/xkb_unicode.h | 0 deps/{glfw_unix => glfw}/tests/CMakeLists.txt | 0 deps/{glfw_unix => glfw}/tests/clipboard.c | 0 deps/{glfw_unix => glfw}/tests/cursor.c | 0 deps/{glfw_unix => glfw}/tests/empty.c | 0 deps/{glfw_unix => glfw}/tests/events.c | 0 deps/{glfw_unix => glfw}/tests/gamma.c | 0 deps/{glfw_unix => glfw}/tests/glfwinfo.c | 0 deps/{glfw_unix => glfw}/tests/icon.c | 0 deps/{glfw_unix => glfw}/tests/iconify.c | 0 deps/{glfw_unix => glfw}/tests/inputlag.c | 0 deps/{glfw_unix => glfw}/tests/joysticks.c | 0 deps/{glfw_unix => glfw}/tests/monitors.c | 0 deps/{glfw_unix => glfw}/tests/msaa.c | 0 deps/{glfw_unix => glfw}/tests/opacity.c | 0 deps/{glfw_unix => glfw}/tests/reopen.c | 0 deps/{glfw_unix => glfw}/tests/tearing.c | 0 deps/{glfw_unix => glfw}/tests/threads.c | 0 deps/{glfw_unix => glfw}/tests/timeout.c | 0 deps/{glfw_unix => glfw}/tests/title.c | 0 .../tests/triangle-vulkan.c | 0 deps/{glfw_unix => glfw}/tests/windows.c | 0 deps/{glfw_unix => glfw}/tpr_readme.txt | 0 deps/glfw_win/LICENSE.md | 22 - deps/glfw_win/include/GLFW/glfw3.h | 5637 ----------------- deps/glfw_win/include/GLFW/glfw3native.h | 525 -- deps/glfw_win/lib-vc2017/glfw3.dll | Bin 225792 -> 0 bytes deps/glfw_win/lib-vc2017/glfw3.lib | Bin 646206 -> 0 bytes deps/glfw_win/lib-vc2017/glfw3dll.lib | Bin 30306 -> 0 bytes deps/glfw_win/lib-vc2019/glfw3.dll | Bin 225792 -> 0 bytes deps/glfw_win/lib-vc2019/glfw3.lib | Bin 646460 -> 0 bytes deps/glfw_win/lib-vc2019/glfw3dll.lib | Bin 30306 -> 0 bytes 162 files changed, 1 insertion(+), 6185 deletions(-) rename deps/{glfw_unix => glfw}/CMake/GenerateMappings.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/MacOSXBundleInfo.plist.in (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/i686-w64-mingw32-clang.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/i686-w64-mingw32.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/modules/FindEpollShim.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/modules/FindOSMesa.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/modules/FindWaylandProtocols.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/modules/FindXKBCommon.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/x86_64-w64-mingw32-clang.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMake/x86_64-w64-mingw32.cmake (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/CMakeLists.txt (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/LICENSE.md (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/README.md (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/cmake_uninstall.cmake.in (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/getopt.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/getopt.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/glad/gl.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/glad/khrplatform.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/glad/vk_platform.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/glad/vulkan.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/glad_gl.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/glad_vulkan.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/linmath.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/mingw/_mingw_dxhelper.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/mingw/dinput.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/mingw/xinput.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/nuklear.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/nuklear_glfw_gl2.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/stb_image_write.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/tinycthread.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/tinycthread.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/deps/vs2008/stdint.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/CMakeLists.txt (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/CONTRIBUTING.md (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/Doxyfile.in (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/DoxygenLayout.xml (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/build.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/compat.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/compile.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/context.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/extra.css (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/extra.less (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/footer.html (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/header.html (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/input.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/internal.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/intro.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/main.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/monitor.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/moving.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/news.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/quick.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/spaces.svg (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/vulkan.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/docs/window.dox (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/CMakeLists.txt (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/boing.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/gears.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/glfw.icns (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/glfw.ico (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/glfw.rc (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/heightmap.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/offscreen.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/particles.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/sharing.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/simple.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/splitview.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/examples/wave.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/include/GLFW/glfw3.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/include/GLFW/glfw3native.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/CMakeLists.txt (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/cocoa_init.m (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/cocoa_joystick.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/cocoa_joystick.m (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/cocoa_monitor.m (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/cocoa_platform.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/cocoa_time.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/cocoa_window.m (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/context.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/egl_context.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/egl_context.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/glfw3.pc.in (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/glfw3Config.cmake.in (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/glfw_config.h.in (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/glx_context.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/glx_context.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/init.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/input.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/internal.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/linux_joystick.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/linux_joystick.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/mappings.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/mappings.h.in (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/monitor.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/nsgl_context.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/nsgl_context.m (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/null_init.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/null_joystick.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/null_joystick.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/null_monitor.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/null_platform.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/null_window.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/osmesa_context.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/osmesa_context.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/posix_thread.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/posix_thread.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/posix_time.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/posix_time.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/vulkan.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/wgl_context.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/wgl_context.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/win32_init.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/win32_joystick.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/win32_joystick.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/win32_monitor.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/win32_platform.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/win32_thread.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/win32_time.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/win32_window.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/window.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/wl_init.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/wl_monitor.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/wl_platform.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/wl_window.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/x11_init.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/x11_monitor.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/x11_platform.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/x11_window.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/xkb_unicode.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/src/xkb_unicode.h (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/CMakeLists.txt (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/clipboard.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/cursor.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/empty.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/events.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/gamma.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/glfwinfo.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/icon.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/iconify.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/inputlag.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/joysticks.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/monitors.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/msaa.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/opacity.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/reopen.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/tearing.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/threads.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/timeout.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/title.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/triangle-vulkan.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tests/windows.c (100%) mode change 100755 => 100644 rename deps/{glfw_unix => glfw}/tpr_readme.txt (100%) delete mode 100755 deps/glfw_win/LICENSE.md delete mode 100755 deps/glfw_win/include/GLFW/glfw3.h delete mode 100755 deps/glfw_win/include/GLFW/glfw3native.h delete mode 100755 deps/glfw_win/lib-vc2017/glfw3.dll delete mode 100755 deps/glfw_win/lib-vc2017/glfw3.lib delete mode 100755 deps/glfw_win/lib-vc2017/glfw3dll.lib delete mode 100755 deps/glfw_win/lib-vc2019/glfw3.dll delete mode 100755 deps/glfw_win/lib-vc2019/glfw3.lib delete mode 100755 deps/glfw_win/lib-vc2019/glfw3dll.lib diff --git a/CMakeLists.txt b/CMakeLists.txt index 21af077d..ebf9f935 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -249,7 +249,7 @@ endif () set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) -add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR}/deps/glfw_unix EXCLUDE_FROM_ALL) +add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR}/deps/glfw EXCLUDE_FROM_ALL) if( UNIX ) add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR}/deps/tprInUnix) diff --git a/deps/glfw_unix/CMake/GenerateMappings.cmake b/deps/glfw/CMake/GenerateMappings.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/GenerateMappings.cmake rename to deps/glfw/CMake/GenerateMappings.cmake diff --git a/deps/glfw_unix/CMake/MacOSXBundleInfo.plist.in b/deps/glfw/CMake/MacOSXBundleInfo.plist.in old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/MacOSXBundleInfo.plist.in rename to deps/glfw/CMake/MacOSXBundleInfo.plist.in diff --git a/deps/glfw_unix/CMake/i686-w64-mingw32-clang.cmake b/deps/glfw/CMake/i686-w64-mingw32-clang.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/i686-w64-mingw32-clang.cmake rename to deps/glfw/CMake/i686-w64-mingw32-clang.cmake diff --git a/deps/glfw_unix/CMake/i686-w64-mingw32.cmake b/deps/glfw/CMake/i686-w64-mingw32.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/i686-w64-mingw32.cmake rename to deps/glfw/CMake/i686-w64-mingw32.cmake diff --git a/deps/glfw_unix/CMake/modules/FindEpollShim.cmake b/deps/glfw/CMake/modules/FindEpollShim.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/modules/FindEpollShim.cmake rename to deps/glfw/CMake/modules/FindEpollShim.cmake diff --git a/deps/glfw_unix/CMake/modules/FindOSMesa.cmake b/deps/glfw/CMake/modules/FindOSMesa.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/modules/FindOSMesa.cmake rename to deps/glfw/CMake/modules/FindOSMesa.cmake diff --git a/deps/glfw_unix/CMake/modules/FindWaylandProtocols.cmake b/deps/glfw/CMake/modules/FindWaylandProtocols.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/modules/FindWaylandProtocols.cmake rename to deps/glfw/CMake/modules/FindWaylandProtocols.cmake diff --git a/deps/glfw_unix/CMake/modules/FindXKBCommon.cmake b/deps/glfw/CMake/modules/FindXKBCommon.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/modules/FindXKBCommon.cmake rename to deps/glfw/CMake/modules/FindXKBCommon.cmake diff --git a/deps/glfw_unix/CMake/x86_64-w64-mingw32-clang.cmake b/deps/glfw/CMake/x86_64-w64-mingw32-clang.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/x86_64-w64-mingw32-clang.cmake rename to deps/glfw/CMake/x86_64-w64-mingw32-clang.cmake diff --git a/deps/glfw_unix/CMake/x86_64-w64-mingw32.cmake b/deps/glfw/CMake/x86_64-w64-mingw32.cmake old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMake/x86_64-w64-mingw32.cmake rename to deps/glfw/CMake/x86_64-w64-mingw32.cmake diff --git a/deps/glfw_unix/CMakeLists.txt b/deps/glfw/CMakeLists.txt old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/CMakeLists.txt rename to deps/glfw/CMakeLists.txt diff --git a/deps/glfw_unix/LICENSE.md b/deps/glfw/LICENSE.md old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/LICENSE.md rename to deps/glfw/LICENSE.md diff --git a/deps/glfw_unix/README.md b/deps/glfw/README.md old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/README.md rename to deps/glfw/README.md diff --git a/deps/glfw_unix/cmake_uninstall.cmake.in b/deps/glfw/cmake_uninstall.cmake.in old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/cmake_uninstall.cmake.in rename to deps/glfw/cmake_uninstall.cmake.in diff --git a/deps/glfw_unix/deps/getopt.c b/deps/glfw/deps/getopt.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/getopt.c rename to deps/glfw/deps/getopt.c diff --git a/deps/glfw_unix/deps/getopt.h b/deps/glfw/deps/getopt.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/getopt.h rename to deps/glfw/deps/getopt.h diff --git a/deps/glfw_unix/deps/glad/gl.h b/deps/glfw/deps/glad/gl.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/glad/gl.h rename to deps/glfw/deps/glad/gl.h diff --git a/deps/glfw_unix/deps/glad/khrplatform.h b/deps/glfw/deps/glad/khrplatform.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/glad/khrplatform.h rename to deps/glfw/deps/glad/khrplatform.h diff --git a/deps/glfw_unix/deps/glad/vk_platform.h b/deps/glfw/deps/glad/vk_platform.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/glad/vk_platform.h rename to deps/glfw/deps/glad/vk_platform.h diff --git a/deps/glfw_unix/deps/glad/vulkan.h b/deps/glfw/deps/glad/vulkan.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/glad/vulkan.h rename to deps/glfw/deps/glad/vulkan.h diff --git a/deps/glfw_unix/deps/glad_gl.c b/deps/glfw/deps/glad_gl.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/glad_gl.c rename to deps/glfw/deps/glad_gl.c diff --git a/deps/glfw_unix/deps/glad_vulkan.c b/deps/glfw/deps/glad_vulkan.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/glad_vulkan.c rename to deps/glfw/deps/glad_vulkan.c diff --git a/deps/glfw_unix/deps/linmath.h b/deps/glfw/deps/linmath.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/linmath.h rename to deps/glfw/deps/linmath.h diff --git a/deps/glfw_unix/deps/mingw/_mingw_dxhelper.h b/deps/glfw/deps/mingw/_mingw_dxhelper.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/mingw/_mingw_dxhelper.h rename to deps/glfw/deps/mingw/_mingw_dxhelper.h diff --git a/deps/glfw_unix/deps/mingw/dinput.h b/deps/glfw/deps/mingw/dinput.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/mingw/dinput.h rename to deps/glfw/deps/mingw/dinput.h diff --git a/deps/glfw_unix/deps/mingw/xinput.h b/deps/glfw/deps/mingw/xinput.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/mingw/xinput.h rename to deps/glfw/deps/mingw/xinput.h diff --git a/deps/glfw_unix/deps/nuklear.h b/deps/glfw/deps/nuklear.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/nuklear.h rename to deps/glfw/deps/nuklear.h diff --git a/deps/glfw_unix/deps/nuklear_glfw_gl2.h b/deps/glfw/deps/nuklear_glfw_gl2.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/nuklear_glfw_gl2.h rename to deps/glfw/deps/nuklear_glfw_gl2.h diff --git a/deps/glfw_unix/deps/stb_image_write.h b/deps/glfw/deps/stb_image_write.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/stb_image_write.h rename to deps/glfw/deps/stb_image_write.h diff --git a/deps/glfw_unix/deps/tinycthread.c b/deps/glfw/deps/tinycthread.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/tinycthread.c rename to deps/glfw/deps/tinycthread.c diff --git a/deps/glfw_unix/deps/tinycthread.h b/deps/glfw/deps/tinycthread.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/tinycthread.h rename to deps/glfw/deps/tinycthread.h diff --git a/deps/glfw_unix/deps/vs2008/stdint.h b/deps/glfw/deps/vs2008/stdint.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/deps/vs2008/stdint.h rename to deps/glfw/deps/vs2008/stdint.h diff --git a/deps/glfw_unix/docs/CMakeLists.txt b/deps/glfw/docs/CMakeLists.txt old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/CMakeLists.txt rename to deps/glfw/docs/CMakeLists.txt diff --git a/deps/glfw_unix/docs/CONTRIBUTING.md b/deps/glfw/docs/CONTRIBUTING.md old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/CONTRIBUTING.md rename to deps/glfw/docs/CONTRIBUTING.md diff --git a/deps/glfw_unix/docs/Doxyfile.in b/deps/glfw/docs/Doxyfile.in old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/Doxyfile.in rename to deps/glfw/docs/Doxyfile.in diff --git a/deps/glfw_unix/docs/DoxygenLayout.xml b/deps/glfw/docs/DoxygenLayout.xml old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/DoxygenLayout.xml rename to deps/glfw/docs/DoxygenLayout.xml diff --git a/deps/glfw_unix/docs/build.dox b/deps/glfw/docs/build.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/build.dox rename to deps/glfw/docs/build.dox diff --git a/deps/glfw_unix/docs/compat.dox b/deps/glfw/docs/compat.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/compat.dox rename to deps/glfw/docs/compat.dox diff --git a/deps/glfw_unix/docs/compile.dox b/deps/glfw/docs/compile.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/compile.dox rename to deps/glfw/docs/compile.dox diff --git a/deps/glfw_unix/docs/context.dox b/deps/glfw/docs/context.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/context.dox rename to deps/glfw/docs/context.dox diff --git a/deps/glfw_unix/docs/extra.css b/deps/glfw/docs/extra.css old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/extra.css rename to deps/glfw/docs/extra.css diff --git a/deps/glfw_unix/docs/extra.less b/deps/glfw/docs/extra.less old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/extra.less rename to deps/glfw/docs/extra.less diff --git a/deps/glfw_unix/docs/footer.html b/deps/glfw/docs/footer.html old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/footer.html rename to deps/glfw/docs/footer.html diff --git a/deps/glfw_unix/docs/header.html b/deps/glfw/docs/header.html old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/header.html rename to deps/glfw/docs/header.html diff --git a/deps/glfw_unix/docs/input.dox b/deps/glfw/docs/input.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/input.dox rename to deps/glfw/docs/input.dox diff --git a/deps/glfw_unix/docs/internal.dox b/deps/glfw/docs/internal.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/internal.dox rename to deps/glfw/docs/internal.dox diff --git a/deps/glfw_unix/docs/intro.dox b/deps/glfw/docs/intro.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/intro.dox rename to deps/glfw/docs/intro.dox diff --git a/deps/glfw_unix/docs/main.dox b/deps/glfw/docs/main.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/main.dox rename to deps/glfw/docs/main.dox diff --git a/deps/glfw_unix/docs/monitor.dox b/deps/glfw/docs/monitor.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/monitor.dox rename to deps/glfw/docs/monitor.dox diff --git a/deps/glfw_unix/docs/moving.dox b/deps/glfw/docs/moving.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/moving.dox rename to deps/glfw/docs/moving.dox diff --git a/deps/glfw_unix/docs/news.dox b/deps/glfw/docs/news.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/news.dox rename to deps/glfw/docs/news.dox diff --git a/deps/glfw_unix/docs/quick.dox b/deps/glfw/docs/quick.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/quick.dox rename to deps/glfw/docs/quick.dox diff --git a/deps/glfw_unix/docs/spaces.svg b/deps/glfw/docs/spaces.svg old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/spaces.svg rename to deps/glfw/docs/spaces.svg diff --git a/deps/glfw_unix/docs/vulkan.dox b/deps/glfw/docs/vulkan.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/vulkan.dox rename to deps/glfw/docs/vulkan.dox diff --git a/deps/glfw_unix/docs/window.dox b/deps/glfw/docs/window.dox old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/docs/window.dox rename to deps/glfw/docs/window.dox diff --git a/deps/glfw_unix/examples/CMakeLists.txt b/deps/glfw/examples/CMakeLists.txt old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/CMakeLists.txt rename to deps/glfw/examples/CMakeLists.txt diff --git a/deps/glfw_unix/examples/boing.c b/deps/glfw/examples/boing.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/boing.c rename to deps/glfw/examples/boing.c diff --git a/deps/glfw_unix/examples/gears.c b/deps/glfw/examples/gears.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/gears.c rename to deps/glfw/examples/gears.c diff --git a/deps/glfw_unix/examples/glfw.icns b/deps/glfw/examples/glfw.icns old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/glfw.icns rename to deps/glfw/examples/glfw.icns diff --git a/deps/glfw_unix/examples/glfw.ico b/deps/glfw/examples/glfw.ico old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/glfw.ico rename to deps/glfw/examples/glfw.ico diff --git a/deps/glfw_unix/examples/glfw.rc b/deps/glfw/examples/glfw.rc old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/glfw.rc rename to deps/glfw/examples/glfw.rc diff --git a/deps/glfw_unix/examples/heightmap.c b/deps/glfw/examples/heightmap.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/heightmap.c rename to deps/glfw/examples/heightmap.c diff --git a/deps/glfw_unix/examples/offscreen.c b/deps/glfw/examples/offscreen.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/offscreen.c rename to deps/glfw/examples/offscreen.c diff --git a/deps/glfw_unix/examples/particles.c b/deps/glfw/examples/particles.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/particles.c rename to deps/glfw/examples/particles.c diff --git a/deps/glfw_unix/examples/sharing.c b/deps/glfw/examples/sharing.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/sharing.c rename to deps/glfw/examples/sharing.c diff --git a/deps/glfw_unix/examples/simple.c b/deps/glfw/examples/simple.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/simple.c rename to deps/glfw/examples/simple.c diff --git a/deps/glfw_unix/examples/splitview.c b/deps/glfw/examples/splitview.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/splitview.c rename to deps/glfw/examples/splitview.c diff --git a/deps/glfw_unix/examples/wave.c b/deps/glfw/examples/wave.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/examples/wave.c rename to deps/glfw/examples/wave.c diff --git a/deps/glfw_unix/include/GLFW/glfw3.h b/deps/glfw/include/GLFW/glfw3.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/include/GLFW/glfw3.h rename to deps/glfw/include/GLFW/glfw3.h diff --git a/deps/glfw_unix/include/GLFW/glfw3native.h b/deps/glfw/include/GLFW/glfw3native.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/include/GLFW/glfw3native.h rename to deps/glfw/include/GLFW/glfw3native.h diff --git a/deps/glfw_unix/src/CMakeLists.txt b/deps/glfw/src/CMakeLists.txt old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/CMakeLists.txt rename to deps/glfw/src/CMakeLists.txt diff --git a/deps/glfw_unix/src/cocoa_init.m b/deps/glfw/src/cocoa_init.m old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/cocoa_init.m rename to deps/glfw/src/cocoa_init.m diff --git a/deps/glfw_unix/src/cocoa_joystick.h b/deps/glfw/src/cocoa_joystick.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/cocoa_joystick.h rename to deps/glfw/src/cocoa_joystick.h diff --git a/deps/glfw_unix/src/cocoa_joystick.m b/deps/glfw/src/cocoa_joystick.m old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/cocoa_joystick.m rename to deps/glfw/src/cocoa_joystick.m diff --git a/deps/glfw_unix/src/cocoa_monitor.m b/deps/glfw/src/cocoa_monitor.m old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/cocoa_monitor.m rename to deps/glfw/src/cocoa_monitor.m diff --git a/deps/glfw_unix/src/cocoa_platform.h b/deps/glfw/src/cocoa_platform.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/cocoa_platform.h rename to deps/glfw/src/cocoa_platform.h diff --git a/deps/glfw_unix/src/cocoa_time.c b/deps/glfw/src/cocoa_time.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/cocoa_time.c rename to deps/glfw/src/cocoa_time.c diff --git a/deps/glfw_unix/src/cocoa_window.m b/deps/glfw/src/cocoa_window.m old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/cocoa_window.m rename to deps/glfw/src/cocoa_window.m diff --git a/deps/glfw_unix/src/context.c b/deps/glfw/src/context.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/context.c rename to deps/glfw/src/context.c diff --git a/deps/glfw_unix/src/egl_context.c b/deps/glfw/src/egl_context.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/egl_context.c rename to deps/glfw/src/egl_context.c diff --git a/deps/glfw_unix/src/egl_context.h b/deps/glfw/src/egl_context.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/egl_context.h rename to deps/glfw/src/egl_context.h diff --git a/deps/glfw_unix/src/glfw3.pc.in b/deps/glfw/src/glfw3.pc.in old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/glfw3.pc.in rename to deps/glfw/src/glfw3.pc.in diff --git a/deps/glfw_unix/src/glfw3Config.cmake.in b/deps/glfw/src/glfw3Config.cmake.in old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/glfw3Config.cmake.in rename to deps/glfw/src/glfw3Config.cmake.in diff --git a/deps/glfw_unix/src/glfw_config.h.in b/deps/glfw/src/glfw_config.h.in old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/glfw_config.h.in rename to deps/glfw/src/glfw_config.h.in diff --git a/deps/glfw_unix/src/glx_context.c b/deps/glfw/src/glx_context.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/glx_context.c rename to deps/glfw/src/glx_context.c diff --git a/deps/glfw_unix/src/glx_context.h b/deps/glfw/src/glx_context.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/glx_context.h rename to deps/glfw/src/glx_context.h diff --git a/deps/glfw_unix/src/init.c b/deps/glfw/src/init.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/init.c rename to deps/glfw/src/init.c diff --git a/deps/glfw_unix/src/input.c b/deps/glfw/src/input.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/input.c rename to deps/glfw/src/input.c diff --git a/deps/glfw_unix/src/internal.h b/deps/glfw/src/internal.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/internal.h rename to deps/glfw/src/internal.h diff --git a/deps/glfw_unix/src/linux_joystick.c b/deps/glfw/src/linux_joystick.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/linux_joystick.c rename to deps/glfw/src/linux_joystick.c diff --git a/deps/glfw_unix/src/linux_joystick.h b/deps/glfw/src/linux_joystick.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/linux_joystick.h rename to deps/glfw/src/linux_joystick.h diff --git a/deps/glfw_unix/src/mappings.h b/deps/glfw/src/mappings.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/mappings.h rename to deps/glfw/src/mappings.h diff --git a/deps/glfw_unix/src/mappings.h.in b/deps/glfw/src/mappings.h.in old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/mappings.h.in rename to deps/glfw/src/mappings.h.in diff --git a/deps/glfw_unix/src/monitor.c b/deps/glfw/src/monitor.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/monitor.c rename to deps/glfw/src/monitor.c diff --git a/deps/glfw_unix/src/nsgl_context.h b/deps/glfw/src/nsgl_context.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/nsgl_context.h rename to deps/glfw/src/nsgl_context.h diff --git a/deps/glfw_unix/src/nsgl_context.m b/deps/glfw/src/nsgl_context.m old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/nsgl_context.m rename to deps/glfw/src/nsgl_context.m diff --git a/deps/glfw_unix/src/null_init.c b/deps/glfw/src/null_init.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/null_init.c rename to deps/glfw/src/null_init.c diff --git a/deps/glfw_unix/src/null_joystick.c b/deps/glfw/src/null_joystick.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/null_joystick.c rename to deps/glfw/src/null_joystick.c diff --git a/deps/glfw_unix/src/null_joystick.h b/deps/glfw/src/null_joystick.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/null_joystick.h rename to deps/glfw/src/null_joystick.h diff --git a/deps/glfw_unix/src/null_monitor.c b/deps/glfw/src/null_monitor.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/null_monitor.c rename to deps/glfw/src/null_monitor.c diff --git a/deps/glfw_unix/src/null_platform.h b/deps/glfw/src/null_platform.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/null_platform.h rename to deps/glfw/src/null_platform.h diff --git a/deps/glfw_unix/src/null_window.c b/deps/glfw/src/null_window.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/null_window.c rename to deps/glfw/src/null_window.c diff --git a/deps/glfw_unix/src/osmesa_context.c b/deps/glfw/src/osmesa_context.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/osmesa_context.c rename to deps/glfw/src/osmesa_context.c diff --git a/deps/glfw_unix/src/osmesa_context.h b/deps/glfw/src/osmesa_context.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/osmesa_context.h rename to deps/glfw/src/osmesa_context.h diff --git a/deps/glfw_unix/src/posix_thread.c b/deps/glfw/src/posix_thread.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/posix_thread.c rename to deps/glfw/src/posix_thread.c diff --git a/deps/glfw_unix/src/posix_thread.h b/deps/glfw/src/posix_thread.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/posix_thread.h rename to deps/glfw/src/posix_thread.h diff --git a/deps/glfw_unix/src/posix_time.c b/deps/glfw/src/posix_time.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/posix_time.c rename to deps/glfw/src/posix_time.c diff --git a/deps/glfw_unix/src/posix_time.h b/deps/glfw/src/posix_time.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/posix_time.h rename to deps/glfw/src/posix_time.h diff --git a/deps/glfw_unix/src/vulkan.c b/deps/glfw/src/vulkan.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/vulkan.c rename to deps/glfw/src/vulkan.c diff --git a/deps/glfw_unix/src/wgl_context.c b/deps/glfw/src/wgl_context.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/wgl_context.c rename to deps/glfw/src/wgl_context.c diff --git a/deps/glfw_unix/src/wgl_context.h b/deps/glfw/src/wgl_context.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/wgl_context.h rename to deps/glfw/src/wgl_context.h diff --git a/deps/glfw_unix/src/win32_init.c b/deps/glfw/src/win32_init.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/win32_init.c rename to deps/glfw/src/win32_init.c diff --git a/deps/glfw_unix/src/win32_joystick.c b/deps/glfw/src/win32_joystick.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/win32_joystick.c rename to deps/glfw/src/win32_joystick.c diff --git a/deps/glfw_unix/src/win32_joystick.h b/deps/glfw/src/win32_joystick.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/win32_joystick.h rename to deps/glfw/src/win32_joystick.h diff --git a/deps/glfw_unix/src/win32_monitor.c b/deps/glfw/src/win32_monitor.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/win32_monitor.c rename to deps/glfw/src/win32_monitor.c diff --git a/deps/glfw_unix/src/win32_platform.h b/deps/glfw/src/win32_platform.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/win32_platform.h rename to deps/glfw/src/win32_platform.h diff --git a/deps/glfw_unix/src/win32_thread.c b/deps/glfw/src/win32_thread.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/win32_thread.c rename to deps/glfw/src/win32_thread.c diff --git a/deps/glfw_unix/src/win32_time.c b/deps/glfw/src/win32_time.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/win32_time.c rename to deps/glfw/src/win32_time.c diff --git a/deps/glfw_unix/src/win32_window.c b/deps/glfw/src/win32_window.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/win32_window.c rename to deps/glfw/src/win32_window.c diff --git a/deps/glfw_unix/src/window.c b/deps/glfw/src/window.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/window.c rename to deps/glfw/src/window.c diff --git a/deps/glfw_unix/src/wl_init.c b/deps/glfw/src/wl_init.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/wl_init.c rename to deps/glfw/src/wl_init.c diff --git a/deps/glfw_unix/src/wl_monitor.c b/deps/glfw/src/wl_monitor.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/wl_monitor.c rename to deps/glfw/src/wl_monitor.c diff --git a/deps/glfw_unix/src/wl_platform.h b/deps/glfw/src/wl_platform.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/wl_platform.h rename to deps/glfw/src/wl_platform.h diff --git a/deps/glfw_unix/src/wl_window.c b/deps/glfw/src/wl_window.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/wl_window.c rename to deps/glfw/src/wl_window.c diff --git a/deps/glfw_unix/src/x11_init.c b/deps/glfw/src/x11_init.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/x11_init.c rename to deps/glfw/src/x11_init.c diff --git a/deps/glfw_unix/src/x11_monitor.c b/deps/glfw/src/x11_monitor.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/x11_monitor.c rename to deps/glfw/src/x11_monitor.c diff --git a/deps/glfw_unix/src/x11_platform.h b/deps/glfw/src/x11_platform.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/x11_platform.h rename to deps/glfw/src/x11_platform.h diff --git a/deps/glfw_unix/src/x11_window.c b/deps/glfw/src/x11_window.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/x11_window.c rename to deps/glfw/src/x11_window.c diff --git a/deps/glfw_unix/src/xkb_unicode.c b/deps/glfw/src/xkb_unicode.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/xkb_unicode.c rename to deps/glfw/src/xkb_unicode.c diff --git a/deps/glfw_unix/src/xkb_unicode.h b/deps/glfw/src/xkb_unicode.h old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/src/xkb_unicode.h rename to deps/glfw/src/xkb_unicode.h diff --git a/deps/glfw_unix/tests/CMakeLists.txt b/deps/glfw/tests/CMakeLists.txt old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/CMakeLists.txt rename to deps/glfw/tests/CMakeLists.txt diff --git a/deps/glfw_unix/tests/clipboard.c b/deps/glfw/tests/clipboard.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/clipboard.c rename to deps/glfw/tests/clipboard.c diff --git a/deps/glfw_unix/tests/cursor.c b/deps/glfw/tests/cursor.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/cursor.c rename to deps/glfw/tests/cursor.c diff --git a/deps/glfw_unix/tests/empty.c b/deps/glfw/tests/empty.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/empty.c rename to deps/glfw/tests/empty.c diff --git a/deps/glfw_unix/tests/events.c b/deps/glfw/tests/events.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/events.c rename to deps/glfw/tests/events.c diff --git a/deps/glfw_unix/tests/gamma.c b/deps/glfw/tests/gamma.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/gamma.c rename to deps/glfw/tests/gamma.c diff --git a/deps/glfw_unix/tests/glfwinfo.c b/deps/glfw/tests/glfwinfo.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/glfwinfo.c rename to deps/glfw/tests/glfwinfo.c diff --git a/deps/glfw_unix/tests/icon.c b/deps/glfw/tests/icon.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/icon.c rename to deps/glfw/tests/icon.c diff --git a/deps/glfw_unix/tests/iconify.c b/deps/glfw/tests/iconify.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/iconify.c rename to deps/glfw/tests/iconify.c diff --git a/deps/glfw_unix/tests/inputlag.c b/deps/glfw/tests/inputlag.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/inputlag.c rename to deps/glfw/tests/inputlag.c diff --git a/deps/glfw_unix/tests/joysticks.c b/deps/glfw/tests/joysticks.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/joysticks.c rename to deps/glfw/tests/joysticks.c diff --git a/deps/glfw_unix/tests/monitors.c b/deps/glfw/tests/monitors.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/monitors.c rename to deps/glfw/tests/monitors.c diff --git a/deps/glfw_unix/tests/msaa.c b/deps/glfw/tests/msaa.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/msaa.c rename to deps/glfw/tests/msaa.c diff --git a/deps/glfw_unix/tests/opacity.c b/deps/glfw/tests/opacity.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/opacity.c rename to deps/glfw/tests/opacity.c diff --git a/deps/glfw_unix/tests/reopen.c b/deps/glfw/tests/reopen.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/reopen.c rename to deps/glfw/tests/reopen.c diff --git a/deps/glfw_unix/tests/tearing.c b/deps/glfw/tests/tearing.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/tearing.c rename to deps/glfw/tests/tearing.c diff --git a/deps/glfw_unix/tests/threads.c b/deps/glfw/tests/threads.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/threads.c rename to deps/glfw/tests/threads.c diff --git a/deps/glfw_unix/tests/timeout.c b/deps/glfw/tests/timeout.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/timeout.c rename to deps/glfw/tests/timeout.c diff --git a/deps/glfw_unix/tests/title.c b/deps/glfw/tests/title.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/title.c rename to deps/glfw/tests/title.c diff --git a/deps/glfw_unix/tests/triangle-vulkan.c b/deps/glfw/tests/triangle-vulkan.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/triangle-vulkan.c rename to deps/glfw/tests/triangle-vulkan.c diff --git a/deps/glfw_unix/tests/windows.c b/deps/glfw/tests/windows.c old mode 100755 new mode 100644 similarity index 100% rename from deps/glfw_unix/tests/windows.c rename to deps/glfw/tests/windows.c diff --git a/deps/glfw_unix/tpr_readme.txt b/deps/glfw/tpr_readme.txt similarity index 100% rename from deps/glfw_unix/tpr_readme.txt rename to deps/glfw/tpr_readme.txt diff --git a/deps/glfw_win/LICENSE.md b/deps/glfw_win/LICENSE.md deleted file mode 100755 index acdac20b..00000000 --- a/deps/glfw_win/LICENSE.md +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2016 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. - diff --git a/deps/glfw_win/include/GLFW/glfw3.h b/deps/glfw_win/include/GLFW/glfw3.h deleted file mode 100755 index 0521d198..00000000 --- a/deps/glfw_win/include/GLFW/glfw3.h +++ /dev/null @@ -1,5637 +0,0 @@ -/************************************************************************* - * GLFW 3.3 - 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 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 */ - -/* It is customary to use APIENTRY for OpenGL function pointer declarations on - * all platforms. Additionally, the Windows OpenGL header needs APIENTRY. - */ -#ifndef APIENTRY - #ifdef _WIN32 - #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 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 - -/* 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 - - #endif /*__APPLE__*/ - -#elif !defined(GLFW_INCLUDE_NONE) - - #if defined(__APPLE__) - - #if !defined(GLFW_INCLUDE_GLEXT) - #define GL_GLEXT_LEGACY - #endif - #include - #if defined(GLFW_INCLUDE_GLU) - #include - #endif - - #else /*__APPLE__*/ - - #include - #if defined(GLFW_INCLUDE_GLEXT) - #include - #endif - #if defined(GLFW_INCLUDE_GLU) - #include - #endif - - #endif /*__APPLE__*/ - -#endif /* OpenGL and OpenGL ES headers */ - -#if defined(GLFW_INCLUDE_VULKAN) - #include -#endif /* Vulkan header */ - -#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 GLFW as a Win32 DLL */ - #define GLFWAPI __declspec(dllimport) -#elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL) - /* We are building GLFW as a shared / dynamic library */ - #define GLFWAPI __attribute__((visibility("default"))) -#else - /* We are building or calling GLFW as a static library */ - #define GLFWAPI -#endif - - -/************************************************************************* - * GLFW API tokens - *************************************************************************/ - -/*! @name GLFW version macros - * @{ */ -/*! @brief The major version number of the GLFW library. - * - * 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 library. - * - * This is incremented when features are added to the API but it remains - * backward-compatible. - * @ingroup init - */ -#define GLFW_VERSION_MINOR 3 -/*! @brief The revision number of the GLFW library. - * - * 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) -/*! @} */ - -/*! @defgroup keys Keyboard keys - * @brief Keyboard key IDs. - * - * 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 alpha-numeric 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 - * @{ - */ - -/* The unknown key */ -#define GLFW_KEY_UNKNOWN -1 - -/* 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 backend. - * Below are a few examples. - * - * @par - * Some pre-installed Windows graphics drivers do not support OpenGL. AMD only - * supports OpenGL ES via EGL, while Nvidia and Intel only 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 -/*! @} */ - -/*! @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 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. - * - * Framebuffer double buffering [hint](@ref GLFW_DOUBLEBUFFER). - */ -#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_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_CONTEXT_VERSION_MAJOR 0x00022002 -/*! @brief Context client API minor version hint and attribute. - * - * Context client API minor version [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_CONTEXT_VERSION_MINOR 0x00022003 -/*! @brief Context client API revision number hint and attribute. - * - * Context client API revision number [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_CONTEXT_REVISION 0x00022004 -/*! @brief Context robustness hint and attribute. - * - * Context client API revision number [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_CONTEXT_ROBUSTNESS 0x00022005 -/*! @brief OpenGL forward-compatibility hint and attribute. - * - * OpenGL forward-compatibility [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_OPENGL_FORWARD_COMPAT 0x00022006 -/*! @brief OpenGL debug context hint and attribute. - * - * OpenGL debug context [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_OPENGL_DEBUG_CONTEXT 0x00022007 -/*! @brief OpenGL profile hint and attribute. - * - * OpenGL profile [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_OPENGL_PROFILE 0x00022008 -/*! @brief Context flush-on-release hint and attribute. - * - * Context flush-on-release [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009 -/*! @brief Context error suppression hint and attribute. - * - * Context error suppression [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_API_attrib). - */ -#define GLFW_CONTEXT_NO_ERROR 0x0002200A -/*! @brief Context creation API hint and attribute. - * - * Context creation API [hint](@ref GLFW_CLIENT_API_hint) and - * [attribute](@ref GLFW_CLIENT_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 macOS specific - * [window hint](@ref GLFW_COCOA_RETINA_FRAMEBUFFER_hint). - */ -#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_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_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 - -/*! @defgroup shapes Standard cursor shapes - * @brief Standard system cursor shapes. - * - * See [standard cursor creation](@ref cursor_standard) for how these are used. - * - * @ingroup input - * @{ */ - -/*! @brief The regular arrow cursor shape. - * - * The regular arrow cursor. - */ -#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 shape. - * - * The crosshair shape. - */ -#define GLFW_CROSSHAIR_CURSOR 0x00036003 -/*! @brief The hand shape. - * - * The hand shape. - */ -#define GLFW_HAND_CURSOR 0x00036004 -/*! @brief The horizontal resize arrow shape. - * - * The horizontal resize arrow shape. - */ -#define GLFW_HRESIZE_CURSOR 0x00036005 -/*! @brief The vertical resize arrow shape. - * - * The vertical resize arrow shape. - */ -#define GLFW_VRESIZE_CURSOR 0x00036006 -/*! @} */ - -#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 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 -/*! @} */ - -#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 signature for error callbacks. - * - * This is the function signature for error callback functions. - * - * @param[in] error An [error code](@ref errors). - * @param[in] description A UTF-8 encoded string describing the error. - * - * @sa @ref error_handling - * @sa @ref glfwSetErrorCallback - * - * @since Added in version 3.0. - * - * @ingroup init - */ -typedef void (* GLFWerrorfun)(int,const char*); - -/*! @brief The function signature for window position callbacks. - * - * This is the function signature for window position callback functions. - * - * @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*,int,int); - -/*! @brief The function signature for window resize callbacks. - * - * This is the function signature for window size callback functions. - * - * @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*,int,int); - -/*! @brief The function signature for window close callbacks. - * - * This is the function signature for window close callback functions. - * - * @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*); - -/*! @brief The function signature for window content refresh callbacks. - * - * This is the function signature for window refresh callback functions. - * - * @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*); - -/*! @brief The function signature for window focus/defocus callbacks. - * - * This is the function signature for window focus callback functions. - * - * @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*,int); - -/*! @brief The function signature for window iconify/restore callbacks. - * - * This is the function signature for window iconify/restore callback - * functions. - * - * @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*,int); - -/*! @brief The function signature for window maximize/restore callbacks. - * - * This is the function signature for window maximize/restore callback - * functions. - * - * @param[in] window The window that was maximized or restored. - * @param[in] iconified `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*,int); - -/*! @brief The function signature for framebuffer resize callbacks. - * - * This is the function signature for framebuffer resize callback - * functions. - * - * @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*,int,int); - -/*! @brief The function signature for window content scale callbacks. - * - * This is the function signature for window content scale callback - * functions. - * - * @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*,float,float); - -/*! @brief The function signature for mouse button callbacks. - * - * This is the function signature for mouse button callback functions. - * - * @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`. - * @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*,int,int,int); - -/*! @brief The function signature for cursor position callbacks. - * - * This is the function signature for cursor position callback functions. - * - * @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*,double,double); - -/*! @brief The function signature for cursor enter/leave callbacks. - * - * This is the function signature for cursor enter/leave callback functions. - * - * @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*,int); - -/*! @brief The function signature for scroll callbacks. - * - * This is the function signature for scroll callback functions. - * - * @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*,double,double); - -/*! @brief The function signature for keyboard key callbacks. - * - * This is the function signature for keyboard key callback functions. - * - * @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 system-specific scancode of the key. - * @param[in] action `GLFW_PRESS`, `GLFW_RELEASE` or `GLFW_REPEAT`. - * @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*,int,int,int,int); - -/*! @brief The function signature for Unicode character callbacks. - * - * This is the function signature for Unicode character callback functions. - * - * @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*,unsigned int); - -/*! @brief The function signature for Unicode character with modifiers - * callbacks. - * - * This is the function signature for Unicode character with modifiers callback - * functions. It is called for each input character, regardless of what - * modifier keys are held down. - * - * @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*,unsigned int,int); - -/*! @brief The function signature for file drop callbacks. - * - * This is the function signature for file drop callbacks. - * - * @param[in] window The window that received the event. - * @param[in] count The number of dropped files. - * @param[in] paths The UTF-8 encoded file and/or directory path names. - * - * @sa @ref path_drop - * @sa @ref glfwSetDropCallback - * - * @since Added in version 3.1. - * - * @ingroup input - */ -typedef void (* GLFWdropfun)(GLFWwindow*,int,const char**); - -/*! @brief The function signature for monitor configuration callbacks. - * - * This is the function signature for monitor configuration callback functions. - * - * @param[in] monitor The monitor that was connected or disconnected. - * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`. Remaining - * values reserved for future use. - * - * @sa @ref monitor_event - * @sa @ref glfwSetMonitorCallback - * - * @since Added in version 3.0. - * - * @ingroup monitor - */ -typedef void (* GLFWmonitorfun)(GLFWmonitor*,int); - -/*! @brief The function signature for joystick configuration callbacks. - * - * This is the function signature for joystick configuration callback - * functions. - * - * @param[in] jid The joystick that was connected or disconnected. - * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`. Remaining - * values reserved for future use. - * - * @sa @ref joystick_event - * @sa @ref glfwSetJoystickCallback - * - * @since Added in version 3.2. - * - * @ingroup input - */ -typedef void (* GLFWjoystickfun)(int,int); - -/*! @brief Video mode type. - * - * This describes a single video mode. - * - * @sa @ref monitor_modes - * @sa @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; - - -/************************************************************************* - * 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. - * - * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an - * [error](@ref error_handling) occurred. - * - * @errors Possible errors include @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. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref intro_init - * @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. - * - * @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 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, platform, compiler and any platform-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. - * - * @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set. - * - * @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 cbfun); - -/*! @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 Retrives 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 operating 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 systems do not provide accurate monitor size information, either - * because the monitor - * [EDID](https://en.wikipedia.org/wiki/Extended_display_identification_data) - * data is incorrect or because the driver does not report it accurately. - * - * 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 calculates the returned physical size 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. - * - * @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref monitor_event - * - * @since Added in version 3.0. - * - * @ingroup monitor - */ -GLFWAPI GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun cbfun); - -/*! @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) and then by resolution area (the - * product of width and height). - * - * @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 and @ref GLFW_PLATFORM_ERROR. - * - * @remark @wayland Gamma handling is a priviledged protocol, this function - * will thus never be implemented and emits @ref GLFW_PLATFORM_ERROR. - * - * @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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @remark @wayland Gamma handling is a priviledged protocol, this function - * will thus never be implemented and emits @ref GLFW_PLATFORM_ERROR 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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @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 priviledged protocol, this function - * will thus never be implemented and emits @ref GLFW_PLATFORM_ERROR. - * - * @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, make it - * initially invisible using the [GLFW_VISIBLE](@ref GLFW_VISIBLE_hint) window - * hint, set its [position](@ref window_pos) and then [show](@ref window_hide) - * it. - * - * 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 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 forward-compatible 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_FORWARD_COMPAT](@ref GLFW_OPENGL_FORWARD_COMPAT_hint) and - * [GLFW_OPENGL_PROFILE](@ref GLFW_OPENGL_PROFILE_hint) hints 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](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/) - * in the Mac Developer Library. - * - * @remark @macos The first time a window is created the menu bar is created. - * 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. Menu bar creation can be - * disabled entirely with the @ref GLFW_COCOA_MENUBAR init hint. - * - * @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_COCOA_RETINA_FRAMEBUFFER](@ref GLFW_COCOA_RETINA_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](https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html) - * in the Mac Developer Library. The GLFW test and example programs use - * a custom `Info.plist` template for this, which can be found as - * `CMake/MacOSXBundleInfo.plist.in` in the source tree. - * - * @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 overriden by previously saved values. - * - * @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. - * - * @remark @wayland Compositors should implement the xdg-decoration protocol - * for GLFW to decorate the window properly. If this protocol isn't - * supported, or if the compositor prefers client-side decorations, a very - * simple fallback frame will be drawn using the wp_viewporter protocol. A - * compositor can still emit close, maximize or fullscreen events, using for - * instance a keybind mechanism. If neither of these protocols is supported, - * the window won't be decorated. - * - * @remark @wayland A full screen window will not attempt to change the mode, - * no matter what the requested size or refresh rate. - * - * @remark @wayland Screensaver inhibition requires the idle-inhibit protocol - * to be implemented in the user's compositor. - * - * @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 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 - * - * @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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @pointer_lifetime The specified image data is copied before this function - * returns. - * - * @remark @macos The GLFW window has no icon, as it is not a document - * window, so this function does nothing. The dock icon will be the same as - * the application bundle's icon. For more information on bundles, see the - * [Bundle Programming Guide](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/) - * in the Mac Developer Library. - * - * @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 always emits @ref GLFW_PLATFORM_ERROR. - * - * @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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @remark @wayland There is no way for an application to retrieve the global - * position of its windows, this function will always emit @ref - * GLFW_PLATFORM_ERROR. - * - * @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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @remark @wayland There is no way for an application to set the global - * position of its windows, this function will always emit @ref - * GLFW_PLATFORM_ERROR. - * - * @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. - * - * @remark @wayland A full screen window will not attempt to change the mode, - * no matter what the requested size. - * - * @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 systems 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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @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, the original monitor - * resolution is restored until 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 There is no concept of iconification in wl_shell, this - * function will emit @ref GLFW_PLATFORM_ERROR when using this deprecated - * 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 a full screen window, the resolution chosen for - * the window is restored on the selected monitor. - * - * @param[in] window The window to restore. - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_PLATFORM_ERROR. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref window_iconify - * @sa @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. - * - * @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 It is not possible for an application to bring its windows - * to front, this function will always emit @ref GLFW_PLATFORM_ERROR. - * - * @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. - * - * @remark @wayland Setting the window to full screen will not attempt to - * change the mode, no matter what the requested size or refresh rate. - * - * @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). - * - * @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). - * - * 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 and @ref GLFW_PLATFORM_ERROR. - * - * @remark Calling @ref glfwGetWindowAttrib will always return the latest - * value, even if that value is ignored by the current mode of the window. - * - * @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @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 cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref window_size - * - * @since Added in version 1.0. - * @glfw3 Added window handle parameter and return value. - * - * @ingroup window - */ -GLFWAPI GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @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 cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref window_refresh - * - * @since Added in version 2.5. - * @glfw3 Added window handle parameter and return value. - * - * @ingroup window - */ -GLFWAPI GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow* window, GLFWwindowrefreshfun cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref window_focus - * - * @since Added in version 3.0. - * - * @ingroup window - */ -GLFWAPI GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwindowfocusfun cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @remark @wayland The wl_shell protocol has no concept of iconification, - * this callback will never be called when using this deprecated protocol. - * - * @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 cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref window_maximize - * - * @since Added in version 3.3. - * - * @ingroup window - */ -GLFWAPI GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow* window, GLFWwindowmaximizefun cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref window_fbsize - * - * @since Added in version 3.0. - * - * @ingroup window - */ -GLFWAPI GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow* window, GLFWframebuffersizefun cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref window_scale - * @sa @ref glfwGetWindowContentScale - * - * @since Added in version 3.3. - * - * @ingroup window - */ -GLFWAPI GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow* window, GLFWwindowcontentscalefun cbfun); - -/*! @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. - * - * 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_PLATFORM_ERROR. 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 and @ref GLFW_PLATFORM_ERROR. - * - * @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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @pointer_lifetime The returned string is allocated and freed by GLFW. You - * should not free it yourself. It is valid until the next call to @ref - * glfwGetKeyName, or until the library is terminated. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref input_key_name - * - * @since Added in version 3.2. - * - * @ingroup input - */ -GLFWAPI const char* glfwGetKeyName(int key, int scancode); - -/*! @brief Returns the platform-specific scancode of the specified key. - * - * This function returns the platform-specific scancode of the specified key. - * - * If the key is `GLFW_KEY_UNKNOWN` or does not exist on the keyboard this - * method will return `-1`. - * - * @param[in] key Any [named key](@ref keys). - * @return The platform-specific scancode for the key, or `-1` if an - * [error](@ref error_handling) occurred. - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref - * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. - * - * @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 higher-level 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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @remark @wayland This function will only work when the cursor mode is - * `GLFW_CURSOR_DISABLED`, otherwise it will do nothing. - * - * @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 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](@ref shapes), that can be set for - * a window with @ref glfwSetCursor. - * - * @param[in] shape One of the [standard shapes](@ref shapes). - * @return A new cursor ready to use or `NULL` if an - * [error](@ref error_handling) occurred. - * - * @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 cursor_object - * @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. 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] cbfun 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). - * - * @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 cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref input_char - * - * @since Added in version 2.4. - * @glfw3 Added window handle parameter and return value. - * - * @ingroup input - */ -GLFWAPI GLFWcharfun glfwSetCharCallback(GLFWwindow* window, GLFWcharfun cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or an - * [error](@ref error_handling) occurred. - * - * @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 cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref 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 cbfun); - -/*! @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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref cursor_pos - * - * @since Added in version 3.0. Replaces `glfwSetMousePosCallback`. - * - * @ingroup input - */ -GLFWAPI GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursorposfun cbfun); - -/*! @brief Sets the cursor enter/exit 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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref cursor_enter - * - * @since Added in version 3.0. - * - * @ingroup input - */ -GLFWAPI GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcursorenterfun cbfun); - -/*! @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] cbfun 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). - * - * @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 cbfun); - -/*! @brief Sets the file drop callback. - * - * This function sets the file drop callback of the specified window, which is - * called when one or more dragged files 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] cbfun 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). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @remark @wayland File drop is currently unimplemented. - * - * @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 cbfun); - -/*! @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 comaptible 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] cbfun The new callback, or `NULL` to remove the currently set - * callback. - * @return The previously set callback, or `NULL` if no callback was set or the - * library had not been [initialized](@ref intro_init). - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. - * - * @thread_safety This function must only be called from the main thread. - * - * @sa @ref joystick_event - * - * @since Added in version 3.2. - * - * @ingroup input - */ -GLFWAPI GLFWjoystickfun glfwSetJoystickCallback(GLFWjoystickfun cbfun); - -/*! @brief 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. - * - * @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 retrives 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. - * - * @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 and @ref - * GLFW_PLATFORM_ERROR. - * - * @pointer_lifetime The returned string is allocated and freed by GLFW. You - * should not free it yourself. It is valid until the next call to @ref - * glfwGetClipboardString or @ref glfwSetClipboardString, or until the library - * is terminated. - * - * @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 value of the GLFW timer. - * - * This function returns the value of the GLFW timer. Unless the timer has - * been set using @ref glfwSetTime, the timer measures time elapsed since GLFW - * was initialized. - * - * 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 supported platform. - * - * @return The current value, 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 timer offset 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 timer. - * - * This function sets the value of the GLFW timer. It then continues to count - * up from that value. The value must be a positive finite number less than - * or equal to 18446744073.0, which is approximately 584.5 years. - * - * @param[in] time The new value, in seconds. - * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_INVALID_VALUE. - * - * @remark The upper limit of the timer is calculated as - * floor((264 - 1) / 109) and is due to implementations - * storing nanoseconds in 64 bits. The limit may be increased in the future. - * - * @thread_safety This function may be called from any thread. Reading and - * writing of the internal timer offset 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. 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. - * - * When moving a context between threads, you must 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. - * - * @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 on that platform. This is done - * because some swap interval extensions used by GLFW do not allow the swap - * interval to be reset to zero once it has been set to a non-zero value. - * - * @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. - * For example, on Fermi systems Nvidia will install an ICD that provides no - * actual Vulkan support. 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 contains `VK_KHR_surface`, so if you don't require any - * additional extensions you can pass this list directly to the - * `VkInstanceCreateInfo` struct. - * - * If Vulkan is not available on the machine, this function returns `NULL` and - * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref glfwVulkanSupported - * to check whether Vulkan is 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. - * - * @remark @macos This function currently only supports the - * `VK_MVK_macos_surface` extension from MoltenVK. - * - * @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` extension does 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 This function currently only supports the - * `VK_MVK_macos_surface` extension from MoltenVK. - * - * @remark @macos This function creates and sets a `CAMetalLayer` instance for - * the window content view, which is required for MoltenVK to function. - * - * @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 -#endif - -/* -------------------- END SYSTEM/COMPILER SPECIFIC --------------------- */ - - -#ifdef __cplusplus -} -#endif - -#endif /* _glfw3_h_ */ - diff --git a/deps/glfw_win/include/GLFW/glfw3native.h b/deps/glfw_win/include/GLFW/glfw3native.h deleted file mode 100755 index 267e75ca..00000000 --- a/deps/glfw_win/include/GLFW/glfw3native.h +++ /dev/null @@ -1,525 +0,0 @@ -/************************************************************************* - * GLFW 3.3 - 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. - */ - - -/************************************************************************* - * System headers and types - *************************************************************************/ - -#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_ARB_debug_output - // 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 -#elif defined(GLFW_EXPOSE_NATIVE_COCOA) || defined(GLFW_EXPOSE_NATIVE_NSGL) - #if defined(__OBJC__) - #import - #else - #include - typedef void* id; - #endif -#elif defined(GLFW_EXPOSE_NATIVE_X11) || defined(GLFW_EXPOSE_NATIVE_GLX) - #include - #include -#elif 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) - #include -#endif -#if defined(GLFW_EXPOSE_NATIVE_EGL) - #include -#endif -#if defined(GLFW_EXPOSE_NATIVE_OSMESA) - #include -#endif - - -/************************************************************************* - * 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. - * - * @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. - * - * @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. - * - * @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. - * - * @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. - * - * @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. - * - * @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); -#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. - * - * @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. - * - * @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. - * - * @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. - * - * @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. - * - * @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 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 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. - * - * @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. - * - * @thread_safety This function may be called from any thread. Access is not - * synchronized. - * - * @since Added in version 3.2. - * - * @ingroup native - */ -GLFWAPI GLXWindow glfwGetGLXWindow(GLFWwindow* window); -#endif - -#if defined(GLFW_EXPOSE_NATIVE_WAYLAND) -/*! @brief Returns the `struct wl_display*` used by GLFW. - * - * @return The `struct wl_display*` used by GLFW, or `NULL` if an - * [error](@ref error_handling) occurred. - * - * @thread_safety This function may be called from any thread. Access is not - * synchronized. - * - * @since Added in version 3.2. - * - * @ingroup native - */ -GLFWAPI struct wl_display* glfwGetWaylandDisplay(void); - -/*! @brief Returns the `struct wl_output*` of the specified monitor. - * - * @return The `struct wl_output*` of the specified monitor, or `NULL` if an - * [error](@ref error_handling) occurred. - * - * @thread_safety This function may be called from any thread. Access is not - * synchronized. - * - * @since Added in version 3.2. - * - * @ingroup native - */ -GLFWAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor); - -/*! @brief Returns the main `struct wl_surface*` of the specified window. - * - * @return The main `struct wl_surface*` of the specified window, or `NULL` if - * an [error](@ref error_handling) occurred. - * - * @thread_safety This function may be called from any thread. Access is not - * synchronized. - * - * @since Added in version 3.2. - * - * @ingroup native - */ -GLFWAPI struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window); -#endif - -#if defined(GLFW_EXPOSE_NATIVE_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. - * - * @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. - * - * @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. - * - * @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. - * - * @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. - * - * @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. - * - * @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/deps/glfw_win/lib-vc2017/glfw3.dll b/deps/glfw_win/lib-vc2017/glfw3.dll deleted file mode 100755 index 9ed365c5b588bf6d86d19fc1089cc9f8cba82e77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225792 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 z 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

RC$^##Z`3xa&(|c9CAgNb5MH-dz z!pCCH;2~@<`2D7m`ifJeQ7IpzF5yTn{Om)AB-IG5EjiMtlpj78vq<^q9e{lZf@t2T9TT|DblD^5Iz?3dP3lys@kHx$hM{+G4 zH=`O8A^e_Gq*19bd@SZv9>V2C4S$zZ(|U9#q!Ip9Dgqyixjm;A?yf&kQV~v(Mx~;R zqBju8z0hO*=aPDWQ>0O;+u>s|e?th|x|M(Slhk@nkw&F@!AIua=xw(dTB6gOB8^J* zW|Zh}yinlUDsA0Z9~a?Bqf)5;U`vdoR`%(D!X#3@FQ-VOQs@AI61Hl$GQTOQd7L7R zO7&sXwLA^4zJF7Kq_%L1G%D3sq4E>bmPqOXr%0nxNN9vm^io!~Y_?cZog3gH9BEVv zLm*J1wz+3(`Tdd_$|=&Q)Lo2f!sAu+#`I&7dYn_FQKrzHsd}Nu^$ki*Te-slo7(X_)eB+FOzu!70+H)DT9U z$C2FAUp}~0QqOXVG%7U|KC(YwqwkElk~+vK(x_ApqfX;Uu2zRH$4aVtL(P{oDm4r~ za<;JP7b7l6Dw|WJQK?);UBZ#vnapoiNoq8wNTX7D@UfV0<#}V%j@(6(TFNQXs8l|q zMBO`O*OzT2^(m)Fqf!Nos?Kc<-+k_TN!4zIi*Te-sp0Uk&|6~6HF)yr1(NE?DblFa z2u9JqSaSC)-*Hh=C7dFSN}(};EkUI_w?8PU6`UfCO5LqcEAM;hT}ge(DblFaNQL?( z_vH^I)$lr8gd>egje?Jyk2>06=srn#IYkNhEas)! zWz+TltUoBJD5prHQpJpVg;RY$IS#YJ)&ra(jY^GUR9Bvcms>uwTvF>eMH-bVVbm?0 zYI*!ZD@mQ^6lqkdlu@Fdf9l}a)skv`JubqLMy1BX$6^-s{K$gmk$ptG`f!RgDm8&o zB7`a9K1TKtR5_Ny_|LQkywN8kL&Fs17_eY@UpZk~+^R(x}wEimi1s zM!zAcPEBwTjx;JY89s78YIe<3x1y3)Ds>;D#5_R5?%k?OYB8rsqf+-XO0PE_deD#>`#D7#l`3P@B^=2OpSTnf zk%kFPHDA)G)C2Ibm_@(Wcc&Fix1h2(MH-cw$tcmQ9KC#67fFrg6lqjy7Nf+8kKsGQKH_kZr+S)OxP;r6lqkdoKekrS?>JRTfHQ;f>WeXsdv|oE z+XN*wnNy@usfQUQ<`2ui+0{-`t2jj(m3o9xA|Li1GzbM(r2Kz5MH-cQRH3e|?d&9} z>+!_Nkw&E+gOA1h8eN3jxuI2(q=K9xjY=(qkDPiw7DAwoEVQ>0O;#~CGZ)T_Pf z?vvEpoFa`%En<|Y0Ul`o!26Q=kyE5msV5jEo>$#P&D%(-MN3?SBaKQu2_HEx+U~-} zdXnnJDblFaQ;ZVjtJ}4!uaVSjPLW2X7Bfnel!TujM@L4a;YLo8Mx~x+lt{zY$CBzw z>UU0&Mx~xnsFBm=8gf*-R=5a98kKq$K60ia5M0+!+PaHVq*19Q3f1Gog+56w;1p?8 z>N!S~}NZO~gew(x}u6 z@UfUhFJ*kaOr*B3m79o*aHLVG7vUr4hz3n*k1A78PbT6b9BEW)8GK~Fcfym|=&lNC zPa-bDkw&Fnf{(?FP9byss{hhRQl{3LFKJY2IeaYoO#6Q>UAsq8X`CXBO1-R54|+^z zBvr^M(x}uc3U%iDU56#Lgj1wZsTGXsWX3;m6T0oinMjSpoFa`%t%Q%oET}oJ7wnZ( ztsCi1CKG8?>Q(qy%%X+;>hc};OR5K_NTX6ze@f~=Lf2uED&`bvRO)p`iTU|=XV)r} z)XSVAjY_?tP=jig4UyDwPLW2XRx#>V9LZG-obZRF8lY|@M;ev-4}2`0O;x8Ni9_LOv6_>-i* z<`ijE>TO1)@esb2zZZ2yHTaQh*jD?OG%AGv!IoGx`?ysnLuzIY7dMy1v()YnIUW(pkOn%|`T zOB$8h03W$3y~6Uxcxmf)PLW2X-c_jV{g==bh?JkjDblFaMn;J-QR9pqGbQydr%0nx zXhIM|F&f?D$v1@XH%^g8r8X(Hz8ZPRP`++L|BW1JRO)^BSj0O;J@B!Z1vU4X*G5aKT1UE*$wV5J+6y1qBieY^h7*#?;1p?83Y~rf)$j7a z2PHL0O;{frVNC3onN7bW#Pr%0nxc&MfMqGbBZ)7^#!9uUv&I5r&Cg8 zoFa`%eaR^Clv8hM(Nt3FI7J$j`ifDaKK$sluUwKk%_-8T)Cq-}o4n9K-Pi>e;ZERB zrM`xb>^Yptt@F3E)t6JGQK@ejC7yD#>WRNeY96OZqf*~8>UkW=t*-gec}Z>I6lqlI zzwoh`pU08hV}n=LmDG7okw&GygO9~b{VQ^>e|!{?5IL%2SIw6+D)l{lEavC5%ck)U zOfZz?L7XCuO8vkn(dtE?8r4VIdW2J?QK^%R`WZ)ZC9fPa*!qxDq*19K;Uo9zSO55V zLrJ;JDblDE3Za3jmGU^uiqyE}7F>iQjY^$@kHswJmY;m`-93`Z;}mIBieh9jvTPdlJIYk-iqq{g=NmHLZOqVE0mwf$B}ea9)%s1&Mogm52@*Tkq%E*^*krDblEvnNeal z=7PuklO^>dr%0nx^ah9A!~$P7@pm+gqQ>r$q1}u$Ds>H`>fuPv zequ<8q=s>dG%8h>QK({=tNswZ*CT8_!70+H6j_mT4zH(gxFD&II7J$js?R9V7k$`K zdxoS;nOX=)qf)ePE8o2PtNtVBC6&f0(x?>e(37ph+kfp@C8n-%dYMzCQ7PK7EN!i?TgULcj&q7M zDn;|C^6iiR3|?li)d2M{Int;UjZkD7Uda9(MNK>}7pF+0QdIV3o6@nStGT4^P?=%%FxX;g}4 zl`Uo(Q;^%brDLw7!ki+FO3{p{EMHT4uRJ2D`#D7#m7=;@Qv1gwEtAw*PLW2XXfLbW z#r^z)=ch{QXHJnurKmNL)LTE5Ln)qe>+V`?NuyG<4k*_v?|sp=MN)TiiZm)kyAI^; zS>Ln|cS~w6r%0nxw2wv3+x&k2%Z7G&6Q@X{QnY#~TiESc3s5>lyv}lpG%7{)r>xmt z*?;{3Np-kYOAXSf6wRZ`y{WTS?{P?K5T{6^Qq+@|Gt%ER^gS%8M>s_qm7<=ZoE3S~ zy5cEGZRZqeREkDJl6o)i<@%Dk%qh~S6wQZ7s{G0NTdM8MxeA41=lO**Nr%0nxw4x`e3qO3q6k5pkaf&o5Mg2*Onfg5Bg6r*u z)Ue#9`I1JZ=sg09d98NYG-dBrL%%nRQ>0NT8Vy;@6b5q3ejYP}6q*~wDblD^xL*5xlvD|)NTX8S7)5;pa%)zF-r93 zSN?tbP-$xlr%0nxJsBnP;iH4^`A1T#IYk(8 z6GMNasZFCuqf&N8QM*QN)!y3;{lf^SNTX5?Mu`yK^v1wXWeCeSMH-cIGK$)3axc8_ zSSv}b;}mIB%Ec&QYinfTN=cpO6lqk-tx!i^USpX1y3wwMfHW%QVU*~Z&o?Ewq^-W3 zB8^IU6>8bEx=SQAk5i;kDIcRm$|vp|Y-r85aEdf4;Mh@L8LpYXGq*1B9jG}%%xt}XWqd!wk`(S#BQ>0O;evA?&rT>Vb z4JGwCr%0nx{TU_d4g1oAUrMT;TQf=;mAXrzs&yaus-&EpB8^H7V3dg0^-GWUm((Oq zkw&EkGHN4_|Ifa<$0YRzr%0nxgBbN3r@rXno-e6yI7J$j8qBEWoVx63vrAHqJ(@RZ zRB8yLsERC zY8a!0ttPcPV4+6js2?~*8kNdr6pdfVUH&3qsM(rh{+t|XR4R{AA~il;{>fj`*6o}k zjY{P+%8Vm9>lYVlOKKLUNTX5(jB3lN;%WPlO+>ujCZN zsMH8Xwc*q~Z5!rGTQ~W%dyz(^3K=C*-Z!h>`;xkgQ>0O;yBQ@yxcu+7hS|9VoFa`% zjbxPQncp)t$G#XoFa`%l`=~7Dxcl(%_Gv*K~9lIrN%Q#}`g=)@34Z29m&MDHU)Ko@^cDYZ>YUt*O z+&i9Aq*1A9jB11L7S2;x*m730|8H~Y?DMniMmDCANkw&FvFsdGo0O;GDh8mBe~JdY&J=~ z#VOLL)B_52_PYgrBz2Ngq*1Avj1qbNouRdkN~%Rf3jt|VYL;RvV@n^yd~YvKkw&Fv zE4J>A(mp`(lxK5_G%7WRQAs$G%WJyv9!YKF6lqjyE~7;IHQaH>JW2h|DblFagNza_ zQO>jPo|06%s1^d!s8l(lMBb>FAGlsp12{z*m72$>&Nz~5H~eB#NiEkw&E+Vw9+{uO2b3v$S=QQ>0O;1&peXBe}kxXp2rOOpDCQ>0O;#~3A2!}ESl3rU%J zY4IYBN-bp6LG7~X(mOBwEva-)kw&E+S8Tnu}=wQ|X0FG*WVI7J$j zdV*0GcnF70c-Bzc9Oe{hRO(4ay~3#)kF+rK9BTH~yh)={PcdpQr#4J{6RnRZ%iTFe z8kJhisFpaAOM59XK~hDWB8^Ht&8X&_`oO#OM@cQ?6lqlI8Agdd!1ViHdQ(zIIYk&AQg!dp!c7{LTEZw%1034$PfJNTI7J$jdX7<|t-O8cAw#?-aEdf4^*p0m z;Ye=7$ZiLut=Bk38c_7xJ#9yiA>C3&)xsHphod*xG|H%XfobShqSB%1{Mn>jO>NY? z$TX3sTxL-CrGOhaL&d#xNk za9q6RRi>$j>r@&7?HbOH*Sy9wb-Ct5Yx*rYcqwW4I@3_Uu`RCTPO5darlGGu_Th(y z;AvW6PGnY0rmy*Pe@*xKmHVvJeg5J;FY7*a?ldv?itdxheU|G!UAWJyx{savm`uWY z|2UtKaXwSye4fyKw6wySOq|au-ACBk66bRy&gVj$Pkr=-G$-!UInKu(=W|z_&zLx$ z`{R6`j`LX)=d&ly=R5B6f}YOj<1{t;#>S!<_jyUDI&hz5x=$MSc~SSVa-XHT&mit& zg41g8$=v64Xiy=*&D1p_4Hqds_;Igs`7B?Onlx>L;bbfjF-PUA2J=bfK2*AyPg)Z9 zq56mU2*^aWL=98diSqlp-++(BO!XMKgW22btuRw*B=-gn57U^sj+N9ZMxh94ap`m} zS5ohDifI&E|6x=UPMsOn=^07w=M>W@wpJ^)O80&Li=@8h6w@fS-c)Rrf4VwPQfE2E zG>Waa6kD0?|6C@i>gbb`V;aTQ+l&%v_~I)^&n?%}@On-$jbdw!V(ad&Ys{0>&75Ky z#nwBFYJ_m$#Pt1dL)*Qe+p=^hf_?W*xI1jx}nXqyCk)gQ%s}SdRMWvXo~Nwq&9GhX%t%<8C4%~ zqIkXhY<3Sx9p)6%D7M~HY`y!#+(VN3nNv)o*xIDndSw0LTP0P!Kg`21jbiJ4#n#-G zOIu2+C8wB1v9*~|#(emao;NZ%#WaeoEsCw{_k8xcq=KAc8pYOD#TL~Yuj{ska*Amb zTiX;{v#%=pP*TO5Vj9KP2aIZhl%nSq@gABXsWMJ6jbdxNVry*LXosX0af)daTOTU6 zn%@+7KvF9>#Waeo9g3~y_J%J>Y9ptZMzOV%Q6e8c^JTZolG@KHrcrF|Qf$qh`dwE^ z(KnfsV;aTQZpGHfZ?mRL>O7~IMzQsgVr#|BsU}I)x=XXgH0-n)d_?ZkTD@NIp&wGF z=SF{c`x8E6+ZcWBh0jSeCDbRiD8D7Khgqlo8oA@HYWIoO6yHt+iX3Uw{`_7>VG@eD z%ZGoPDXFcTB8^JzW0bHprg85KNnPL+X;f;zYOC*iMUv_|KnnqBRO$eusJ}|?_3zI7 zBdHutkw&EsGOD!(nYN$#^t_}V;1p?8>JXzka_WJO?RrXTBd18CQimCZ$Hd&^U)&2M zb)HkCQK^p^CDL%=tiOj#s>?v_UZhc}PZVm{tolipNTcOm%OEbqKh;b_3PzQbj>8YTa)&$Tju<&EBaMAN!tT6T zJX9evU59(H-&t|y7vz+VDhcI`9a}hN_&8I~of;D16H5Q7P3eEZk@?VN=hd?sVS)j zGIWlh)f@8L0`90ohcbpGr)l?2XHnD64NI%5M4kWs6DL+e#N=8z8rRiWt@cfaG&*lz>btpYQ ziNz@^KdI7$hEma$PVGMTO$G>4q{zC zF($Xn3l5jn8}#@b!LUp?QK2N|r5bBi9YW3JbVbQlL=PP5I_=Sj(yqlyXDCK?o82FY zxMj^%04HOwpBbR2H5zgT?GC%Fh0@ZKc@8xOPCg=ttqx~68gcujB|WF6R$gK$rv^g) zpxy45mP7_h6A2#^r-5!FCY1LpyB@_&}Bi>-xr9;9{x|$k> zbO7Y=MuI*=cF-YK`Nt<-BxH@+qAs7)C9{KI)KX+jJD1fTcG$gPn@l?aWmI9vjyx2M zguS6qB~i+#BD30gb?0`WHWG;^Eag{a$sV^U)UCsHSw_YBo=$*SYwp* zRER{ZexEPsv3X^Sl)*b2DQT$mrPCR^Jz({?&=vBa*CB43mYu96cM7j0G|&LKsai#^ z#?XJt$kW8h$+=aOBs^G$BjC5o&YjL=RKYlGRul-2&l{D=phHK_`+Wcse?GGVSC;qFTsn_q*`B%d!I{A>LJqNxVqZ>I`^-(Qs5| zJHce7DVbF!xYJ<`1&|04Z+z&o(vX>?GeCB0G#c>wqMk}DC8ruI6$OfTZ6RmCkn!~3 zC1+I*;gPx#C08IApAK0`RagS#@rFIopj&1L-BMCjmI79{-R=uIgOwyidKHg}`h)>T zD1?;IGlZ~|T2=oJ!3)~#VZ=#hJpm@~c}Qk(WBChP z9S)n{<~OtzB6JvFRT`xrx~m?a8=V`O40tY@HaWl2ZWmJ9<#2?8NIyMr!}7ENTynb7 zkQtH=F^V|RSOjEN&CJ)T{iJMTg<^;ivVha&2t|WIX(??OA1Wp*ZKkwjM?v>T(EW5t zOQ{(=7Z~%Lp;3xBtZrA(6$<#|m5vjSWAKn6{LWC=;gNj@eRx?_ z7DpG#7eVH;d1Q7?%jKPiET#8gNIjo5VDkoiuBeQYC`?K+7~+K9aljpldIN}?c$OmX zC@qPPl-IWg1{3?2^e+i8;{u{jUjaIeRXTFB646-;tQ6-?NQfoZ^JGqlbr zDJiThVKTs&hxD)oT~=g;h}VzCDK>1$DI(!x;^VVM0v?ae9Wt~od}0XQyUN>UX9)9F zoUz>~ra&o4hNN>utYHsEWvIGzNT2&mM%1J;qyomX zD1kwT%;92ym7HJI04r(@hJ$|0QOk~vn7vC%HQF(R4)Z5=%*(n$=u3$xiOI#}oB~m% zD2z(zywQ*^qWZo{OAUK^u_Cm)hA9nd$9pugcW3~BYy4XetM#~Sp7 zY*Bk4KJn0wiQth%86|Wf{Xv`8g~?ex#r5DNS022e8xyl`zc*wUSKy}Xk)~v28_SYz z2#muYh+s)TRzumtcn8mz8I-`etv-*(AF=smjiS%1rBpEkjLIQk4`M85s2oJUOF;~l zkVivahZ}SCviubkXeB&Voqo|{WJjOX8?t-s&VWq1f*d~Ykf}|h^QUWoBFJ|>JlKG2 zE%aFtEc#TQ9o(qz93IqOhMohTK2J`sV)`889=9zJ33x-YlGICWQWX&D6p!2MaofEz zPCArU6%@5b!oHB-(57d=v8bd~vG#!KfmXZ%VQD8Xo99ubyJ5_$=-4=%Asgy1nOFG) zM@B|fD?}LnIb7jz*d_B&Mk>0JaOegYv!4ExFt_hRH!^@lHt|ICT7OvOV=^{IKu66M zG*sbf>Dp)nlTcMWSSo!U)F?7+$(h=;ep*`PQ{goC846=G>on9tG|NwAm1g=4PLGfs zQ=S2r*Ke3=u4I8Rre;7+#S#=2ykt`mx0I<>U%H(@$m;h;vHt0kdG23VC4*L{$ALka zUuFe#G1!CAS0%GpO{Ckw{E0Q_wgtUD!(7+DO*o*CM*}vS-5oS^31imCkXtGDNkg=f z>A@tp-LO_DYGQqjOk4Jn5N0HO5l;~F+Oj$k8Az!Y6iZR79pxe5w#m$plgB4dk_(J0 z0tQPV6mok2>tuLHJTIqVbcr07nUS24mywQ&C^>`begovQdfiTU)NYvT(tAR3+BhaV zpo@YMi;kpTCUiy)wN=K6v6a^!^7;%NcO8<3D96gs0rGi*wx|OqqV(yIw4_2P6mCo< zxgs{1@dTtyIT$TrNzIAnE|15ssw5!8(t{c&KyJGy;&A$9U93ZL=^+L}b`5&%K93Ry*voM?GP~6qG(eEvLd`%970*@z}zcLYGNb2}D(;%nq;=@`ey6w=A`>5SA0v z9FEDfusa&I+YOV8u@FTF&R{8Ewfo&3pT{qUS2|SXOg&b%9auFDhAN3uK@~IgXl0Rt zc8@zG3zKfC%ISSO)(dTz+X%{MD<)yk~g zSOCq<&o$O5`h&&du`3dGxa9*v*wx9>47C{9omeCD1p}UtUuL?0o%lqp9|~Xr&t<4i zM1j>Svbao#{R&~b$8R%C@Q6vF3^_TbrZ&n17H(V)OjYPrLnTm5_C}njb#WNRvH~(p zbj4V5S+PoH5BUsJY68lYb5?PXALAWtnUT*`hpL<%!?pl7hRu=C|AbUasC`fuM_e9* zrL62^UJVx*ho*XVpw;?t1WE2TY@xDY+_s49q72jO-XtV}o^-%;217S*z!AnYfGkR>>DqEYN^(x6 zgGD>)Z3*~!fupaQQib($lxl3;lI;n^SM3P=O&=I z%~o2(bW2fmHi8aY*p8Y-FuWy3?@`%~A{mc0V#j1N(xPf6){e)Dw#X55gpK1JO{Ck2 zWdhb9dV}Z;$@qw{C1+L&-v3U|#FndU^t}r*(`Zzhg5DHjrZaYoDX@~{ zjYgd?R5g^0hFU^cMM2Brjra^buDFb<1yDkmF$|P+ zNCYp=64nY`*wq#F$l*)uL_i7~;Tv)U9xfgcy5NQZf>{4Vz7<0yrC`vexPaRi#MTm6 z;(71irveBH*=$k6VqEN0KyK)frt|mg;g_T#aKU}A&a=3PEXh?+ZQoOpQ_~o%6!zz(K9O+{d`^*QUSaD zM8awJMGeNwL~O#*Zgnqqw*_1-IeUPZ@irN=S8#k5N;kxyXfWh*xMVXcru#DFw5O7E zb~{$qqF9D<+U0YN+Xx*qn5DJPP=KN&8w;_!R9|$C%RuNk*j(t`8MZ9M&ez1I16qr4 z&=V9Tfk9aA^Ffd*3&^B$Yqe0ITfNAsE`{Ij9C8@1yDd*Zxw5a3!Z|gdwr09m`M^8FAzN7dKVLF^0r8?aCl@ zS3`E2VLew^La&3lIEYpdLLR%@=a*43%rtA&zP2=?X9il|zDeb`>=3}Nz0B%UZp`ebQLLBi@K z7U{9Y9VxFfF`Jr^my~=*oBS~6iMKeYBgqRNI{RsvDH#RyZ)#3PD$XeBW!j;W;k5Zt zr{EnYVM$-~!`vN3Db^B}`XZQv!z`4{L+Gh;lOlh_gbot{5p0h{+R37XuxJq9S{iG} zj;w>X5U^3kFtfq87;$Y};OMQepdDq_hp8w%MmbvE)|cF48Zyd4)Q({>PPVh6)`tlZ zC+e-pv~yq(Y;)RaIzYD+J69SPC3I{smlTaeJTmcgh)++)=R0i0^kds6X8z(W2`Dx{ zP>MTzepk@YvC%E%Y4g9yX{^05#3_n*hcF0s8CH&UC|`pxZlr8sfbhbR!{ZEKH9S6e ze9|~BP82+k9rM$M1v%Z4n4Z>hpl%6!enNhy7n`)?v(=e&9;MiHK#DtjVV}!ym=n<< zK6xJhn9y2aw>qYC4IPe{P55yTG6XhuVTT*G4(Y`qW)&En0&vE}iy(N|xQ`WDJ@Mo` zxK=Xa6EA{AMti^$HY}S;Nb6O{LJ>D6!foh9d1XIb)U7G`+Wa(@@+d>-3C`ZJqzXBR zVTmXP!jRZ}9&3o8h%FlQU;{!Wkhb|e4uaO@2?yOC!y9P2CBAjPG6;K0ut+P5tz>w= zE4Hj-@eUc!@Abx~H9AwnOHT%o z;K`_6$i+dZ@q50t_7+Qo~*k0o|EKJ5h+T4=C68dWxpgS;7j}KnD zKL3KWFq9=UGX4Oq;~7@*gr%%(4Z`MB6~aqEK3gzA&7fYVhz;I3dFbYlBg9|{4K!Zz z!unNMK3YhWg(ZAe4Piab<@SWUeyaI-TdvQxiyiebhG-EFE3J4rl}3Ou5E@Ob-He53 zUo$p!*=)4^oI^YcA}RuvDUMQ$Z2{h>`i30uK4?*kixQT-+#Y)nGjg&lp`*|CDvA#Ai86%O7s4wyGETyh3|>5h zH#tH+M@Tk;u~1x&AWIQUl;QQ6{}DX3G*Lo?JW(4uda@DJE%7*2mJs;b3G5hk$$^%D zWa`Do$>DTk*OlQlA_0lT^vdGo2w=oyH_R*P5MNA>4IW-F382)5eV98G&lZoEb%yX} z24#e}*^vNhA`ezbe1;ZU-=NF$M{G@G$3`A>K;2l=ljAIX{XJP*f9LP*%F=`u+U*J8 zB_~5gsY6LsKxmO%PE1VVrF0pkm__^8WS~bI4BDN+fZ;XT*yXRdp#s&E;ixZ6t$?0* zx+UJO#TIs|A$<6ziXcsN@N%nf4`3Zoq6CZ5DPB=!`vSz@)PmOcK>J%|!pOTzQsYXc`lX~b!;UxyY-LOU?wvvgW6_*g` zBBMWqr4_HtuA*-!hCi9HQ<_*~^oD3I&#K#mKN} z9po5>>PYPUM5o%2?}VX(+$sa-#+Lx$?HSp}6HHnaiC{-j@;We`>8vE>L_aw;vC5(QN8PNh~%d$#)CX9E6S`wq6I_K0~PxyG&B}E)x(cgz-|ufo*s$!cMhSO`mu9=zM?LM5&nifu9D>Jv<^xqV(| z1ieYUJl3Uw5~i0~f_(Tk2$Wly;Bin~X2rLc z;2X^B*rgk13A-fZB8g%NZxLZN5BoV~LI_LQVv9~@Z1DV;bw&jdG0buZD5pvYmO?f^ z_WZ@iNr&R%gtxby7}v7-ZI-fl2?Xnm*hYn^*3{J044NOJ%~gif!@iynW_9rb1UjH` zkntS|1B7M?-3NRz1~q_Ukj1}X4GT9~JsG=22Q7>vg0I`d3u$ps)jNo6w6DjGnH&8v z#l901n_aQL8x@hm7Ni}{JaGTE6)5b**Kc@j5vwEXl8jCyJ0ix9$O0lg$e$Bbm`u~RIC zoY?p0!z;)LN-6?G!Aecd%E0Iuf64HL#nh}+387(f(f1o)Hi{4qECIF9Wu;=}Uq%UE5`$z5yS(ABH7zeKBO}{b z67+c`Dld96&@0FY8CwbRZnA2-c(&NDOBMVu%t!4o|>=O(r1~()Nr< zM1fHAN1cwSHzrCvO$?9>9U4Gy02?OhTU?aT@wuYPA#4v1MV;8Q(U_Qzy-SMmJ*dLdRa{(D%s%waFJT`X zIip4m%gG(dJo%TW_AMNfS2Tg{J&t>iD=99Tqv~$%T!gT$A>ppg2EY`>NLHsGO35qT$ElE+H9iWtHC z=$u|TqsOWSz}-aXtiQaz;UxS6DP;Eb>fA!H}Y{CCE@n8uk>2@Qb-cqemBw88UvH zrZSc2xpK%5Pj7F|n7mQ>#f}mA$WuV_b4!a0OC}A;C66JwMMWbE^G$6_$4o#TYpee% zNL%)!2ZqnNBXSDIv`senXbPi`rb&&{7<~+e@a(kgZ!jkPxR9lwA&I#*&Resc)Hd#d z7R*X6h!|BtB*))MBU0ioXf`UjAX20X8>#WPGDchE5o4TnKQ5FHo2v{SB8CPp@z4xj zB8&zvO_kc#;H9b3j9!{b@zPZ3@hYQN&mj>lANNKP$r+w+?U{@(h5jG;-D=IYW^1J* zgj{&X2-FdITGn9+tJa%5t+l#X|GsIg1=(G$Aih}FW4&WUe$RBw(e&+^KB{n7aZd51 zp6P|-dZv#lD!~a#Zeh+S*_7aWH?d>N9mHxgz+#}9wr4s@QgQwmFu6rz=qHkN2F3zT ztm@NXz&B=m&Zxq?p6NNo!%IgqIqKM+>G@+yNB2x0n^T-KTIbLZ+wm>P_#PT;I2Ii6 zQW#|rljq~H=m@^1#D?J^-U_!yN)eQzf}ZL41(l-WNxFn4?rmbWG0poWfB#!(_~{ToQ=jYhbVmzH)B7*1(AyNP|u*7IQGUi7zR$A&$IR z>6txlY<_NGL18XpPwgH;n~OA*9A2Vx;5)~HSaXUED78yD^my=`cvy{G1d~QISDfvwW0|<(?{g62h5(84q|j14dG=Ge8;ub)vH&eSI^X*>34<$;Yi=G$RW&M64+FO zFJSWpu)425A<8nafGWCYdeX$6Z5{5UtbSIdvel~DTkyRDi3XQU-P25bw_duz6Q}5` zp$Ce8vy)R&*rlPh^Jd*?Dok86a9<~r=~}b)J?mZbit}?z#^cM}HAmmuKJXgxiT_)> zzNu?o{;<;FZTXLtnM~_&X?={&YN~HH{`eNr^rHs%;H%vy;g1}dO{^as8ml{t3uRox zgjMM3WyK=T9F)u=-E82sBbH<{kSAGxY@ z_{{~=8E87RV6rOh((m^~p?R6>s=8k<=)Q#}9X}sOPEQxZ4B5>u&5w?hehz3NvAUS_qx+49=Dt{6CHH#{npb0WG54clu?w27V|A6> zuL7Dni2&gAcvNz~j)^9d4S(cxT_yJ$l4vrG#2-0bSIPb6CgSJz@JCM9RdT=g6HTU% z@JCM9#oUkb^N)$7kglry{ClFw^f&&ul&@A^fi4lccdkH(E}!YsE6{a;&U6zU zq^su~+L zE6`E*wbK>qZoL8>mGkfw=&1f1c?CK@bmQW5@#WkL-FsJ{qxzsa6=H+4){noR3)h2J zpz8?TBXPR;dXgUPhAYr{p!+ILhwvGGs0tF(E7edBQ6*z^wb92$UD@#kE7QeG1>^eD8d$U^}aDN0mgpE-%9+AGMO8YZAZ6(j!DBY zHXS&kXmtL-{85Wg;#{Wcnpapnuvh-5{G4(51Nl@$*P>x}o4T29ZD1N^G955AG}SjPDm3f= zh6;0wi^dfdlq7cO)iIH#V@4O=i)raZN73l9g_tfx7`^kWQ&6{AaCiZK2`1~EwmWQn zY<+E;D&SI22g`T4%KvedfA5;Px!waGqID0>9o5$Aoo~eNFsE2h=Vj(%*b=RDvl z?_b|F^VqanWfPB>N~=|Db(P=V$Tjm2c^qdRwsK#GnY*Udb(ULyb9Ub{wYshIPRl`C zdH*C0yChV%&M!81_a@lNud3%f<4WCJ_D4lY9cTF#XJ_k9SG`r6aiawCyQ;HyPrX&U zoR%%{sl|N`Xg;Zj$|@>KYL$Q1Ir?$ERflY4f6_fV_d9|c9J5&t+sZC8kLYoD9I{ys z;TBEk7PUHiPv905Fkf@-@n7MQ$URO9kG9<7XXZghYIW{+2`0$Gq%>0rV*i&GukIJd z)$q*n$}UwK-^4qgYE;vDON_4E zjN5hWVMfQXq)U%#^iMNq`R1zROjvK`VcZH9YT3#znd{A4fluYPUp@0sy*W#8N}i?F z%PvGgtYRs*KWIrqy9L zXi;{#+EhI<2{Dl=n^fOaGKl2U`-+>zYGC~8s;;s4mo^tMo8l|CT|IO2L_6+iE={p@ z-#k4N*Ah|2O8k_#ziMH>P24XwaVaFFduMK*w(Eac#Vy;?E!)y9S82D@qZoTjo^SAk zsZ&T5ZGy>$<4f!;p!?B$%qz_AUfu6IoV~&Pe%1ZzA_uKzeob(u-7f`aZ!^DJb-ysq zUS)p$biXAy+ra!@(f#O0P}efQeY)T8ID3!z{i*v=t<=PeIx4YGU#%)b{vPTrXBC|{ z^#ku*XWM?f-t(6KK_5|@QEx=lhE%1Ya&xxzrk*ahCj`qc&%N(2+<(V?R4OP#d*@&C z4El*=CCbW%w|sxF{DgKopG~?|JTVjv5rpiv6Ze}tJBu!5uOh#C4}3=-sB%4y zll9dwM6WmyEdLE&rEP5Y_0;TXq1TF~haO#?%CrQ4|d5&TiNtRrjk4o@0eX*2x}46h<_?)@h!WQFtsjKC;iIar|?#r z645NSdqlBVt+WfQ-mqhK6T%Z&hM?zsDv4~IS{4%k*dbvxgRo|dBulf?=YFG|9=-6f z^y(e6n-g8%Vmj5JM-F-6hU8_2SIm9Vwfp=Dl}sT#I@~0YZW3iT`HSC#yv*?8H_;x( zdXp9K0c7clC%h2&%J;C8Tt~@!>Q4D=cp-9?M?}3xIkTKSX=I`fbAxRY*Vhy^>8S>y zGOH!L#GTQylm}5LQ#C`u`2*Vy^_35>`pQRoedXV3?bMLL+vvAV>md{grVcpUhQ9<; zCXSog*=;y}$j*l2xRjmUgCq5Q6HHTZq#<;IsSL+m?CfD2_pr0iaQuXweTm~Cc2)3jci^lmJ3~jyMA`(?SezYWXDe~`13RmMbo+^&)xp_~>}(>=eq(2|adw)W z&C{%I(;_Pd7wh(7p_4_Q& z_A|eib-z_O)7VWoOJY~43a!-_)n=l%{Ia+FsJHweas$f*)JI75?%1MLIa_AjS_f5* z*Md&Sj*=QPCRQYtR=;5Ws-%Ut{4gq4ft2p0M?4T+kFpOEhoFAKDa%gU=j&mWM!pFq z8q{cKR%XAf2Ru+Ql>brM2z?Q=$T_SpLU$4saY)kRup2EK;DWI+RY!%Vi%9Fwn0QuFHVf2gcckU`ZI6&PVp2xHuf6OI4KFTs?GqgDv*IIE6Al3)tr zOv{w{IIG3{igdr5@R^EVg6S36i6-q7ZGwXUt50p0G#e~^ok@n6!R?@2MU23^a zrHw@xsatQ<94cu>!n)-%sH>A*M#qv`skG*f=)%6{Hn9+QVY5RpZ~&Nf~gmdnxA-j7!|V8%|cwZUJI<=Vo+eUxKu2qCJF!Z zyOTxjPOWiPfxiS(XWdVEj^#%yOB_QgQmN9@hn}HKANl;E%JZX|Q!`I3g_a1NaHb^! zE%{Y5Q;=M`&O7&xw)KN(9-9QIeeB(b>NyO_KKITqX**P}GtmX@5G?=5w_`J_X?LJc zhFhRwK!L8M_3RM3q#=U`Y`YQulywtKZXCO?Gcy{X8Y$JNIycb*rEtkOu|R1uX=juZ zsfxv5Ai-=(u;UbtVcMxF1^;S+01^)${1HBB*K7Pl7 zpKR0*eT7sxv9W*~ojv2!^DtHv0wQ&YV$x&AM?=(&Vra(rAl9n7BbkL>e@ceVf|vAY zUyo>?fw6<|6t(~!gYrskG`>q`=AfQi=J{e(+ON6!4S;i~ZhU zP#+t}H#)?tF=X`VvF`DX%pK>0zOb`txan?l>5A!HhUuLS5y%j?>4X@#5#FM4^c@Qb zPWBfUP0$Mi5F4czc_H-K3*l_oZBJ2PwAat8uM@52Udk#yl|ej$u5x8$G(o zV$1bINTfbCceGb$v5tDFuXv=M3*RuTPA?vrTdYH9o$e3tGa+sS=pn10*Ay(xEz~_F z1qBc|s0RxEcs<@?ozw-x3Pv1^C~Ov-6R43llnvHw`oFW1WP|fV zkiDKqPnO3EcdPClTL^bI8(Bhlj}gnxHEWXTuK9gE8wx>7@x9>bge1d%WI(ki%bW>0bNeCLi=| z@v9^B$brcdS}Yhl{+VfEQ}ZABmaKFHmk?AM4ty#6I`>YX{J6&D&bK4iEJed6csrvl*Kee1y=O>@)u;#{&7oYWv zUsUGUw0~lccDLe!VRPq)jM(Aq+xv;I9Wk3Kj^<1|b74W@lIVkZ6%C#$Z zDvr1Pul1sKv2W|c>)%^h@5$#=&D&1bB_MB zd)lR!ZVdS%JZ%1&bK$!tHUG!OQ%Q%fmcKc+?SX;&gS>xTK3WuU$i8q=pU~HuS=SF9 z`t5T+ocw5rcZ08%W8w=_u6{Kv>So#HtNnb5^Jc6&+tpIO;Ks4f)fw;B`{8TL&aF#3 z-*n{s|z-0`W0t{wYNo9(N&?|-wdweU@rytZ= zG9ovsY}<@2o%{GgLb7rS_I8ZUpXhsS%IYRt=ignr_^-Q{L>=5Tw{x2ovwJRmZn<+| z^RmQwIjuHq*)inx%kVi)iUp^v9=`lCUv2eQ_|Z&LECujk-XkVvzN$P+E#~M}T-#`> zdGSu`F-NxI%0pAP&;zEg=4e%1&uA(xDX_-FS&>QfCq}ad7c82}ms632<3FZqv!)Kw z;9{p4ygHO%+gw$H%WqA^B~%o=N_|K>RaFy8G==aLTi?-B25T>Dnb{Y%R#S2Dj0?VZ z&ei(9s-_;%;93e>|K!$^9aS}9L^B+|V#|8QeebQRsZTTunWp`$I`A;0a(l29nu^P5 z^tIv0D3DjyG$fiK@D+VU_Mf`9ss?^b0`=g}``GvAI_14dU%?wvGk&kH=;SEG;o(~- z^$ZLCn2M!=VM(F}rJ-TL+OgC%EIw*b!iWWCWcbHSh6W!9^MY+tlo$A0L$j=kWj(Wm z8k+sgQroZ`XOFO9=+yv!;M*8W|dwq2XujDajI*;qHaw z0}Ec|5CtswlN2d9euxDxD=BydiKP!W;W(5vIHHK9H@_A*o+-tB;TR#7_*i&_1xEz2 z#PXW)ZXypB^r#P&#B4qLF;T&1~`&d%n)px`wZIj3OGzSA^tiW@*qPr~!;3 z8p&5nLeVxTN_OP6HG&$(D58;k;g6r9U+SaVQw24NQA8v8ij;i)>g;%0P)iv_G?K5@ zlCOTpe!3#4ZHyus$rsK;no8TCDCwU5TLtwUqliZGg^vJ4ziy73504S}=>3IJL?iiX zEBR`$Z|*2TJ%Ar&P>4qIg%2KuuQ@Xt7Ypi9MiGtVs~w?uzhqy-7)3OaFJ1Dr@9Z;o zg|A7BA{xopLxke@7v9TZ#@SfPD58;kwU>O2IvFxYP@5S=G?K4}4GLZ;(FY!n4mEsL zFp6j-U-*eF&f)w8S#JpHI-`h2@)d1R=xg~S^*huye6_}j5DL*qzB+(a`0DD--YTfR zj3OGzS4TqW_!a(#F8kOcsDX?k8p&5DLh<=9v@o@np!|#?8p&5@LeY5=VjUnBKv1(8 zMKqExeAq4ewSUvJp@Le=D58;kbtRMzUvcug5STSH#5jk07)3OauWp3m{ra+S`6xl1 zV-(RyzPb~Nk3*d2;ej65u!OM}L?ijaU&4rf)zYIb3aT5Uh(_{79;%T~BCP$(Eqzxs zGJLrhMKqEx{1g?wwqDa(3Thamh=%@oBv#D|om57FhWD?QVva+{Pi#$%V(OF1bvR3G zB2r#uHKRtRdJ_s~MJ!JY{RJirPJP8F)W{Tm@@p#2R9JrP5WZVb4RARC1vN6&2P~S3 zGZmKXZ55XVmBJ|0$P_MVG}VR(l!Il@t`pQ`MxjQgaN(h;DTqM%Y~UGi%lq{nqfjGL z@nF$Z9lm1e`pLL#L0w`LYGkS(STq&yO)QP_Dy9mmdnmP{MyALkR2A<{EDP;jrVA>c zQK*rrN5G<~xSGOpzRAORf_jBfsFA7uU=h@@i6=dR+QBH)$kd~R!nGxq;2S+*ImXZ7 zX-1(&rXB-}@HO}Kc=({^l*WcGYGi5vq40jkvT@Y@(SnL%6l!ED5iH_*9V_|yPlB>B z3N`N1Qt!j*#k?gd(IF+ZDJH^WXcK_O~utXmR(E7 zqzLK)qfjGLINCLpw{Xq!j81}T%ql~TOxX#=Tj(873>Sy@%gHFz$W$_+@E*r9Dd(9~ zK}}^8YGld*7EQ(b4$E{;gO!5X#VFLs6m%Y_hKN8}_V?a!26zkaFbXv?1q}iUSDsk5 zHd_VDOir~8qgK?&loKqP+JYWdJnzLW5mYjxP$N@mgu+!lmSrpNejzA7qfjGL>0r@R zPUU)syez0ij6#h}We|$bqPLcnuM-r6;*x?InQ{>dP8=yeeRc>Ir~GVOU=(U($_*Ax z#g=1fGy8cHRh!-7sFA5muxKitTP*Q$ez->5*JF%AjZ9^MMa;c7_wDN-sBw%!jZ6(B z6pl13g{vQUTu|#7g&LU}1Qt#0j0lwTdLA^7x9}{ZP$N??tpgQ}2$bxn&X)?R9h-zu zBU3qG5&c^Bz!sRExvwFNLJhUeV-_%AJ*K~0fJqAKS<6urkn$=J_*Vihcs_5V5Atm^ zBLOkPuVmO;c92-J;Ss!*K7lvh<8N;8DLOG2Pph*_3JU{8kR^cEmQ@tUOUj2oQwZ`5 zB=G3OpI2RS7oL*El(>VWWymJK-*Nhd6PgW&9JGxL1cF|N6`EV%8$lN|gS?QQCODGy zAgLJS9+n!$861p>6?o4XB&Crc4@&NrHHAJ+`9rBvsyXwfTqe~WmD8V8x;`eh>cums zXu*qUTr?9U+fBa2`8F=939IfX&Eye7a=BD@ocu*-RL#dJ-}^p%&Bu8r5ggz(`;V)! ze#*z!c$~Js=Hrx4xDQ|Rans3%YiYi9Oeenb5eD7!R$=(PHRg&c-BxD4@*&!3mX)UR zL3+k&I7rDpG@niNWDN(+O|AZJH@CP3g}IVy=LK^e)eBe^?BOcYvvEi7AcrJ65H2CSLb6x89k<7D zSBKH)iNrV-K4D;xR^6SFng%D;!Y=|eF~R0aj5BLo>9C7wChWXK0!R|$h$h3N$$*Uk z9I2VM6xeW4Xv}rkVHZXlWaYI;p%{h}7i=~N2~A-qA1a`q!^UAesgV8_60^h3A^5vz zNZNxT8;Nm7BnG`2G-^X|>98p{Y{_AF!e%n8Va6zf#R0@}n5qyMWT%C6nzob_*o)QF zpBhku>*vT!ONac>NfsQs`E&&HZ-xrCH@8E^(qt#>0^<&t1_TKJfqwWCG0uG7CB_IGwr_PfT$$;xol`Y< zb%WYqAqP0_H*C$cn=h=-I1V{|A-QE%YN{*EQcVDf&^aJeyvylySz$*w8fYTjj6w+e zG(lG3G&`iDXF_q;m{qn6yTbwbwX4LQ2oaobw;j?4!|(%DjqxZ35buP2xw7!iXAvsK z5!fgq6_T3UT}c@h8c6{+Ff5BrIl3^80_G!{5lVngOI8}B#I&{W3q#eSD>Tg8v`4dzI6XQ$&nT4|1yi9qFLcw>V88&xAg~6Ep}u zqx>73_WqiPQ4#quI`=N81Md?tI=GS3ff2le4*i%@|36SJ(DW8gyE};z`VpR>-f2#` zF(O7Y?{J#>7ZIcLWlk6VO2laThn#Z1fIMjS1gHFJloNF3I;VZ_5i#1oLC|M-f`(@~ z?SC8ZpqcfYhW`jY=*${UMcBuvafZ{-4WfilH$$NFf8o@>4)%e@QLl_H{?PH%=oT5-}S66{nF3-a!Yy%V~u04!QsyqfyiiqnUqln*1$MLg(=W6=pc? zJ%@Gz6>f8C+(G$4M^G+C`%nf(V~}UG=S@MM;0bD>J`#exEzq8|oO+QTqt>UKs;h_? z)qclm?kW+Zlbblr|D1@?$#*!_P)0_jEu5;?p${5b!|6E6m=NmwIOxRtoaRxdj86TD z)71CSFFK{}WQ4Y3R7P1DrVbq)8S#_ptt6eNPVPT?=-|{~-((-;OY^lvcQiLw9H>^B#jDMMR=r-VG>NGM z*ji^_QOXLS!Wrr&zUJJ<&&7UmR=S!7bvzWl?H!Z;w_LoE* zsu!IO$YZDj6g|npcn!%+H0!0x1xHdaE%~8(y;_%Y{6(iv6q^ZaAXhF==kjxjoX6Di zDAaJJ)@qJc3*1nPq2-W;EoU*b+<5NFXtmWSj#isqlcl9;ZGayvUOSYVS7ni}uFOO} zSIHY?hMZ!#va+rqV~ho0B_-`|HJiGHOqP`o#!I7GAFHa~q#0Tcm7>{fWLXR?H&8F4 zV{y@>bQZ&vn`q`LgC)~nYH1)HNKRRLv35jvIxD$easCd-l?n9bE) zVTpfn#Qo`Pftb@u0)oAk@rCH(4QBOgCaR)cTyKrP+K^ zF4d;1n6Hc#Ex^_~$StH3U|TwqCA~}}zjZ3$RI2=~Q;{)Ctsl#kTWX;(IKJfGdht@L zSjk_LJuZ>fTuWoL3csK#d>>$`cS~xlUYgI2uI##l#ml99Q7nf!!wr>nv#_Afmpf+1OO--M zwng9-5nyW_Eu56ocn!%IbE}s0b_-@HlUyx^&R2McJf}p^=4eSSGBI0il?wyqYJ=B? z&(#{}WPY+3MSem+Z?e=B^NGrevjVcidEv?{(S)NV(OWsFF^y`5mQ(st&SGdem7h6b z3bWW0swGthOmd_&UlN@n#1CloHEP9tbDZ_(q=A&0nGn!ZM@zzjy><90)5(rq zi3ix04!1GUG<95dK*w4OSVvHGXr%-+57%<}Qd2F$97{5_ys}g#S-nj%wLI%0rI~9y zyQFe$j+Pw9zN%U;8j?0gOOEEQqKRKOMIDxw#b~->WNEx=nf+K&3>o89%j~V@TMa|V zeAiNJDux+cuCIy16*fgCW~U@+UDZ-z`Af7srj}PNVaj_t zaRwX7*|4^o7|>5TU0B;r3h0Vq7uI$Y1Nw4=g){I{tsI;=(9I$(*~)`At2v9g*+e9C zPGdMM7`lvc$-M^SRm&XDm70c(@fwn0+m&jIA9HF^$<-R@kEYtDxB%!GiREVP)j zBvujyptd8IU0YS;^4mmob0^WQ*NFa%SjNYQnS7_8=*c>spjZ14zd3>!$7!O!%EXG61{tl==}pk8xInV;Q8Z2ME^iuTc(LR5pVesXu22itsK!i zh;jXE3Nf1VM1Q?N^h3z}0{j!RM5~eKb(G`1eMB4f6MY7n9VU7k&-KvzBYv+z`n$k9 z(;&Jrgz|v?g1puNZ*ZLG1LU&-W&9a_Z$ml$Hb(T}2+^-b5ii2?yC@?IpdI*qX8^HC&@Qy&>cg-BbOW?v8RFTroHo$oG=@qVrHyoi9-tZOrWLfFuG3re z@APFlL$6RL?WM2K0eX&}r?1ls^fh{k*3rZC2<@gl^bLBA`e+yJq(|uneVhJ+4$`ai zAPrLw?V#=SC0b2`G(d0CH|Y)f7G0!sbe3jmijL6v-wyQW6R!Gu# z$ihOCR}4Z-??4b;Ds;kZvYjSM^Q7U2Yv13(PEtf?u+2+Sf)0FgzUpo8Q7kT<-pzTs zK8A8jf@9mXq9DmX3sR6?_vc9daN+#$s0bd@q#Z6f_fG;BO5{YO1B=>RnI^-)Iwg9$ zM{bI_6-ILfcb%!5!G*7OEO@q*c9Mp3ls4`UXtSA~6N$7FlM5Y&#Y`dLMI!lJ!0sDL z4{WvHx1drY_fWL&>R3w7DjUu@SvqYSLaQl|LaQm*vfG5Sm#N|24fWJ(AY#ykvlWS{ zxh{B#BX)JdnN?9p-nSPxC-){FrMTdcnK?U!4dx|S)cKd)m|QW-(U;YicsBk-sBH8n zLY3rocAi;kXXnX_I4LxPNP*HiGp#DmLWiF$U4&Nxxu!;rQaYnPnl~~t?l;=p!1cw@ z#leNHXQT&P_2He-Pc)PDeRj^LOT}9wxuqCldJY1YH=BkX8(CX1&2TnhI)UesoNk3S zUQ95s<>Kr{_~x3CWnhEFRL!jwd&g4lE&!5kZ>KcZzTszVp@axHa`U7)a@!<1=JiZx z5|`(F<|av~2^POkqj~c=6|ILodJ-2Bq0Nv;l5=-QJITyINK0=%nJa8*Hf`CQKnX=QYRh6P7#XzGHbsc| z8x$vjZ%r(wxhW9|(tz~sh!jk@F63Quj%+?eR>=Zs{I2VJOeWX59VIszLO{HV*+Vkr ztruDEYNw$p(%4K0B@Ao5jWBs~u`+qa9H9JkBlf3w=7KB>!*%sWLFa315iF)$6D_9E zt$2=R*W(xhU<+d{^!Lu&*O1|T&OE!1XtvA~}w~}P*Fd%tfTX|$c(sITH&vwHF z)0w;7e7Nf^WVO>R81_t!^2mmBvypta*FeQ|u0^(TmUM3S3w9unkSi_na-3+vRkH&M z!27f5I13?>po8>E*mjmJadT9PAhv0yQ?h4 zbyOKod!tEv=~wBTCPK-9kDBXv-Lh9>N#RVh>QcUMVi|UADU{11n7Po`m)$#h#CMqI zR~ByGN1x;Ge#EUFKv<9cZ7JX~)P>E60P;VC>F90wBA&gprhiKb_pfuCJ7v0Lt(L=gq0_!3FDPP2s^^kke@{4KF zCs2gcj|tnZvmKpAo$*oi-vEf!S!7i8$ZBGvl8q|!ua|n|sOpw{Cii>!BA!fciR*ST z_4+vAQ@Uciwc5R1RB8wNQk)IV!c8_`F$gxGS$^K`Jedrs?Oxv_r$qU|mRp#7IYu|ZGwIG1+dJGJ%?qVVTExbB_dQO#VT zuV_T~fHtdr@;`iW`Ui7=*LrCB>^EZ%iTDZ+S!l+oaz@KyBl=;DWgmlN#Og`0>si#| zBPLcO`TESfm!X!K_IpZCr0v#eRC#`*j@h%dU2G&g>Z6$l_*rW;V&8fnQN;!_+8054 z%tupEhowi`;G?O?LPoSm|9sp>a}Q@SwqLjUKc?)R!6O(I8#Ss7!em8B*%LellqW0{ zrxM%VeZ*$wCoLo^bd=Gq*qri|Mw92QZd58GYRtwC5A|+qG-l(|9-0hAsUyj(Hb#7+ zO+Km!({V60T`zW5km93nM(=#a!wL_)wlPzDBetj8>|t7=#jG`&VkO&&JnJFyU|Y8O zjP*};i=NdLb|OYl;ck4f*m=Wq8Z8`Z%~+Q`DYNENsLSVlOdZ9|ikC8fvNM$zTs${G zoDp+-ijC|T@@pDX4)}QNIb#`OJIt>eW$?q=9I)L{8SA+(ns|1=Jfn5nQcjXyL=C^B z(H4lsXS6hB@4gP$TQs(c<7GpMwcpD&igSM;8(wVJzSY6gHxn{qrHo1D)4Zaw%sUSp zsBNDnHrsT1NJi`{BVKG*)@9&XH#M?iMb`Q50M=ctOA)LdjpbY~$<{k!`@U@kmV0q! z>Cv`3XlB?t8(M6Z+~J^kN4D+v{>Ywhr-gAF>aj~3j zQQJKwWzAuJV6Tf6-l(+QcHJqMY@O>9n9k+2dr*`80?EJk#=+XH$*zayCCvd3fR--8B*y1`=i;S;ff#%$}%!-uK=ULR^fI{*vb7n;ANtqYF3bca)Ep|_o!?ruF zW2aRk5;gt*F3M`~cmhr>3ScOf?;Vr0CJ z8Hj?&A3Ole1cvg39jxOt`3b=?lfq;wA%F))m!^ z_Qh7CqZ-q@u${3DBcAgyjpknk&uHDY6ucMEddD@M6Wd;jdW}WzPiSO)fjy&zF<V`%J_~D|ndt1DI^}81s3HE}H*oO-37I(Tf=m)d+nDx@x;U zCuZ>l7u)|HD5J$OFMrlWRi7GVY}1rk^*Qv~QV0wG^=zPG+nxiqrS#nAfqT)#4SpY$ z(cTn4hn+~ydAR)l#y5^!+qN?nQz^T6_xMC|-o?9zUU(&dwG{oPC(>W5E@tQ}w~S*l zw&SR|xaL=2YRYN teLl9I_?Cxce%QP8mc1$Q>`#U{Q2Uleyp^{+q`SY75v$4T7G8LX`#-H?y6yk~ diff --git a/deps/glfw_win/lib-vc2019/glfw3.dll b/deps/glfw_win/lib-vc2019/glfw3.dll deleted file mode 100755 index 63ef3615b3aa16268a684dd85b2eb0bd6f31d662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225792 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 |dag^CeNh8)M?M?nl#&hfN&wAd2}o%!}G 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 Re(2akV-MwGr1j$c{y(X7s9XR5 diff --git a/deps/glfw_win/lib-vc2019/glfw3.lib b/deps/glfw_win/lib-vc2019/glfw3.lib deleted file mode 100755 index 9051189fc35395b4b2aa47b5e69379836028f6be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646460 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

s>>ixb(|_9Upg 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%0AUJfdi*guf~p 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 b0F0Efa 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

RC>QP3CeAsi~Kone&^8e)&X;kVl zg}Sb$vxB5=z!N7&8kKq+J{I%qbP;anhL%Z^3UZ1xDzyMUat`*I_m{&%gm5~iNTX6u zFiPa8*Lu|1C#iQhMH-b_$S6?*Jb254?@Q_jPLW2Xo@A7GUUe2WYb~kfEpQQzG%EEJ zeB``n+Y1}(N~#B^NTX6uGfI@NF4w(vt)ymgiZm*emYIx->+H*$(JDz%tV zA`M#|OR6KO-#A4Ym3l^@MogV!$Wd)u;vyVrRO(sy$eD^ja9v+%>uyewMx~xpsBRxF z@JVVur%0nx&ofGtl)ndm^q!IFuLy0>une&h#{hJSF1G%B@3p%ObKmrAO0 zA}+#_Mx|bakHsu{DdXy9BDICB+(cZ2BaKSE1Rps^G;s1Qs4@lhR3a|Ikw&GK!bkRd z$3K;g?y8{nB;q0*X;kWE_*l&76f)Ph>Mso?Woo7Ql18PL!N;P{wEySQb$cY0#wpUM z)N+M-$YVMysX|VXMx|a+sI%YgIxMN@I7J$jdX-Tf%=iaxe3!jA6RB~SQ>0O;74Wf` z1vUGPg1wTeaTDFiWFn19y#^nPS+uZUUhegPq`Gm6G%7{)r=$)fbRH_HVos4prQTqa zn4f=lR*gbQE$0+zRO(HI8d$w-u%y1=6lqjyC8K`Dk=&I5+??8Pn#lA6dV(x}ubMj=Bm7j7I{EvYv-MH-cQ8$NPx zPf3>rKT7H=PLW2X-eDBI_e$>d{Jp3vs%Rff4ccfYq){mZ2)4wk*~cwA7*fN_DblFa z8b*n+L$GSoY-wu>r%0nxYZYqThHI)zY89tQqf+Y_C2G-$4Qe!!)c2esjY_RosIQLx z%oI4lHM?2+mozH10X}kV^i|6rcsMP!Lv6!hABDdqh zXZbROcXNs~DzzCt7Bl&iyZ+hh3MBO~r#9n?N^OCU?9czQ)wsUAl~bfqsjZAUh9kL* zc%P3s1&t#a$I@G@W%|T!@Zm$ zjY@sYC@~XguGwOOw6%;=q*19)7$tW1)kw{}D5+zdB8^IYs!(IU-`P@9^*Z7r9BEYQ zGx*4zgvTOFf02}nQ>0O;BMNoX&OM}9Mx{_NVCz<11GMsgVW3uWiZm+qIitj` z566bN=p2bU>c5;KjY?7dDf4`*8>;^%sT*&_ML5!^)EDrPA^fC9>OGPQbBZ)7b(~S6 zFFJ0j(y?`URx2k`1 zUQ$~)MH-d*FMKTK7jPu^_@EVaBz2xsq*1AF;bSpV|BBojA0I^|M2>3TS@R{0N___( zi}`u&vT59d;|*nbAg4&9Qr|O5w0hB}NA{Ms9_18iRO%F?e#Vhp$t%YUwm#$(X;kV5 z_{hEbRX={gP*N^)iZm*PLTI3Bq&xw$A~kNi4Hw}^qf$S?$6^+9%TGP^?jA|yaf&o5 zMKQ9N@o1SFzP#4!l6sm`q*1BU@R1|LcQ%b%AgR5aB8^J@!YI+E)ZE@5`9Z`>`z{!h zi8LzpE2G4G)W{|Mkxc}Zk%WtIq){nkafDFp@LzVcTQy0I;1p?83RMy)dLraLdp?Xv z2wN|3iZm*97Cv(S#^SFI7fb3DPLW2X&@_VDj3c?>4_1Fd zQpY((8kM>PA8G68Lw~(0sro5&CzFXZD)k3^WPRAnM=REm0QlB(6Cc#Whc zaf&o5^(Ujmh`y*fT>p-*1)Fx11u4N}*au2>0Pg?wi*29+A|I zshTfoRO%o2$b9%veACS9e>;7CbTT-hz zMH-bdGfM2nod39glB9m%6lqk7-r$gXI5Q9TvP-H(8Vk0GG%AHX4xp%vlRN2Z7?o5{ zPLW2X5*Q_F(H$qgFObwMPLW2XXb*<0dzXLoYX?bf

RCsv4ujoWoGxo?9gK8>dL4 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 G;{G2xtJX3A From cbb262444ea891bbda374590bc8ff1763314ea9a Mon Sep 17 00:00:00 2001 From: tch Date: Fri, 7 Apr 2023 19:48:33 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BD=BF=E7=94=A8cmake=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E7=9A=84=E8=B7=A8=E5=B9=B3=E5=8F=B0=E6=96=87=E4=BB=B6=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E6=93=8D=E4=BD=9C=E5=A4=8D=E5=88=B6=E5=BF=85=E8=A6=81?= =?UTF-8?q?=E7=9A=84=E8=B5=84=E6=BA=90=E6=96=87=E4=BB=B6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ebf9f935..16ae521f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -377,4 +377,20 @@ else() endif() +#-------------------------------------------------------------------------------------# +# copy necessary files after every build (only when different) +#-------------------------------------------------------------------------------------# +function(copy_dir_to_target_file_dir target dirname source) + set(source ${ARGV}) + list(POP_FRONT source) + list(POP_FRONT source) + add_custom_command(TARGET ${target} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${source} $/${dirname} # need cmake 3.26 + COMMAND_EXPAND_LISTS + ) +endfunction() +copy_dir_to_target_file_dir(tprpix shaders ${CMAKE_SOURCE_DIR}/shaders) +copy_dir_to_target_file_dir(tprpix jsons ${CMAKE_SOURCE_DIR}/jsons) +copy_dir_to_target_file_dir(tprpix blueprintDatas ${CMAKE_SOURCE_DIR}/blueprintDatas) +copy_dir_to_target_file_dir(tprpix gameObjDatas ${CMAKE_SOURCE_DIR}/gameObjDatas) \ No newline at end of file From 6c230e9800f23bc98be52bab17711ab99926e441 Mon Sep 17 00:00:00 2001 From: tch Date: Fri, 7 Apr 2023 20:48:40 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E7=BC=96=E8=AF=91=E8=AD=A6=E5=91=8A=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 36 +++++++++++++++++++++++++++++++++++- sysconfig/SysConfig.h.in | 6 ++++-- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 16ae521f..13ed9ada 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -393,4 +393,38 @@ endfunction() copy_dir_to_target_file_dir(tprpix shaders ${CMAKE_SOURCE_DIR}/shaders) copy_dir_to_target_file_dir(tprpix jsons ${CMAKE_SOURCE_DIR}/jsons) copy_dir_to_target_file_dir(tprpix blueprintDatas ${CMAKE_SOURCE_DIR}/blueprintDatas) -copy_dir_to_target_file_dir(tprpix gameObjDatas ${CMAKE_SOURCE_DIR}/gameObjDatas) \ No newline at end of file +copy_dir_to_target_file_dir(tprpix gameObjDatas ${CMAKE_SOURCE_DIR}/gameObjDatas) + +#-------------------------------------------------------------------------------------# +# disable some unnecessary 3rd party libraries warnings +#-------------------------------------------------------------------------------------# +target_compile_options(glfw PRIVATE + $<$:$> + $<$:$> +) \ No newline at end of file diff --git a/sysconfig/SysConfig.h.in b/sysconfig/SysConfig.h.in index 7d0fce8d..75ec7962 100644 --- a/sysconfig/SysConfig.h.in +++ b/sysconfig/SysConfig.h.in @@ -23,6 +23,8 @@ //-- 以便 源码 中使用。 #define SYSTEM_NAME "@CMAKE_SYSTEM_NAME@" - - +#ifdef _MSC_VER +#pragma warning(disable : 4819) // for code page warnings #endif + +#endif \ No newline at end of file From 0415c5b5a8677848d6641b61024475472f8229cf Mon Sep 17 00:00:00 2001 From: tch Date: Fri, 7 Apr 2023 22:15:00 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=A1=A5=E5=85=85=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=B0=8F=E7=BB=86=E8=8A=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 15 +++++++-------- deps/sqlite.3.28/CMakeLists.txt | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 13ed9ada..349e5bf7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -381,19 +381,18 @@ endif() # copy necessary files after every build (only when different) #-------------------------------------------------------------------------------------# function(copy_dir_to_target_file_dir target dirname source) - set(source ${ARGV}) - list(POP_FRONT source) - list(POP_FRONT source) add_custom_command(TARGET ${target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${source} $/${dirname} # need cmake 3.26 + COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${source} $/${dirname} # copy_directory_if_different need cmake 3.26 COMMAND_EXPAND_LISTS ) endfunction() -copy_dir_to_target_file_dir(tprpix shaders ${CMAKE_SOURCE_DIR}/shaders) -copy_dir_to_target_file_dir(tprpix jsons ${CMAKE_SOURCE_DIR}/jsons) -copy_dir_to_target_file_dir(tprpix blueprintDatas ${CMAKE_SOURCE_DIR}/blueprintDatas) -copy_dir_to_target_file_dir(tprpix gameObjDatas ${CMAKE_SOURCE_DIR}/gameObjDatas) +if( ${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.26 ) + copy_dir_to_target_file_dir(tprpix shaders ${CMAKE_SOURCE_DIR}/shaders) + copy_dir_to_target_file_dir(tprpix jsons ${CMAKE_SOURCE_DIR}/jsons) + copy_dir_to_target_file_dir(tprpix blueprintDatas ${CMAKE_SOURCE_DIR}/blueprintDatas) + copy_dir_to_target_file_dir(tprpix gameObjDatas ${CMAKE_SOURCE_DIR}/gameObjDatas) +endif() #-------------------------------------------------------------------------------------# # disable some unnecessary 3rd party libraries warnings diff --git a/deps/sqlite.3.28/CMakeLists.txt b/deps/sqlite.3.28/CMakeLists.txt index 27e7c606..5ed39dcd 100644 --- a/deps/sqlite.3.28/CMakeLists.txt +++ b/deps/sqlite.3.28/CMakeLists.txt @@ -32,7 +32,7 @@ target_compile_options ( SQLite PRIVATE $<$:$> $<$:$