16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-21 14:49:19 +02:00

maintenance: glfw update to v 3.3.2

This commit is contained in:
tmj-fstate
2020-10-05 18:35:59 +02:00
parent 730ba72516
commit ef200df575
166 changed files with 4592 additions and 2302 deletions

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Bug List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -67,11 +67,11 @@ $(function() {
<dt>Page <a class="el" href="window_guide.html">Window guide</a> </dt>
<dd><a class="anchor" id="_bug000001"></a>On some Linux systems, creating contexts via both the native and EGL APIs in a single process will cause the application to segfault. Stick to one API or the other on Linux for now.</dd>
</dl>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div></div><!-- contents -->
</div><!-- PageDoc -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: build.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Building applications</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -82,7 +82,8 @@ $(function() {
<h1><a class="anchor" id="build_include"></a>
Including the GLFW header file</h1>
<p>You should include the GLFW header in the source files where you use OpenGL or GLFW.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div></div><!-- fragment --><p>This header declares the GLFW API and by default also includes the OpenGL header from your development environment. See below for how to control this.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div>
</div><!-- fragment --><p>This header declares the GLFW API and by default also includes the OpenGL header from your development environment. See below for how to control this.</p>
<p>The GLFW header also defines any platform-specific macros needed by your OpenGL header, so it can be included without needing any window system headers.</p>
<p>For example, under Windows you are normally required to include <code>windows.h</code> before the OpenGL header, which would bring in the whole Win32 API. The GLFW header duplicates the small number of macros needed.</p>
<p>It does this only when needed, so if <code>windows.h</code> <em>is</em> included, the GLFW header does not try to redefine those symbols. The reverse is not true, i.e. <code>windows.h</code> cannot cope if any of its symbols have already been defined.</p>
@@ -93,12 +94,18 @@ Including the GLFW header file</h1>
<li>If you <em>do</em> need to include such headers, do it <em>before</em> including the GLFW header and it will handle this</li>
</ul>
<p>If you are using an OpenGL extension loading library such as <a href="https://github.com/Dav1dde/glad">glad</a>, the extension loader header should be included <em>before</em> the GLFW one.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;glad/gl.h&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div></div><!-- fragment --><p>Alternatively the <a class="el" href="build_guide.html#GLFW_INCLUDE_NONE">GLFW_INCLUDE_NONE</a> macro (described below) can be used to prevent the GLFW header from including the OpenGL header.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_NONE</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;glad/gl.h&gt;</span></div></div><!-- fragment --><h2><a class="anchor" id="build_macros"></a>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;glad/gl.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div>
</div><!-- fragment --><p>Alternatively the <a class="el" href="build_guide.html#GLFW_INCLUDE_NONE">GLFW_INCLUDE_NONE</a> macro (described below) can be used to prevent the GLFW header from including the OpenGL header.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_NONE</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;glad/gl.h&gt;</span></div>
</div><!-- fragment --><h2><a class="anchor" id="build_macros"></a>
GLFW header option macros</h2>
<p>These macros may be defined before the inclusion of the GLFW header and affect its behavior.</p>
<p><a class="anchor" id="GLFW_DLL"></a><b>GLFW_DLL</b> is required on Windows when using the GLFW DLL, to tell the compiler that the GLFW functions are defined in a DLL.</p>
<p>The following macros control which OpenGL or OpenGL ES API header is included. Only one of these may be defined at a time.</p>
<dl class="section note"><dt>Note</dt><dd>GLFW does not provide any of the API headers mentioned below. They are provided by your development environment or your OpenGL, OpenGL ES or Vulkan SDK, and most of them can be downloaded from the <a href="https://www.khronos.org/registry/">Khronos Registry</a>.</dd></dl>
<p><a class="anchor" id="GLFW_INCLUDE_GLCOREARB"></a><b>GLFW_INCLUDE_GLCOREARB</b> makes the GLFW header include the modern <code>GL/glcorearb.h</code> header (<code>OpenGL/gl3.h</code> on macOS) instead of the regular OpenGL header.</p>
<p><a class="anchor" id="GLFW_INCLUDE_ES1"></a><b>GLFW_INCLUDE_ES1</b> makes the GLFW header include the OpenGL ES 1.x <code>GLES/gl.h</code> header instead of the regular OpenGL header.</p>
<p><a class="anchor" id="GLFW_INCLUDE_ES2"></a><b>GLFW_INCLUDE_ES2</b> makes the GLFW header include the OpenGL ES 2.0 <code>GLES2/gl2.h</code> header instead of the regular OpenGL header.</p>
@@ -111,9 +118,7 @@ GLFW header option macros</h2>
<p><a class="anchor" id="GLFW_INCLUDE_VULKAN"></a><b>GLFW_INCLUDE_VULKAN</b> makes the GLFW header include the Vulkan <code>vulkan/vulkan.h</code> header in addition to any selected OpenGL or OpenGL ES header.</p>
<p><a class="anchor" id="GLFW_INCLUDE_GLEXT"></a><b>GLFW_INCLUDE_GLEXT</b> makes the GLFW header include the appropriate extension header for the OpenGL or OpenGL ES header selected above after and in addition to that header.</p>
<p><a class="anchor" id="GLFW_INCLUDE_GLU"></a><b>GLFW_INCLUDE_GLU</b> makes the header include the GLU header in addition to the header selected above. This should only be used with the standard OpenGL header and only for compatibility with legacy code. GLU has been deprecated and should not be used in new code.</p>
<dl class="section note"><dt>Note</dt><dd>GLFW does not provide any of the API headers mentioned above. They must be provided by your development environment or your OpenGL, OpenGL ES or Vulkan SDK.</dd>
<dd>
None of these macros may be defined during the compilation of GLFW itself. If your build includes GLFW and you define any these in your build files, make sure they are not applied to the GLFW sources.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None of these macros may be defined during the compilation of GLFW itself. If your build includes GLFW and you define any these in your build files, make sure they are not applied to the GLFW sources.</dd></dl>
<h1><a class="anchor" id="build_link"></a>
Link with the right libraries</h1>
<p>GLFW is essentially a wrapper of various platform-specific APIs and therefore needs to link against many different system libraries. If you are using GLFW as a shared library / dynamic library / DLL then it takes care of these links. However, if you are using GLFW as a static library then your executable will need to link against these libraries.</p>
@@ -123,54 +128,63 @@ Link with the right libraries</h1>
With MinGW or Visual C++ on Windows</h2>
<p>The static version of the GLFW library is named <code>glfw3</code>. When using this version, it is also necessary to link with some libraries that GLFW uses.</p>
<p>When using MinGW to link an application with the static version of GLFW, you must also explicitly link with <code>gdi32</code>. Other toolchains including MinGW-w64 include it in the set of default libraries along with other dependencies like <code>user32</code> and <code>kernel32</code>.</p>
<p>If you are using GLU, you must also link with <code>glu32</code>.</p>
<p>The link library for the GLFW DLL is named <code>glfw3dll</code>. When compiling an application that uses the DLL version of GLFW, you need to define the <a class="el" href="build_guide.html#GLFW_DLL">GLFW_DLL</a> macro <em>before</em> any inclusion of the GLFW header. This can be done either with a compiler switch or by defining it in your source code.</p>
<p>An application using the GLFW DLL does not need to link against any of its dependencies, but you still have to link against <code>glu32</code> if it uses GLU.</p>
<h2><a class="anchor" id="build_link_cmake_source"></a>
With CMake and GLFW source</h2>
<p>This section is about using CMake to compile and link GLFW along with your application. If you want to use an installed binary instead, see <a class="el" href="build_guide.html#build_link_cmake_package">With CMake and installed GLFW binaries</a>.</p>
<p>With a few changes to your <code>CMakeLists.txt</code> you can have the GLFW source tree built along with your application.</p>
<p>When including GLFW as part of your build, you probably don't want to build the GLFW tests, examples and documentation. To disable these, set the corresponding cache variables before adding the GLFW source tree.</p>
<div class="fragment"><div class="line">set(GLFW_BUILD_DOCS OFF CACHE BOOL <span class="stringliteral">&quot;&quot;</span> FORCE)</div><div class="line">set(GLFW_BUILD_TESTS OFF CACHE BOOL <span class="stringliteral">&quot;&quot;</span> FORCE)</div><div class="line">set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL <span class="stringliteral">&quot;&quot;</span> FORCE)</div></div><!-- fragment --><p>Then add the root directory of the GLFW source tree to your project. This will add the <code>glfw</code> target and the necessary cache variables to your project.</p>
<div class="fragment"><div class="line">add_subdirectory(path/to/glfw)</div></div><!-- fragment --><p>Once GLFW has been added to the project, link against it with the <code>glfw</code> target. This adds all link-time dependencies of GLFW as it is currently configured, the include directory for the GLFW header and, when applicable, the <a class="el" href="build_guide.html#GLFW_DLL">GLFW_DLL</a> macro.</p>
<div class="fragment"><div class="line">target_link_libraries(myapp glfw)</div></div><!-- fragment --><p>Note that the dependencies do not include OpenGL or GLU, as GLFW loads any OpenGL, OpenGL ES or Vulkan libraries it needs at runtime and does not use GLU. If your application calls OpenGL directly, instead of using a modern <a class="el" href="context_guide.html#context_glext_auto">extension loader library</a> you can find it by requiring the OpenGL package.</p>
<div class="fragment"><div class="line">find_package(OpenGL REQUIRED)</div></div><!-- fragment --><p>If OpenGL is found, the <code>OPENGL_FOUND</code> variable is true and the <code>OPENGL_INCLUDE_DIR</code> and <code>OPENGL_gl_LIBRARY</code> cache variables can be used.</p>
<div class="fragment"><div class="line">target_include_directories(myapp PUBLIC ${OPENGL_INCLUDE_DIR})</div><div class="line">target_link_libraries(myapp ${OPENGL_gl_LIBRARY})</div></div><!-- fragment --><p>The OpenGL CMake package also looks for GLU. If GLU is found, the <code>OPENGL_GLU_FOUND</code> variable is true and the <code>OPENGL_INCLUDE_DIR</code> and <code>OPENGL_glu_LIBRARY</code> cache variables can be used.</p>
<div class="fragment"><div class="line">target_link_libraries(myapp ${OPENGL_glu_LIBRARY})</div></div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>GLU has been deprecated and should not be used in new code, but some legacy code requires it. See the <a class="el" href="moving_guide.html#moving_glu">section on GLU</a> in the transition guide for suggested replacements.</dd></dl>
<h2><a class="anchor" id="build_link_cmake_package"></a>
<div class="fragment"><div class="line">set(GLFW_BUILD_DOCS OFF CACHE BOOL <span class="stringliteral">&quot;&quot;</span> FORCE)</div>
<div class="line">set(GLFW_BUILD_TESTS OFF CACHE BOOL <span class="stringliteral">&quot;&quot;</span> FORCE)</div>
<div class="line">set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL <span class="stringliteral">&quot;&quot;</span> FORCE)</div>
</div><!-- fragment --><p>Add the root directory of the GLFW source tree to your project. This will add the <code>glfw</code> target to your project.</p>
<div class="fragment"><div class="line">add_subdirectory(path/to/glfw)</div>
</div><!-- fragment --><p>Once GLFW has been added, link your application against the <code>glfw</code> target. This adds the GLFW library and its link-time dependencies as it is currently configured, the include directory for the GLFW header and, when applicable, the <a class="el" href="build_guide.html#GLFW_DLL">GLFW_DLL</a> macro.</p>
<div class="fragment"><div class="line">target_link_libraries(myapp glfw)</div>
</div><!-- fragment --><p>Note that the <code>glfw</code> target does not depend on OpenGL, as GLFW loads any OpenGL, OpenGL ES or Vulkan libraries it needs at runtime. If your application calls OpenGL directly, instead of using a modern <a class="el" href="context_guide.html#context_glext_auto">extension loader library</a>, use the OpenGL CMake package.</p>
<div class="fragment"><div class="line">find_package(OpenGL REQUIRED)</div>
</div><!-- fragment --><p>If OpenGL is found, the <code>OpenGL::GL</code> target is added to your project, containing library and include directory paths. Link against this like above.</p>
<div class="fragment"><div class="line">target_link_libraries(myapp OpenGL::GL)</div>
</div><!-- fragment --><h2><a class="anchor" id="build_link_cmake_package"></a>
With CMake and installed GLFW binaries</h2>
<p>This section is about using CMake to link GLFW after it has been built and installed. If you want to build it along with your application instead, see <a class="el" href="build_guide.html#build_link_cmake_source">With CMake and GLFW source</a>.</p>
<p>With a few changes to your <code>CMakeLists.txt</code> you can locate the package and target files generated when GLFW is installed.</p>
<div class="fragment"><div class="line">find_package(glfw3 3.3 REQUIRED)</div></div><!-- fragment --><p>Once GLFW has been added to the project, link against it with the <code>glfw</code> target. This adds all link-time dependencies of GLFW as it is currently configured, the include directory for the GLFW header and, when applicable, the <a class="el" href="build_guide.html#GLFW_DLL">GLFW_DLL</a> macro.</p>
<div class="fragment"><div class="line">target_link_libraries(myapp glfw)</div></div><!-- fragment --><p>Note that the dependencies do not include OpenGL or GLU, as GLFW loads any OpenGL, OpenGL ES or Vulkan libraries it needs at runtime and does not use GLU. If your application calls OpenGL directly, instead of using a modern <a class="el" href="context_guide.html#context_glext_auto">extension loader library</a> you can find it by requiring the OpenGL package.</p>
<div class="fragment"><div class="line">find_package(OpenGL REQUIRED)</div></div><!-- fragment --><p>If OpenGL is found, the <code>OPENGL_FOUND</code> variable is true and the <code>OPENGL_INCLUDE_DIR</code> and <code>OPENGL_gl_LIBRARY</code> cache variables can be used.</p>
<div class="fragment"><div class="line">target_include_directories(myapp PUBLIC ${OPENGL_INCLUDE_DIR})</div><div class="line">target_link_libraries(myapp ${OPENGL_gl_LIBRARY})</div></div><!-- fragment --><p>The OpenGL CMake package also looks for GLU. If GLU is found, the <code>OPENGL_GLU_FOUND</code> variable is true and the <code>OPENGL_INCLUDE_DIR</code> and <code>OPENGL_glu_LIBRARY</code> cache variables can be used.</p>
<div class="fragment"><div class="line">target_link_libraries(myapp ${OPENGL_glu_LIBRARY})</div></div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>GLU has been deprecated and should not be used in new code, but some legacy code requires it. See the <a class="el" href="moving_guide.html#moving_glu">section on GLU</a> in the transition guide for suggested replacements.</dd></dl>
<h2><a class="anchor" id="build_link_pkgconfig"></a>
<div class="fragment"><div class="line">find_package(glfw3 3.3 REQUIRED)</div>
</div><!-- fragment --><p>Once GLFW has been added to the project, link against it with the <code>glfw</code> target. This adds the GLFW library and its link-time dependencies, the include directory for the GLFW header and, when applicable, the <a class="el" href="build_guide.html#GLFW_DLL">GLFW_DLL</a> macro.</p>
<div class="fragment"><div class="line">target_link_libraries(myapp glfw)</div>
</div><!-- fragment --><p>Note that the <code>glfw</code> target does not depend on OpenGL, as GLFW loads any OpenGL, OpenGL ES or Vulkan libraries it needs at runtime. If your application calls OpenGL directly, instead of using a modern <a class="el" href="context_guide.html#context_glext_auto">extension loader library</a>, use the OpenGL CMake package.</p>
<div class="fragment"><div class="line">find_package(OpenGL REQUIRED)</div>
</div><!-- fragment --><p>If OpenGL is found, the <code>OpenGL::GL</code> target is added to your project, containing library and include directory paths. Link against this like above.</p>
<div class="fragment"><div class="line">target_link_libraries(myapp OpenGL::GL)</div>
</div><!-- fragment --><h2><a class="anchor" id="build_link_pkgconfig"></a>
With makefiles and pkg-config on Unix</h2>
<p>GLFW supports <a href="https://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a>, and the <code>glfw3.pc</code> pkg-config file is generated when the GLFW library is built and is installed along with it. A pkg-config file describes all necessary compile-time and link-time flags and dependencies needed to use a library. When they are updated or if they differ between systems, you will get the correct ones automatically.</p>
<p>A typical compile and link command-line when using the static version of the GLFW library may look like this:</p>
<div class="fragment"><div class="line">cc `pkg-config --cflags glfw3` -o myprog myprog.c `pkg-config --static --libs glfw3`</div></div><!-- fragment --><p>If you are using the shared version of the GLFW library, omit the <code>--static</code> flag.</p>
<div class="fragment"><div class="line">cc `pkg-config --cflags glfw3` -o myprog myprog.c `pkg-config --libs glfw3`</div></div><!-- fragment --><p>You can also use the <code>glfw3.pc</code> file without installing it first, by using the <code>PKG_CONFIG_PATH</code> environment variable.</p>
<div class="fragment"><div class="line">env PKG_CONFIG_PATH=path/to/glfw/src cc `pkg-config --cflags glfw3` -o myprog myprog.c `pkg-config --libs glfw3`</div></div><!-- fragment --><p>The dependencies do not include OpenGL or GLU, as GLFW loads any OpenGL, OpenGL ES or Vulkan libraries it needs at runtime and does not use GLU. On macOS, GLU is built into the OpenGL framework, so if you need GLU you don't need to do anything extra. If you need GLU and are using Linux or BSD, you should add the <code>glu</code> pkg-config package.</p>
<div class="fragment"><div class="line">cc `pkg-config --cflags glfw3 glu` -o myprog myprog.c `pkg-config --libs glfw3 glu`</div></div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>GLU has been deprecated and should not be used in new code, but some legacy code requires it. See the <a class="el" href="moving_guide.html#moving_glu">section on GLU</a> in the transition guide for suggested replacements.</dd></dl>
<p>If you are using the static version of the GLFW library, make sure you don't link statically against GLU.</p>
<div class="fragment"><div class="line">cc `pkg-config --cflags glfw3 glu` -o myprog myprog.c `pkg-config --static --libs glfw3` `pkg-config --libs glu`</div></div><!-- fragment --><h2><a class="anchor" id="build_link_xcode"></a>
<div class="fragment"><div class="line">cc $(pkg-config --cflags glfw3) -o myprog myprog.c $(pkg-config --static --libs glfw3)</div>
</div><!-- fragment --><p>If you are using the shared version of the GLFW library, omit the <code>--static</code> flag.</p>
<div class="fragment"><div class="line">cc $(pkg-config --cflags glfw3) -o myprog myprog.c $(pkg-config --libs glfw3)</div>
</div><!-- fragment --><p>You can also use the <code>glfw3.pc</code> file without installing it first, by using the <code>PKG_CONFIG_PATH</code> environment variable.</p>
<div class="fragment"><div class="line">env PKG_CONFIG_PATH=path/to/glfw/src cc $(pkg-config --cflags glfw3) -o myprog myprog.c $(pkg-config --libs glfw3)</div>
</div><!-- fragment --><p>The dependencies do not include OpenGL, as GLFW loads any OpenGL, OpenGL ES or Vulkan libraries it needs at runtime. If your application calls OpenGL directly, instead of using a modern <a class="el" href="context_guide.html#context_glext_auto">extension loader library</a>, you should add the <code>gl</code> pkg-config package.</p>
<div class="fragment"><div class="line">cc $(pkg-config --cflags glfw3 gl) -o myprog myprog.c $(pkg-config --libs glfw3 gl)</div>
</div><!-- fragment --><h2><a class="anchor" id="build_link_xcode"></a>
With Xcode on macOS</h2>
<p>If you are using the dynamic library version of GLFW, add it to the project dependencies.</p>
<p>If you are using the static library version of GLFW, add it and the Cocoa, OpenGL, IOKit and CoreVideo frameworks to the project as dependencies. They can all be found in <code>/System/Library/Frameworks</code>.</p>
<p>If you are using the static library version of GLFW, add it and the Cocoa, OpenGL and IOKit frameworks to the project as dependencies. They can all be found in <code>/System/Library/Frameworks</code>.</p>
<h2><a class="anchor" id="build_link_osx"></a>
With command-line on macOS</h2>
<p>It is recommended that you use <a class="el" href="build_guide.html#build_link_pkgconfig">pkg-config</a> when building from the command line on macOS. That way you will get any new dependencies added automatically. If you still wish to build manually, you need to add the required frameworks and libraries to your command-line yourself using the <code>-l</code> and <code>-framework</code> switches.</p>
<p>If you are using the dynamic GLFW library, which is named <code>libglfw.3.dylib</code>, do:</p>
<div class="fragment"><div class="line">cc -o myprog myprog.c -lglfw -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo</div></div><!-- fragment --><p>If you are using the static library, named <code>libglfw3.a</code>, substitute <code>-lglfw3</code> for <code>-lglfw</code>.</p>
<div class="fragment"><div class="line">cc -o myprog myprog.c -lglfw -framework Cocoa -framework OpenGL -framework IOKit</div>
</div><!-- fragment --><p>If you are using the static library, named <code>libglfw3.a</code>, substitute <code>-lglfw3</code> for <code>-lglfw</code>.</p>
<p>Note that you do not add the <code>.framework</code> extension to a framework when linking against it from the command-line.</p>
<p>The OpenGL framework contains both the OpenGL and GLU APIs, so there is nothing special to do when using GLU. Also note that even though your machine may have <code>libGL</code>-style OpenGL libraries, they are for use with the X Window System and will <em>not</em> work with the macOS native version of GLFW. </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<dl class="section note"><dt>Note</dt><dd>Your machine may have <code>libGL.*.dylib</code> style OpenGL library, but that is for the X Window System and will not work with the macOS native version of GLFW. </dd></dl>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<div class="ttc" id="aglfw3_8h_html"><div class="ttname"><a href="glfw3_8h.html">glfw3.h</a></div><div class="ttdoc">The header of the GLFW 3 API.</div></div>
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: compat.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Standards conformance</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -130,14 +130,14 @@ Vulkan loader and API</h1>
Vulkan WSI extensions</h1>
<p>The Vulkan WSI extensions are used to create Vulkan surfaces for GLFW windows on all supported platforms.</p>
<p>GLFW uses the <code>VK_KHR_surface</code> and <code>VK_KHR_win32_surface</code> extensions to create surfaces on Microsoft Windows. If any of these extensions are not available, <a class="el" href="group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1">glfwGetRequiredInstanceExtensions</a> will return an empty list and window surface creation will fail.</p>
<p>GLFW uses the <code>VK_KHR_surface</code> and <code>VK_MVK_macos_surface</code> extensions to create surfaces on macOS. If any of these extensions are not available, <a class="el" href="group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1">glfwGetRequiredInstanceExtensions</a> will return an empty list and window surface creation will fail.</p>
<p>GLFW uses the <code>VK_KHR_surface</code> and either the <code>VK_MVK_macos_surface</code> or <code>VK_EXT_metal_surface</code> extensions to create surfaces on macOS. If any of these extensions are not available, <a class="el" href="group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1">glfwGetRequiredInstanceExtensions</a> will return an empty list and window surface creation will fail.</p>
<p>GLFW uses the <code>VK_KHR_surface</code> and either the <code>VK_KHR_xlib_surface</code> or <code>VK_KHR_xcb_surface</code> extensions to create surfaces on X11. If <code>VK_KHR_surface</code> or both <code>VK_KHR_xlib_surface</code> and <code>VK_KHR_xcb_surface</code> are not available, <a class="el" href="group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1">glfwGetRequiredInstanceExtensions</a> will return an empty list and window surface creation will fail.</p>
<p>GLFW uses the <code>VK_KHR_surface</code> and <code>VK_KHR_wayland_surface</code> extensions to create surfaces on Wayland. If any of these extensions are not available, <a class="el" href="group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1">glfwGetRequiredInstanceExtensions</a> will return an empty list and window surface creation will fail. </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div></div><!-- contents -->
</div><!-- PageDoc -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: compile.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Compiling GLFW</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -105,8 +105,10 @@ Dependencies for MinGW or MinGW-w64 on Windows</h3>
Dependencies for MinGW or MinGW-w64 cross-compilation</h3>
<p>Both Cygwin and many Linux distributions have MinGW or MinGW-w64 packages. For example, Cygwin has the <code>mingw64-i686-gcc</code> and <code>mingw64-x86_64-gcc</code> packages for 32- and 64-bit version of MinGW-w64, while Debian GNU/Linux and derivatives like Ubuntu have the <code>mingw-w64</code> package for both.</p>
<p>GLFW has CMake toolchain files in the <code>CMake/</code> directory that set up cross-compilation of Windows binaries. To use these files you add an option when running <code>cmake</code> to generate the project files or makefiles:</p>
<div class="fragment"><div class="line">cmake -DCMAKE_TOOLCHAIN_FILE=&lt;toolchain-file&gt; .</div></div><!-- fragment --><p>The exact toolchain file to use depends on the prefix used by the MinGW or MinGW-w64 binaries on your system. You can usually see this in the /usr directory. For example, both the Debian/Ubuntu and Cygwin MinGW-w64 packages have <code>/usr/x86_64-w64-mingw32</code> for the 64-bit compilers, so the correct invocation would be:</p>
<div class="fragment"><div class="line">cmake -DCMAKE_TOOLCHAIN_FILE=CMake/x86_64-w64-mingw32.cmake .</div></div><!-- fragment --><p>For more details see the article <a href="https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/CrossCompiling">CMake Cross Compiling</a> on the CMake wiki.</p>
<div class="fragment"><div class="line">cmake -DCMAKE_TOOLCHAIN_FILE=&lt;toolchain-file&gt; .</div>
</div><!-- fragment --><p>The exact toolchain file to use depends on the prefix used by the MinGW or MinGW-w64 binaries on your system. You can usually see this in the /usr directory. For example, both the Debian/Ubuntu and Cygwin MinGW-w64 packages have <code>/usr/x86_64-w64-mingw32</code> for the 64-bit compilers, so the correct invocation would be:</p>
<div class="fragment"><div class="line">cmake -DCMAKE_TOOLCHAIN_FILE=CMake/x86_64-w64-mingw32.cmake .</div>
</div><!-- fragment --><p>For more details see the article <a href="https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/CrossCompiling">CMake Cross Compiling</a> on the CMake wiki.</p>
<p>Once you have this set up, move on to <a class="el" href="compile_guide.html#compile_generate">Generating build files with CMake</a>.</p>
<h3><a class="anchor" id="compile_deps_xcode"></a>
Dependencies for Xcode on macOS</h3>
@@ -132,8 +134,13 @@ Generating build files with CMake</h2>
<h3><a class="anchor" id="compile_generate_cli"></a>
Generating files with the CMake command-line tool</h3>
<p>To make an in-tree build, enter the <em>root</em> directory of the GLFW source tree (i.e. <em>not</em> the <code>src</code> subdirectory) and run CMake. The current directory is used as target path, while the path provided as an argument is used to find the source tree.</p>
<div class="fragment"><div class="line">cd &lt;glfw-root-dir&gt;</div><div class="line">cmake .</div></div><!-- fragment --><p>To make an out-of-tree build, make a directory outside of the source tree, enter it and run CMake with the (relative or absolute) path to the root of the source tree as an argument.</p>
<div class="fragment"><div class="line">mkdir glfw-build</div><div class="line">cd glfw-build</div><div class="line">cmake &lt;glfw-root-dir&gt;</div></div><!-- fragment --><p>Once you have generated the project files or makefiles for your chosen development environment, move on to <a class="el" href="compile_guide.html#compile_compile">Compiling the library</a>.</p>
<div class="fragment"><div class="line">cd &lt;glfw-root-dir&gt;</div>
<div class="line">cmake .</div>
</div><!-- fragment --><p>To make an out-of-tree build, make a directory outside of the source tree, enter it and run CMake with the (relative or absolute) path to the root of the source tree as an argument.</p>
<div class="fragment"><div class="line">mkdir glfw-build</div>
<div class="line">cd glfw-build</div>
<div class="line">cmake &lt;glfw-root-dir&gt;</div>
</div><!-- fragment --><p>Once you have generated the project files or makefiles for your chosen development environment, move on to <a class="el" href="compile_guide.html#compile_compile">Compiling the library</a>.</p>
<h3><a class="anchor" id="compile_generate_gui"></a>
Generating files with the CMake GUI</h3>
<p>If you are using the GUI version, choose the root of the GLFW source tree as source location and the same directory or another, empty directory as the destination for binaries. Choose <em>Configure</em>, change any options you wish to, <em>Configure</em> again to let the changes take effect and then <em>Generate</em>.</p>
@@ -147,7 +154,8 @@ CMake options</h2>
<p>The CMake files for GLFW provide a number of options, although not all are available on all supported platforms. Some of these are de facto standards among projects using CMake and so have no <code>GLFW_</code> prefix.</p>
<p>If you are using the GUI version of CMake, these are listed and can be changed from there. If you are using the command-line version of CMake you can use the <code>ccmake</code> ncurses GUI to set options. Some package systems like Ubuntu and other distributions based on Debian GNU/Linux have this tool in a separate <code>cmake-curses-gui</code> package.</p>
<p>Finally, if you don't want to use any GUI, you can set options from the <code>cmake</code> command-line with the <code>-D</code> flag.</p>
<div class="fragment"><div class="line">cmake -DBUILD_SHARED_LIBS=ON .</div></div><!-- fragment --><h3><a class="anchor" id="compile_options_shared"></a>
<div class="fragment"><div class="line">cmake -DBUILD_SHARED_LIBS=ON .</div>
</div><!-- fragment --><h3><a class="anchor" id="compile_options_shared"></a>
Shared CMake options</h3>
<p><a class="anchor" id="BUILD_SHARED_LIBS"></a><b>BUILD_SHARED_LIBS</b> determines whether GLFW is built as a static library or as a DLL / shared library / dynamic library.</p>
<p><a class="anchor" id="GLFW_BUILD_EXAMPLES"></a><b>GLFW_BUILD_EXAMPLES</b> determines whether the GLFW examples are built along with the library.</p>
@@ -178,11 +186,11 @@ Compiling GLFW manually</h1>
<li><b>_GLFW_USE_EGLPLATFORM_H</b> to use an existing <code>EGL/eglplatform.h</code> header file for native handle types (fallback)</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>None of the <a class="el" href="build_guide.html#build_macros">GLFW header option macros</a> may be defined during the compilation of GLFW. If you define any of these in your build files, make sure they are not applied to the GLFW sources. </dd></dl>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div></div><!-- contents -->
</div><!-- PageDoc -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: context.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Context guide</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -102,13 +102,17 @@ Context creation hints</h2>
<h2><a class="anchor" id="context_sharing"></a>
Context object sharing</h2>
<p>When creating a window and its OpenGL or OpenGL ES context with <a class="el" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>, you can specify another window whose context the new one should share its objects (textures, vertex and element buffers, etc.) with.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* second_window = <a class="code" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>(640, 480, <span class="stringliteral">&quot;Second Window&quot;</span>, NULL, first_window);</div></div><!-- fragment --><p>Object sharing is implemented by the operating system and graphics driver. On platforms where it is possible to choose which types of objects are shared, GLFW requests that all types are shared.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* second_window = <a class="code" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>(640, 480, <span class="stringliteral">&quot;Second Window&quot;</span>, NULL, first_window);</div>
</div><!-- fragment --><p>Object sharing is implemented by the operating system and graphics driver. On platforms where it is possible to choose which types of objects are shared, GLFW requests that all types are shared.</p>
<p>See the relevant chapter of the <a href="https://www.opengl.org/registry/">OpenGL</a> or <a href="https://www.khronos.org/opengles/">OpenGL ES</a> reference documents for more information. The name and number of this chapter unfortunately varies between versions and APIs, but has at times been named <em>Shared Objects and Multiple Contexts</em>.</p>
<p>GLFW comes with a barebones object sharing example program called <code>sharing</code>.</p>
<h2><a class="anchor" id="context_offscreen"></a>
Offscreen contexts</h2>
<p>GLFW doesn't support creating contexts without an associated window. However, contexts with hidden windows can be created with the <a class="el" href="window_guide.html#GLFW_VISIBLE_hint">GLFW_VISIBLE</a> window hint.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code" href="group__window.html#gafb3cdc45297e06d8f1eb13adc69ca6c4">GLFW_VISIBLE</a>, <a class="code" href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a>);</div><div class="line"></div><div class="line"><a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* offscreen_context = <a class="code" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>(640, 480, <span class="stringliteral">&quot;&quot;</span>, NULL, NULL);</div></div><!-- fragment --><p>The window never needs to be shown and its context can be used as a plain offscreen context. Depending on the window manager, the size of a hidden window's framebuffer may not be usable or modifiable, so framebuffer objects are recommended for rendering with such contexts.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code" href="group__window.html#gafb3cdc45297e06d8f1eb13adc69ca6c4">GLFW_VISIBLE</a>, <a class="code" href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a>);</div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* offscreen_context = <a class="code" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>(640, 480, <span class="stringliteral">&quot;&quot;</span>, NULL, NULL);</div>
</div><!-- fragment --><p>The window never needs to be shown and its context can be used as a plain offscreen context. Depending on the window manager, the size of a hidden window's framebuffer may not be usable or modifiable, so framebuffer objects are recommended for rendering with such contexts.</p>
<p>You should still <a class="el" href="input_guide.html#events">process events</a> as long as you have at least one window, even if none of them are visible.</p>
<p><b>macOS:</b> The first time a window is created the menu bar is created. This is not desirable for example when writing a command-line only application. Menu bar creation can be disabled with the <a class="el" href="group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf">GLFW_COCOA_MENUBAR</a> init hint.</p>
<h2><a class="anchor" id="context_less"></a>
@@ -119,8 +123,10 @@ Current context</h1>
<p>Before you can make OpenGL or OpenGL ES calls, you need to have a current context of the correct type. A context can only be current for a single thread at a time, and a thread can only have a single context current at a time.</p>
<p>When moving a context between threads, you must make it non-current on the old thread before making it current on the new one.</p>
<p>The context of a window is made current with <a class="el" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>(window);</div></div><!-- fragment --><p>The window of the current context is returned by <a class="el" href="group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d">glfwGetCurrentContext</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window = <a class="code" href="group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d">glfwGetCurrentContext</a>();</div></div><!-- fragment --><p>The following GLFW functions require a context to be current. Calling any these functions without a current context will generate a <a class="el" href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a> error.</p>
<div class="fragment"><div class="line"><a class="code" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>(window);</div>
</div><!-- fragment --><p>The window of the current context is returned by <a class="el" href="group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d">glfwGetCurrentContext</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window = <a class="code" href="group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d">glfwGetCurrentContext</a>();</div>
</div><!-- fragment --><p>The following GLFW functions require a context to be current. Calling any these functions without a current context will generate a <a class="el" href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a> error.</p>
<ul>
<li><a class="el" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a></li>
<li><a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a></li>
@@ -144,13 +150,33 @@ Loading extension with a loader library</h2>
<p>An extension loader library is the easiest and best way to access both OpenGL and OpenGL ES extensions and modern versions of the core OpenGL or OpenGL ES APIs. They will take care of all the details of declaring and loading everything you need. One such library is <a href="https://github.com/Dav1dde/glad">glad</a> and there are several others.</p>
<p>The following example will use glad but all extension loader libraries work similarly.</p>
<p>First you need to generate the source files using the glad Python script. This example generates a loader for any version of OpenGL, which is the default for both GLFW and glad, but loaders for OpenGL ES, as well as loaders for specific API versions and extension sets can be generated. The generated files are written to the <code>output</code> directory.</p>
<div class="fragment"><div class="line">python main.py --generator c --no-loader --out-path output</div></div><!-- fragment --><p>The <code>--no-loader</code> option is added because GLFW already provides a function for loading OpenGL and OpenGL ES function pointers, one that automatically uses the selected context creation API, and glad can call this instead of having to implement its own. There are several other command-line options as well. See the glad documentation for details.</p>
<div class="fragment"><div class="line">python main.py --generator c --no-loader --out-path output</div>
</div><!-- fragment --><p>The <code>--no-loader</code> option is added because GLFW already provides a function for loading OpenGL and OpenGL ES function pointers, one that automatically uses the selected context creation API, and glad can call this instead of having to implement its own. There are several other command-line options as well. See the glad documentation for details.</p>
<p>Add the generated <code>output/src/glad.c</code>, <code>output/include/glad/glad.h</code> and <code>output/include/KHR/khrplatform.h</code> files to your build. Then you need to include the glad header file, which will replace the OpenGL header of your development environment. By including the glad header before the GLFW header, it suppresses the development environment's OpenGL or OpenGL ES header.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;glad/glad.h&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div></div><!-- fragment --><p>Finally you need to initialize glad once you have a suitable current context.</p>
<div class="fragment"><div class="line">window = <a class="code" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>(640, 480, <span class="stringliteral">&quot;My Window&quot;</span>, NULL, NULL);</div><div class="line"><span class="keywordflow">if</span> (!window)</div><div class="line">{</div><div class="line"> ...</div><div class="line">}</div><div class="line"></div><div class="line"><a class="code" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>(window);</div><div class="line"></div><div class="line">gladLoadGLLoader((GLADloadproc) <a class="code" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>);</div></div><!-- fragment --><p>Once glad has been loaded, you have access to all OpenGL core and extension functions supported by both the context you created and the glad loader you generated and you are ready to start rendering.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;glad/glad.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div>
</div><!-- fragment --><p>Finally you need to initialize glad once you have a suitable current context.</p>
<div class="fragment"><div class="line">window = <a class="code" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>(640, 480, <span class="stringliteral">&quot;My Window&quot;</span>, NULL, NULL);</div>
<div class="line"><span class="keywordflow">if</span> (!window)</div>
<div class="line">{</div>
<div class="line"> ...</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>(window);</div>
<div class="line"> </div>
<div class="line">gladLoadGLLoader((GLADloadproc) <a class="code" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>);</div>
</div><!-- fragment --><p>Once glad has been loaded, you have access to all OpenGL core and extension functions supported by both the context you created and the glad loader you generated and you are ready to start rendering.</p>
<p>You can specify a minimum required OpenGL or OpenGL ES version with <a class="el" href="window_guide.html#window_hints_ctx">context hints</a>. If your needs are more complex, you can check the actual OpenGL or OpenGL ES version with <a class="el" href="window_guide.html#window_attribs_ctx">context attributes</a>, or you can check whether a specific version is supported by the current context with the <code>GLAD_GL_VERSION_x_x</code> booleans.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (GLAD_GL_VERSION_3_2)</div><div class="line">{</div><div class="line"> <span class="comment">// Call OpenGL 3.2+ specific code</span></div><div class="line">}</div></div><!-- fragment --><p>To check whether a specific extension is supported, use the <code>GLAD_GL_xxx</code> booleans.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (GLAD_GL_ARB_debug_output)</div><div class="line">{</div><div class="line"> <span class="comment">// Use GL_ARB_debug_output</span></div><div class="line">}</div></div><!-- fragment --><h2><a class="anchor" id="context_glext_manual"></a>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (GLAD_GL_VERSION_3_2)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// Call OpenGL 3.2+ specific code</span></div>
<div class="line">}</div>
</div><!-- fragment --><p>To check whether a specific extension is supported, use the <code>GLAD_GL_xxx</code> booleans.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (GLAD_GL_ARB_debug_output)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// Use GL_ARB_debug_output</span></div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="context_glext_manual"></a>
Loading extensions manually</h2>
<p><b>Do not use this technique</b> unless it is absolutely necessary. An <a class="el" href="context_guide.html#context_glext_auto">extension loader library</a> will save you a ton of tedious, repetitive, error prone work.</p>
<p>To use a certain extension, you must first check whether the context supports that extension and then, if it introduces new functions, retrieve the pointers to those functions. GLFW provides <a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a> and <a class="el" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a> for manual loading of extensions and new API functions.</p>
@@ -160,20 +186,64 @@ The glext.h header</h3>
<p>The <code>glext.h</code> extension header is a continually updated file that defines the interfaces for all OpenGL extensions. The latest version of this can always be found at the <a href="https://www.opengl.org/registry/">OpenGL Registry</a>. There are also extension headers for the various versions of OpenGL ES at the <a href="https://www.khronos.org/registry/gles/">OpenGL ES Registry</a>. It it strongly recommended that you use your own copy of the extension header, as the one included in your development environment may be several years out of date and may not include the extensions you wish to use.</p>
<p>The header defines function pointer types for all functions of all extensions it supports. These have names like <code>PFNGLGETDEBUGMESSAGELOGARBPROC</code> (for <code>glGetDebugMessageLogARB</code>), i.e. the name is made uppercase and <code>PFN</code> (pointer to function) and <code>PROC</code> (procedure) are added to the ends.</p>
<p>To include the extension header, define <a class="el" href="build_guide.html#GLFW_INCLUDE_GLEXT">GLFW_INCLUDE_GLEXT</a> before including the GLFW header.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_GLEXT</span></div><div class="line"><span class="preprocessor">#include &lt;GLFW/glfw3.h&gt;</span></div></div><!-- fragment --><h3><a class="anchor" id="context_glext_string"></a>
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_GLEXT</span></div>
<div class="line"><span class="preprocessor">#include &lt;GLFW/glfw3.h&gt;</span></div>
</div><!-- fragment --><h3><a class="anchor" id="context_glext_string"></a>
Checking for extensions</h3>
<p>A given machine may not actually support the extension (it may have older drivers or a graphics card that lacks the necessary hardware features), so it is necessary to check at run-time whether the context supports the extension. This is done with <a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a>.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a>(<span class="stringliteral">&quot;GL_ARB_debug_output&quot;</span>))</div><div class="line">{</div><div class="line"> <span class="comment">// The extension is supported by the current context</span></div><div class="line">}</div></div><!-- fragment --><p>The argument is a null terminated ASCII string with the extension name. If the extension is supported, <a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a> returns <code>GLFW_TRUE</code>, otherwise it returns <code>GLFW_FALSE</code>.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a>(<span class="stringliteral">&quot;GL_ARB_debug_output&quot;</span>))</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// The extension is supported by the current context</span></div>
<div class="line">}</div>
</div><!-- fragment --><p>The argument is a null terminated ASCII string with the extension name. If the extension is supported, <a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a> returns <code>GLFW_TRUE</code>, otherwise it returns <code>GLFW_FALSE</code>.</p>
<h3><a class="anchor" id="context_glext_proc"></a>
Fetching function pointers</h3>
<p>Many extensions, though not all, require the use of new OpenGL functions. These functions often do not have entry points in the client API libraries of your operating system, making it necessary to fetch them at run time. You can retrieve pointers to these functions with <a class="el" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>.</p>
<div class="fragment"><div class="line">PFNGLGETDEBUGMESSAGELOGARBPROC pfnGetDebugMessageLog = <a class="code" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>(<span class="stringliteral">&quot;glGetDebugMessageLogARB&quot;</span>);</div></div><!-- fragment --><p>In general, you should avoid giving the function pointer variables the (exact) same name as the function, as this may confuse your linker. Instead, you can use a different prefix, like above, or some other naming scheme.</p>
<div class="fragment"><div class="line">PFNGLGETDEBUGMESSAGELOGARBPROC pfnGetDebugMessageLog = <a class="code" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>(<span class="stringliteral">&quot;glGetDebugMessageLogARB&quot;</span>);</div>
</div><!-- fragment --><p>In general, you should avoid giving the function pointer variables the (exact) same name as the function, as this may confuse your linker. Instead, you can use a different prefix, like above, or some other naming scheme.</p>
<p>Now that all the pieces have been introduced, here is what they might look like when used together.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_GLEXT</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div><div class="line"></div><div class="line"><span class="preprocessor">#define glGetDebugMessageLogARB pfnGetDebugMessageLog</span></div><div class="line">PFNGLGETDEBUGMESSAGELOGARBPROC pfnGetDebugMessageLog;</div><div class="line"></div><div class="line"><span class="comment">// Flag indicating whether the extension is supported</span></div><div class="line"><span class="keywordtype">int</span> has_ARB_debug_output = 0;</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> load_extensions(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a>(<span class="stringliteral">&quot;GL_ARB_debug_output&quot;</span>))</div><div class="line"> {</div><div class="line"> pfnGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGARBPROC)</div><div class="line"> <a class="code" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>(<span class="stringliteral">&quot;glGetDebugMessageLogARB&quot;</span>);</div><div class="line"> has_ARB_debug_output = 1;</div><div class="line"> }</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> some_function(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> (has_ARB_debug_output)</div><div class="line"> {</div><div class="line"> <span class="comment">// Now the extension function can be called as usual</span></div><div class="line"> glGetDebugMessageLogARB(...);</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --> </div></div><!-- PageDoc -->
</div><!-- contents -->
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_GLEXT</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div>
<div class="line"> </div>
<div class="line"><span class="preprocessor">#define glGetDebugMessageLogARB pfnGetDebugMessageLog</span></div>
<div class="line">PFNGLGETDEBUGMESSAGELOGARBPROC pfnGetDebugMessageLog;</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Flag indicating whether the extension is supported</span></div>
<div class="line"><span class="keywordtype">int</span> has_ARB_debug_output = 0;</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> load_extensions(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a>(<span class="stringliteral">&quot;GL_ARB_debug_output&quot;</span>))</div>
<div class="line"> {</div>
<div class="line"> pfnGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGARBPROC)</div>
<div class="line"> <a class="code" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>(<span class="stringliteral">&quot;glGetDebugMessageLogARB&quot;</span>);</div>
<div class="line"> has_ARB_debug_output = 1;</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> some_function(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">if</span> (has_ARB_debug_output)</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// Now the extension function can be called as usual</span></div>
<div class="line"> glGetDebugMessageLogARB(...);</div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment --> </div></div><!-- contents -->
</div><!-- PageDoc -->
<div class="ttc" id="aglfw3_8h_html"><div class="ttname"><a href="glfw3_8h.html">glfw3.h</a></div><div class="ttdoc">The header of the GLFW 3 API.</div></div>
<div class="ttc" id="agroup__context_html_gac84759b1f6c2d271a4fea8ae89ec980d"><div class="ttname"><a href="group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d">glfwGetCurrentContext</a></div><div class="ttdeci">GLFWwindow * glfwGetCurrentContext(void)</div><div class="ttdoc">Returns the window whose context is current on the calling thread.</div></div>
<div class="ttc" id="agroup__window_html_ga3c96d80d363e67d13a41b5d1821f3242"><div class="ttname"><a href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a></div><div class="ttdeci">struct GLFWwindow GLFWwindow</div><div class="ttdoc">Opaque window object.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1152</div></div>
<div class="ttc" id="agroup__context_html_ga87425065c011cef1ebd6aac75e059dfa"><div class="ttname"><a href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a></div><div class="ttdeci">int glfwExtensionSupported(const char *extension)</div><div class="ttdoc">Returns whether the specified extension is available.</div></div>
<div class="ttc" id="agroup__context_html_ga1c04dc242268f827290fe40aa1c91157"><div class="ttname"><a href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a></div><div class="ttdeci">void glfwMakeContextCurrent(GLFWwindow *window)</div><div class="ttdoc">Makes the context of the specified window current for the calling thread.</div></div>
<div class="ttc" id="agroup__init_html_gac877fe3b627d21ef3a0a23e0a73ba8c5"><div class="ttname"><a href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a></div><div class="ttdeci">#define GLFW_FALSE</div><div class="ttdoc">Zero.</div><div class="ttdef"><b>Definition:</b> glfw3.h:289</div></div>
<div class="ttc" id="agroup__window_html_ga5c336fddf2cbb5b92f65f10fb6043344"><div class="ttname"><a href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a></div><div class="ttdeci">GLFWwindow * glfwCreateWindow(int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)</div><div class="ttdoc">Creates a window and its associated context.</div></div>
<div class="ttc" id="agroup__context_html_ga35f1837e6f666781842483937612f163"><div class="ttname"><a href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a></div><div class="ttdeci">GLFWglproc glfwGetProcAddress(const char *procname)</div><div class="ttdoc">Returns the address of the specified function for the current context.</div></div>
<div class="ttc" id="agroup__window_html_ga7d9c8c62384b1e2821c4dc48952d2033"><div class="ttname"><a href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a></div><div class="ttdeci">void glfwWindowHint(int hint, int value)</div><div class="ttdoc">Sets the specified window hint to the desired value.</div></div>
<div class="ttc" id="agroup__window_html_gafb3cdc45297e06d8f1eb13adc69ca6c4"><div class="ttname"><a href="group__window.html#gafb3cdc45297e06d8f1eb13adc69ca6c4">GLFW_VISIBLE</a></div><div class="ttdeci">#define GLFW_VISIBLE</div><div class="ttdoc">Window visibility window hint and attribute.</div><div class="ttdef"><b>Definition:</b> glfw3.h:782</div></div>
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -1,4 +1,4 @@
/* The standard CSS for doxygen 1.8.15 */
/* The standard CSS for doxygen 1.8.16 */
body, table, div, p, dl {
font: 400 14px/22px Roboto,sans-serif;
@@ -53,11 +53,13 @@ dt {
font-weight: bold;
}
div.multicol {
ul.multicol {
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
column-gap: 1em;
-moz-column-count: 3;
-webkit-column-count: 3;
column-count: 3;
}
p.startli, p.startdd {
@@ -701,7 +703,7 @@ dl.reflist dd {
padding-left: 0px;
}
.params .paramname, .retval .paramname, .tparams .paramname {
.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
font-weight: bold;
vertical-align: top;
}

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Files</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -72,7 +72,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: glfw3.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -59,7 +59,7 @@ $(function() {
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_04c7319cc076a76201ce53b4d8bbf0c3.html">glfw-3.3</a></li><li class="navelem"><a class="el" href="dir_ace01fe86ba899a5561c861fca1ce019.html">include</a></li><li class="navelem"><a class="el" href="dir_fbca321fec0a9d6642da5837da2f6396.html">GLFW</a></li> </ul>
<li class="navelem"><a class="el" href="dir_bc6505cac00d7a6291dbfd9af70666b7.html">glfw-3.3.2</a></li><li class="navelem"><a class="el" href="dir_a58ef735c5cc5a9a31d321e1abe7c42e.html">include</a></li><li class="navelem"><a class="el" href="dir_15a5176d7c9cc5c407ed4f611edf0684.html">GLFW</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@@ -735,7 +735,7 @@ Macros</h2></td></tr>
<tr class="memitem:gaf80d40f0aea7088ff337606e9c48f7a3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">GLFW_VERSION_MINOR</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:gaf80d40f0aea7088ff337606e9c48f7a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minor version number of the GLFW library. <a href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">More...</a><br /></td></tr>
<tr class="separator:gaf80d40f0aea7088ff337606e9c48f7a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab72ae2e2035d9ea461abc3495eac0502"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gab72ae2e2035d9ea461abc3495eac0502">GLFW_VERSION_REVISION</a>&#160;&#160;&#160;0</td></tr>
<tr class="memitem:gab72ae2e2035d9ea461abc3495eac0502"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gab72ae2e2035d9ea461abc3495eac0502">GLFW_VERSION_REVISION</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:gab72ae2e2035d9ea461abc3495eac0502"><td class="mdescLeft">&#160;</td><td class="mdescRight">The revision number of the GLFW library. <a href="group__init.html#gab72ae2e2035d9ea461abc3495eac0502">More...</a><br /></td></tr>
<tr class="separator:gab72ae2e2035d9ea461abc3495eac0502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Key and button actions</div></td></tr>
@@ -767,64 +767,64 @@ Typedefs</h2></td></tr>
<tr class="memdesc:ga89261ae18c75e863aaf2656ecdd238f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque cursor object. <a href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">More...</a><br /></td></tr>
<tr class="separator:ga89261ae18c75e863aaf2656ecdd238f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b8a2639706d5c409fc1287e8f55e928"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a>) (int, const char *)</td></tr>
<tr class="memdesc:ga6b8a2639706d5c409fc1287e8f55e928"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for error callbacks. <a href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">More...</a><br /></td></tr>
<tr class="memdesc:ga6b8a2639706d5c409fc1287e8f55e928"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for error callbacks. <a href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">More...</a><br /></td></tr>
<tr class="separator:ga6b8a2639706d5c409fc1287e8f55e928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd8db81fdb0e850549dc6bace5ed697a"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gafd8db81fdb0e850549dc6bace5ed697a">GLFWwindowposfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td></tr>
<tr class="memdesc:gafd8db81fdb0e850549dc6bace5ed697a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window position callbacks. <a href="group__window.html#gafd8db81fdb0e850549dc6bace5ed697a">More...</a><br /></td></tr>
<tr class="memdesc:gafd8db81fdb0e850549dc6bace5ed697a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for window position callbacks. <a href="group__window.html#gafd8db81fdb0e850549dc6bace5ed697a">More...</a><br /></td></tr>
<tr class="separator:gafd8db81fdb0e850549dc6bace5ed697a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae49ee6ebc03fa2da024b89943a331355"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gae49ee6ebc03fa2da024b89943a331355">GLFWwindowsizefun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td></tr>
<tr class="memdesc:gae49ee6ebc03fa2da024b89943a331355"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window resize callbacks. <a href="group__window.html#gae49ee6ebc03fa2da024b89943a331355">More...</a><br /></td></tr>
<tr class="memdesc:gae49ee6ebc03fa2da024b89943a331355"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for window size callbacks. <a href="group__window.html#gae49ee6ebc03fa2da024b89943a331355">More...</a><br /></td></tr>
<tr class="separator:gae49ee6ebc03fa2da024b89943a331355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93e7c2555bd837f4ed8b20f76cada72e"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e">GLFWwindowclosefun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *)</td></tr>
<tr class="memdesc:ga93e7c2555bd837f4ed8b20f76cada72e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window close callbacks. <a href="group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e">More...</a><br /></td></tr>
<tr class="memdesc:ga93e7c2555bd837f4ed8b20f76cada72e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for window close callbacks. <a href="group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e">More...</a><br /></td></tr>
<tr class="separator:ga93e7c2555bd837f4ed8b20f76cada72e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a56f9e0227e2cd9470d80d919032e08"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga7a56f9e0227e2cd9470d80d919032e08">GLFWwindowrefreshfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *)</td></tr>
<tr class="memdesc:ga7a56f9e0227e2cd9470d80d919032e08"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window content refresh callbacks. <a href="group__window.html#ga7a56f9e0227e2cd9470d80d919032e08">More...</a><br /></td></tr>
<tr class="memdesc:ga7a56f9e0227e2cd9470d80d919032e08"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for window content refresh callbacks. <a href="group__window.html#ga7a56f9e0227e2cd9470d80d919032e08">More...</a><br /></td></tr>
<tr class="separator:ga7a56f9e0227e2cd9470d80d919032e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58be2061828dd35080bb438405d3a7e2"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga58be2061828dd35080bb438405d3a7e2">GLFWwindowfocusfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td></tr>
<tr class="memdesc:ga58be2061828dd35080bb438405d3a7e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window focus/defocus callbacks. <a href="group__window.html#ga58be2061828dd35080bb438405d3a7e2">More...</a><br /></td></tr>
<tr class="memdesc:ga58be2061828dd35080bb438405d3a7e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for window focus callbacks. <a href="group__window.html#ga58be2061828dd35080bb438405d3a7e2">More...</a><br /></td></tr>
<tr class="separator:ga58be2061828dd35080bb438405d3a7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2d4e4c3d28b1242e742e8268b9528af"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gad2d4e4c3d28b1242e742e8268b9528af">GLFWwindowiconifyfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td></tr>
<tr class="memdesc:gad2d4e4c3d28b1242e742e8268b9528af"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window iconify/restore callbacks. <a href="group__window.html#gad2d4e4c3d28b1242e742e8268b9528af">More...</a><br /></td></tr>
<tr class="memdesc:gad2d4e4c3d28b1242e742e8268b9528af"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for window iconify callbacks. <a href="group__window.html#gad2d4e4c3d28b1242e742e8268b9528af">More...</a><br /></td></tr>
<tr class="separator:gad2d4e4c3d28b1242e742e8268b9528af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7269a3d1cb100c0081f95fc09afa4949"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga7269a3d1cb100c0081f95fc09afa4949">GLFWwindowmaximizefun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td></tr>
<tr class="memdesc:ga7269a3d1cb100c0081f95fc09afa4949"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window maximize/restore callbacks. <a href="group__window.html#ga7269a3d1cb100c0081f95fc09afa4949">More...</a><br /></td></tr>
<tr class="memdesc:ga7269a3d1cb100c0081f95fc09afa4949"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for window maximize callbacks. <a href="group__window.html#ga7269a3d1cb100c0081f95fc09afa4949">More...</a><br /></td></tr>
<tr class="separator:ga7269a3d1cb100c0081f95fc09afa4949"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e218ef9ff826129c55a7d5f6971a285"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga3e218ef9ff826129c55a7d5f6971a285">GLFWframebuffersizefun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td></tr>
<tr class="memdesc:ga3e218ef9ff826129c55a7d5f6971a285"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for framebuffer resize callbacks. <a href="group__window.html#ga3e218ef9ff826129c55a7d5f6971a285">More...</a><br /></td></tr>
<tr class="memdesc:ga3e218ef9ff826129c55a7d5f6971a285"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for framebuffer size callbacks. <a href="group__window.html#ga3e218ef9ff826129c55a7d5f6971a285">More...</a><br /></td></tr>
<tr class="separator:ga3e218ef9ff826129c55a7d5f6971a285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1da46b65eafcc1a7ff0adb8f4a7b72fd"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd">GLFWwindowcontentscalefun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, float, float)</td></tr>
<tr class="memdesc:ga1da46b65eafcc1a7ff0adb8f4a7b72fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window content scale callbacks. <a href="group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd">More...</a><br /></td></tr>
<tr class="memdesc:ga1da46b65eafcc1a7ff0adb8f4a7b72fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for window content scale callbacks. <a href="group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd">More...</a><br /></td></tr>
<tr class="separator:ga1da46b65eafcc1a7ff0adb8f4a7b72fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39893a4a7e7c3239c98d29c9e084350c"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int, int)</td></tr>
<tr class="memdesc:ga39893a4a7e7c3239c98d29c9e084350c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for mouse button callbacks. <a href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">More...</a><br /></td></tr>
<tr class="memdesc:ga39893a4a7e7c3239c98d29c9e084350c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for mouse button callbacks. <a href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">More...</a><br /></td></tr>
<tr class="separator:ga39893a4a7e7c3239c98d29c9e084350c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4cfad918fa836f09541e7b9acd36686c"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, double, double)</td></tr>
<tr class="memdesc:ga4cfad918fa836f09541e7b9acd36686c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for cursor position callbacks. <a href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">More...</a><br /></td></tr>
<tr class="memdesc:ga4cfad918fa836f09541e7b9acd36686c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for cursor position callbacks. <a href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">More...</a><br /></td></tr>
<tr class="separator:ga4cfad918fa836f09541e7b9acd36686c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51ab436c41eeaed6db5a0c9403b1c840"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td></tr>
<tr class="memdesc:ga51ab436c41eeaed6db5a0c9403b1c840"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for cursor enter/leave callbacks. <a href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">More...</a><br /></td></tr>
<tr class="memdesc:ga51ab436c41eeaed6db5a0c9403b1c840"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for cursor enter/leave callbacks. <a href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">More...</a><br /></td></tr>
<tr class="separator:ga51ab436c41eeaed6db5a0c9403b1c840"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4687e2199c60a18a8dd1da532e6d75c9"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, double, double)</td></tr>
<tr class="memdesc:ga4687e2199c60a18a8dd1da532e6d75c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for scroll callbacks. <a href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">More...</a><br /></td></tr>
<tr class="memdesc:ga4687e2199c60a18a8dd1da532e6d75c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for scroll callbacks. <a href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">More...</a><br /></td></tr>
<tr class="separator:ga4687e2199c60a18a8dd1da532e6d75c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0192a232a41e4e82948217c8ba94fdfd"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int, int, int)</td></tr>
<tr class="memdesc:ga0192a232a41e4e82948217c8ba94fdfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for keyboard key callbacks. <a href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">More...</a><br /></td></tr>
<tr class="memdesc:ga0192a232a41e4e82948217c8ba94fdfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for keyboard key callbacks. <a href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">More...</a><br /></td></tr>
<tr class="separator:ga0192a232a41e4e82948217c8ba94fdfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf24451c7ceb1952bc02b17a0d5c3e5f"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, unsigned int)</td></tr>
<tr class="memdesc:gabf24451c7ceb1952bc02b17a0d5c3e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for Unicode character callbacks. <a href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">More...</a><br /></td></tr>
<tr class="memdesc:gabf24451c7ceb1952bc02b17a0d5c3e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for Unicode character callbacks. <a href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">More...</a><br /></td></tr>
<tr class="separator:gabf24451c7ceb1952bc02b17a0d5c3e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae36fb6897d2b7df9b128900c8ce9c507"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, unsigned int, int)</td></tr>
<tr class="memdesc:gae36fb6897d2b7df9b128900c8ce9c507"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for Unicode character with modifiers callbacks. <a href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">More...</a><br /></td></tr>
<tr class="memdesc:gae36fb6897d2b7df9b128900c8ce9c507"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for Unicode character with modifiers callbacks. <a href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">More...</a><br /></td></tr>
<tr class="separator:gae36fb6897d2b7df9b128900c8ce9c507"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab71f4ca80b651462852e601caf308c4a"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gab71f4ca80b651462852e601caf308c4a">GLFWdropfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, const char **)</td></tr>
<tr class="memdesc:gab71f4ca80b651462852e601caf308c4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for file drop callbacks. <a href="group__input.html#gab71f4ca80b651462852e601caf308c4a">More...</a><br /></td></tr>
<tr class="separator:gab71f4ca80b651462852e601caf308c4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd0493dc32cd5ca5810e6148c0c026ea"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">GLFWdropfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, const char *[])</td></tr>
<tr class="memdesc:gafd0493dc32cd5ca5810e6148c0c026ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for path drop callbacks. <a href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">More...</a><br /></td></tr>
<tr class="separator:gafd0493dc32cd5ca5810e6148c0c026ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a7ee579a66720f24d656526f3e44c63"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a>) (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *, int)</td></tr>
<tr class="memdesc:ga8a7ee579a66720f24d656526f3e44c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for monitor configuration callbacks. <a href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">More...</a><br /></td></tr>
<tr class="memdesc:ga8a7ee579a66720f24d656526f3e44c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for monitor configuration callbacks. <a href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">More...</a><br /></td></tr>
<tr class="separator:ga8a7ee579a66720f24d656526f3e44c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa67aa597e974298c748bfe4fb17d406d"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a>) (int, int)</td></tr>
<tr class="memdesc:gaa67aa597e974298c748bfe4fb17d406d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for joystick configuration callbacks. <a href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">More...</a><br /></td></tr>
<tr class="memdesc:gaa67aa597e974298c748bfe4fb17d406d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for joystick configuration callbacks. <a href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">More...</a><br /></td></tr>
<tr class="separator:gaa67aa597e974298c748bfe4fb17d406d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae48aadf4ea0967e6605c8f58fa5daccb"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structGLFWvidmode.html">GLFWvidmode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gae48aadf4ea0967e6605c8f58fa5daccb">GLFWvidmode</a></td></tr>
<tr class="memdesc:gae48aadf4ea0967e6605c8f58fa5daccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Video mode type. <a href="group__monitor.html#gae48aadf4ea0967e6605c8f58fa5daccb">More...</a><br /></td></tr>
@@ -859,9 +859,9 @@ Functions</h2></td></tr>
<tr class="memitem:ga944986b4ec0b928d488141f92982aa18"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a> (const char **description)</td></tr>
<tr class="memdesc:ga944986b4ec0b928d488141f92982aa18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns and clears the last error for the calling thread. <a href="group__init.html#ga944986b4ec0b928d488141f92982aa18">More...</a><br /></td></tr>
<tr class="separator:ga944986b4ec0b928d488141f92982aa18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5d796c3cf7c1a7f02f845486333fb5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f">glfwSetErrorCallback</a> (<a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a> cbfun)</td></tr>
<tr class="memdesc:gaa5d796c3cf7c1a7f02f845486333fb5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the error callback. <a href="group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f">More...</a><br /></td></tr>
<tr class="separator:gaa5d796c3cf7c1a7f02f845486333fb5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff45816610d53f0b83656092a4034f40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a> (<a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a> callback)</td></tr>
<tr class="memdesc:gaff45816610d53f0b83656092a4034f40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the error callback. <a href="group__init.html#gaff45816610d53f0b83656092a4034f40">More...</a><br /></td></tr>
<tr class="separator:gaff45816610d53f0b83656092a4034f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fba51c8bd36491d4712aa5bd074a537"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">glfwGetMonitors</a> (int *count)</td></tr>
<tr class="memdesc:ga3fba51c8bd36491d4712aa5bd074a537"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the currently connected monitors. <a href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">More...</a><br /></td></tr>
<tr class="separator:ga3fba51c8bd36491d4712aa5bd074a537"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -872,7 +872,7 @@ Functions</h2></td></tr>
<tr class="memdesc:ga102f54e7acc9149edbcf0997152df8c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the position of the monitor's viewport on the virtual screen. <a href="group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9">More...</a><br /></td></tr>
<tr class="separator:ga102f54e7acc9149edbcf0997152df8c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">glfwGetMonitorWorkarea</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int *xpos, int *ypos, int *width, int *height)</td></tr>
<tr class="memdesc:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrives the work area of the monitor. <a href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">More...</a><br /></td></tr>
<tr class="memdesc:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the work area of the monitor. <a href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">More...</a><br /></td></tr>
<tr class="separator:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d8bffc6c55539286a6bd20d32a8d7ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">glfwGetMonitorPhysicalSize</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int *widthMM, int *heightMM)</td></tr>
<tr class="memdesc:ga7d8bffc6c55539286a6bd20d32a8d7ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the physical size of the monitor. <a href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">More...</a><br /></td></tr>
@@ -889,9 +889,9 @@ Functions</h2></td></tr>
<tr class="memitem:gac2d4209016b049222877f620010ed0d8"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gac2d4209016b049222877f620010ed0d8">glfwGetMonitorUserPointer</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gac2d4209016b049222877f620010ed0d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user pointer of the specified monitor. <a href="group__monitor.html#gac2d4209016b049222877f620010ed0d8">More...</a><br /></td></tr>
<tr class="separator:gac2d4209016b049222877f620010ed0d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3fe0f647f68b731f99756cd81897378"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gac3fe0f647f68b731f99756cd81897378">glfwSetMonitorCallback</a> (<a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a> cbfun)</td></tr>
<tr class="memdesc:gac3fe0f647f68b731f99756cd81897378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the monitor configuration callback. <a href="group__monitor.html#gac3fe0f647f68b731f99756cd81897378">More...</a><br /></td></tr>
<tr class="separator:gac3fe0f647f68b731f99756cd81897378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab39df645587c8518192aa746c2fb06c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">glfwSetMonitorCallback</a> (<a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a> callback)</td></tr>
<tr class="memdesc:gab39df645587c8518192aa746c2fb06c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the monitor configuration callback. <a href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">More...</a><br /></td></tr>
<tr class="separator:gab39df645587c8518192aa746c2fb06c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga820b0ce9a5237d645ea7cbb4bd383458"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structGLFWvidmode.html">GLFWvidmode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458">glfwGetVideoModes</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int *count)</td></tr>
<tr class="memdesc:ga820b0ce9a5237d645ea7cbb4bd383458"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the available video modes for the specified monitor. <a href="group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458">More...</a><br /></td></tr>
<tr class="separator:ga820b0ce9a5237d645ea7cbb4bd383458"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1006,33 +1006,33 @@ Functions</h2></td></tr>
<tr class="memitem:ga17807ce0f45ac3f8bb50d6dcc59a4e06"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga17807ce0f45ac3f8bb50d6dcc59a4e06">glfwGetWindowUserPointer</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga17807ce0f45ac3f8bb50d6dcc59a4e06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user pointer of the specified window. <a href="group__window.html#ga17807ce0f45ac3f8bb50d6dcc59a4e06">More...</a><br /></td></tr>
<tr class="separator:ga17807ce0f45ac3f8bb50d6dcc59a4e06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2837d4d240659feb4268fcb6530a6ba1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#gafd8db81fdb0e850549dc6bace5ed697a">GLFWwindowposfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga2837d4d240659feb4268fcb6530a6ba1">glfwSetWindowPosCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#gafd8db81fdb0e850549dc6bace5ed697a">GLFWwindowposfun</a> cbfun)</td></tr>
<tr class="memdesc:ga2837d4d240659feb4268fcb6530a6ba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the position callback for the specified window. <a href="group__window.html#ga2837d4d240659feb4268fcb6530a6ba1">More...</a><br /></td></tr>
<tr class="separator:ga2837d4d240659feb4268fcb6530a6ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa40cd24840daa8c62f36cafc847c72b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#gae49ee6ebc03fa2da024b89943a331355">GLFWwindowsizefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaa40cd24840daa8c62f36cafc847c72b6">glfwSetWindowSizeCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#gae49ee6ebc03fa2da024b89943a331355">GLFWwindowsizefun</a> cbfun)</td></tr>
<tr class="memdesc:gaa40cd24840daa8c62f36cafc847c72b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the size callback for the specified window. <a href="group__window.html#gaa40cd24840daa8c62f36cafc847c72b6">More...</a><br /></td></tr>
<tr class="separator:gaa40cd24840daa8c62f36cafc847c72b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaade9264e79fae52bdb78e2df11ee8d6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e">GLFWwindowclosefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaade9264e79fae52bdb78e2df11ee8d6a">glfwSetWindowCloseCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e">GLFWwindowclosefun</a> cbfun)</td></tr>
<tr class="memdesc:gaade9264e79fae52bdb78e2df11ee8d6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the close callback for the specified window. <a href="group__window.html#gaade9264e79fae52bdb78e2df11ee8d6a">More...</a><br /></td></tr>
<tr class="separator:gaade9264e79fae52bdb78e2df11ee8d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4569b76e8ac87c55b53199e6becd97eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga7a56f9e0227e2cd9470d80d919032e08">GLFWwindowrefreshfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga4569b76e8ac87c55b53199e6becd97eb">glfwSetWindowRefreshCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga7a56f9e0227e2cd9470d80d919032e08">GLFWwindowrefreshfun</a> cbfun)</td></tr>
<tr class="memdesc:ga4569b76e8ac87c55b53199e6becd97eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the refresh callback for the specified window. <a href="group__window.html#ga4569b76e8ac87c55b53199e6becd97eb">More...</a><br /></td></tr>
<tr class="separator:ga4569b76e8ac87c55b53199e6becd97eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25d1c584edb375d7711c5c3548ba711f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga58be2061828dd35080bb438405d3a7e2">GLFWwindowfocusfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga25d1c584edb375d7711c5c3548ba711f">glfwSetWindowFocusCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga58be2061828dd35080bb438405d3a7e2">GLFWwindowfocusfun</a> cbfun)</td></tr>
<tr class="memdesc:ga25d1c584edb375d7711c5c3548ba711f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the focus callback for the specified window. <a href="group__window.html#ga25d1c584edb375d7711c5c3548ba711f">More...</a><br /></td></tr>
<tr class="separator:ga25d1c584edb375d7711c5c3548ba711f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1ea7263081c0e073b8d5b91d6ffd367"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#gad2d4e4c3d28b1242e742e8268b9528af">GLFWwindowiconifyfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gab1ea7263081c0e073b8d5b91d6ffd367">glfwSetWindowIconifyCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#gad2d4e4c3d28b1242e742e8268b9528af">GLFWwindowiconifyfun</a> cbfun)</td></tr>
<tr class="memdesc:gab1ea7263081c0e073b8d5b91d6ffd367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iconify callback for the specified window. <a href="group__window.html#gab1ea7263081c0e073b8d5b91d6ffd367">More...</a><br /></td></tr>
<tr class="separator:gab1ea7263081c0e073b8d5b91d6ffd367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8548ef61cb09150e09a6d33ddfa705e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga7269a3d1cb100c0081f95fc09afa4949">GLFWwindowmaximizefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaf8548ef61cb09150e09a6d33ddfa705e">glfwSetWindowMaximizeCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga7269a3d1cb100c0081f95fc09afa4949">GLFWwindowmaximizefun</a> cbfun)</td></tr>
<tr class="memdesc:gaf8548ef61cb09150e09a6d33ddfa705e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the maximize callback for the specified window. <a href="group__window.html#gaf8548ef61cb09150e09a6d33ddfa705e">More...</a><br /></td></tr>
<tr class="separator:gaf8548ef61cb09150e09a6d33ddfa705e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3203461a5303bf289f2e05f854b2f7cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga3e218ef9ff826129c55a7d5f6971a285">GLFWframebuffersizefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga3203461a5303bf289f2e05f854b2f7cf">glfwSetFramebufferSizeCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga3e218ef9ff826129c55a7d5f6971a285">GLFWframebuffersizefun</a> cbfun)</td></tr>
<tr class="memdesc:ga3203461a5303bf289f2e05f854b2f7cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the framebuffer resize callback for the specified window. <a href="group__window.html#ga3203461a5303bf289f2e05f854b2f7cf">More...</a><br /></td></tr>
<tr class="separator:ga3203461a5303bf289f2e05f854b2f7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf3622cde4c10fac35875e24992ec26d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd">GLFWwindowcontentscalefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gabf3622cde4c10fac35875e24992ec26d">glfwSetWindowContentScaleCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd">GLFWwindowcontentscalefun</a> cbfun)</td></tr>
<tr class="memdesc:gabf3622cde4c10fac35875e24992ec26d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the window content scale callback for the specified window. <a href="group__window.html#gabf3622cde4c10fac35875e24992ec26d">More...</a><br /></td></tr>
<tr class="separator:gabf3622cde4c10fac35875e24992ec26d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08bdfbba88934f9c4f92fd757979ac74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#gafd8db81fdb0e850549dc6bace5ed697a">GLFWwindowposfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga08bdfbba88934f9c4f92fd757979ac74">glfwSetWindowPosCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#gafd8db81fdb0e850549dc6bace5ed697a">GLFWwindowposfun</a> callback)</td></tr>
<tr class="memdesc:ga08bdfbba88934f9c4f92fd757979ac74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the position callback for the specified window. <a href="group__window.html#ga08bdfbba88934f9c4f92fd757979ac74">More...</a><br /></td></tr>
<tr class="separator:ga08bdfbba88934f9c4f92fd757979ac74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad91b8b047a0c4c6033c38853864c34f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#gae49ee6ebc03fa2da024b89943a331355">GLFWwindowsizefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gad91b8b047a0c4c6033c38853864c34f8">glfwSetWindowSizeCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#gae49ee6ebc03fa2da024b89943a331355">GLFWwindowsizefun</a> callback)</td></tr>
<tr class="memdesc:gad91b8b047a0c4c6033c38853864c34f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the size callback for the specified window. <a href="group__window.html#gad91b8b047a0c4c6033c38853864c34f8">More...</a><br /></td></tr>
<tr class="separator:gad91b8b047a0c4c6033c38853864c34f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada646d775a7776a95ac000cfc1885331"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e">GLFWwindowclosefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gada646d775a7776a95ac000cfc1885331">glfwSetWindowCloseCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e">GLFWwindowclosefun</a> callback)</td></tr>
<tr class="memdesc:gada646d775a7776a95ac000cfc1885331"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the close callback for the specified window. <a href="group__window.html#gada646d775a7776a95ac000cfc1885331">More...</a><br /></td></tr>
<tr class="separator:gada646d775a7776a95ac000cfc1885331"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c5c7eb889c33c7f4d10dd35b327654e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga7a56f9e0227e2cd9470d80d919032e08">GLFWwindowrefreshfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga1c5c7eb889c33c7f4d10dd35b327654e">glfwSetWindowRefreshCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga7a56f9e0227e2cd9470d80d919032e08">GLFWwindowrefreshfun</a> callback)</td></tr>
<tr class="memdesc:ga1c5c7eb889c33c7f4d10dd35b327654e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the refresh callback for the specified window. <a href="group__window.html#ga1c5c7eb889c33c7f4d10dd35b327654e">More...</a><br /></td></tr>
<tr class="separator:ga1c5c7eb889c33c7f4d10dd35b327654e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2d83c4a10f071baf841f6730528e66c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga58be2061828dd35080bb438405d3a7e2">GLFWwindowfocusfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gac2d83c4a10f071baf841f6730528e66c">glfwSetWindowFocusCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga58be2061828dd35080bb438405d3a7e2">GLFWwindowfocusfun</a> callback)</td></tr>
<tr class="memdesc:gac2d83c4a10f071baf841f6730528e66c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the focus callback for the specified window. <a href="group__window.html#gac2d83c4a10f071baf841f6730528e66c">More...</a><br /></td></tr>
<tr class="separator:gac2d83c4a10f071baf841f6730528e66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac793e9efd255567b5fb8b445052cfd3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#gad2d4e4c3d28b1242e742e8268b9528af">GLFWwindowiconifyfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gac793e9efd255567b5fb8b445052cfd3e">glfwSetWindowIconifyCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#gad2d4e4c3d28b1242e742e8268b9528af">GLFWwindowiconifyfun</a> callback)</td></tr>
<tr class="memdesc:gac793e9efd255567b5fb8b445052cfd3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iconify callback for the specified window. <a href="group__window.html#gac793e9efd255567b5fb8b445052cfd3e">More...</a><br /></td></tr>
<tr class="separator:gac793e9efd255567b5fb8b445052cfd3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbe64c339fbd94885e62145563b6dc93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga7269a3d1cb100c0081f95fc09afa4949">GLFWwindowmaximizefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gacbe64c339fbd94885e62145563b6dc93">glfwSetWindowMaximizeCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga7269a3d1cb100c0081f95fc09afa4949">GLFWwindowmaximizefun</a> callback)</td></tr>
<tr class="memdesc:gacbe64c339fbd94885e62145563b6dc93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the maximize callback for the specified window. <a href="group__window.html#gacbe64c339fbd94885e62145563b6dc93">More...</a><br /></td></tr>
<tr class="separator:gacbe64c339fbd94885e62145563b6dc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3fb7c3366577daef18c0023e2a8591f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga3e218ef9ff826129c55a7d5f6971a285">GLFWframebuffersizefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gab3fb7c3366577daef18c0023e2a8591f">glfwSetFramebufferSizeCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga3e218ef9ff826129c55a7d5f6971a285">GLFWframebuffersizefun</a> callback)</td></tr>
<tr class="memdesc:gab3fb7c3366577daef18c0023e2a8591f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the framebuffer resize callback for the specified window. <a href="group__window.html#gab3fb7c3366577daef18c0023e2a8591f">More...</a><br /></td></tr>
<tr class="separator:gab3fb7c3366577daef18c0023e2a8591f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2832ebb5aa6c252a2d261de002c92d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd">GLFWwindowcontentscalefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaf2832ebb5aa6c252a2d261de002c92d6">glfwSetWindowContentScaleCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd">GLFWwindowcontentscalefun</a> callback)</td></tr>
<tr class="memdesc:gaf2832ebb5aa6c252a2d261de002c92d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the window content scale callback for the specified window. <a href="group__window.html#gaf2832ebb5aa6c252a2d261de002c92d6">More...</a><br /></td></tr>
<tr class="separator:gaf2832ebb5aa6c252a2d261de002c92d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37bd57223967b4211d60ca1a0bf3c832"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a> (void)</td></tr>
<tr class="memdesc:ga37bd57223967b4211d60ca1a0bf3c832"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes all pending events. <a href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">More...</a><br /></td></tr>
<tr class="separator:ga37bd57223967b4211d60ca1a0bf3c832"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1084,30 +1084,30 @@ Functions</h2></td></tr>
<tr class="memitem:gad3b4f38c8d5dae036bc8fa959e18343e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a> *cursor)</td></tr>
<tr class="memdesc:gad3b4f38c8d5dae036bc8fa959e18343e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor for the window. <a href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">More...</a><br /></td></tr>
<tr class="separator:gad3b4f38c8d5dae036bc8fa959e18343e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e496507126f35ea72f01b2e6ef6d155"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga7e496507126f35ea72f01b2e6ef6d155">glfwSetKeyCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a> cbfun)</td></tr>
<tr class="memdesc:ga7e496507126f35ea72f01b2e6ef6d155"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the key callback. <a href="group__input.html#ga7e496507126f35ea72f01b2e6ef6d155">More...</a><br /></td></tr>
<tr class="separator:ga7e496507126f35ea72f01b2e6ef6d155"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga556239421c6a5a243c66fca28da9f742"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga556239421c6a5a243c66fca28da9f742">glfwSetCharCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a> cbfun)</td></tr>
<tr class="memdesc:ga556239421c6a5a243c66fca28da9f742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Unicode character callback. <a href="group__input.html#ga556239421c6a5a243c66fca28da9f742">More...</a><br /></td></tr>
<tr class="separator:ga556239421c6a5a243c66fca28da9f742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f55ef5dc03a374e567f068b13c94afc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga3f55ef5dc03a374e567f068b13c94afc">glfwSetCharModsCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a> cbfun)</td></tr>
<tr class="memdesc:ga3f55ef5dc03a374e567f068b13c94afc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Unicode character with modifiers callback. <a href="group__input.html#ga3f55ef5dc03a374e567f068b13c94afc">More...</a><br /></td></tr>
<tr class="separator:ga3f55ef5dc03a374e567f068b13c94afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef49b72d84d615bca0a6ed65485e035d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaef49b72d84d615bca0a6ed65485e035d">glfwSetMouseButtonCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a> cbfun)</td></tr>
<tr class="memdesc:gaef49b72d84d615bca0a6ed65485e035d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the mouse button callback. <a href="group__input.html#gaef49b72d84d615bca0a6ed65485e035d">More...</a><br /></td></tr>
<tr class="separator:gaef49b72d84d615bca0a6ed65485e035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dad39486f2c7591af7fb25134a2501d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga7dad39486f2c7591af7fb25134a2501d">glfwSetCursorPosCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a> cbfun)</td></tr>
<tr class="memdesc:ga7dad39486f2c7591af7fb25134a2501d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor position callback. <a href="group__input.html#ga7dad39486f2c7591af7fb25134a2501d">More...</a><br /></td></tr>
<tr class="separator:ga7dad39486f2c7591af7fb25134a2501d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa299c41dd0a3d171d166354e01279e04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa299c41dd0a3d171d166354e01279e04">glfwSetCursorEnterCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a> cbfun)</td></tr>
<tr class="memdesc:gaa299c41dd0a3d171d166354e01279e04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor enter/exit callback. <a href="group__input.html#gaa299c41dd0a3d171d166354e01279e04">More...</a><br /></td></tr>
<tr class="separator:gaa299c41dd0a3d171d166354e01279e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf02eb10504352f16efda4593c3ce60e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gacf02eb10504352f16efda4593c3ce60e">glfwSetScrollCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a> cbfun)</td></tr>
<tr class="memdesc:gacf02eb10504352f16efda4593c3ce60e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the scroll callback. <a href="group__input.html#gacf02eb10504352f16efda4593c3ce60e">More...</a><br /></td></tr>
<tr class="separator:gacf02eb10504352f16efda4593c3ce60e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41291bf15dd3ff564b3143aa6dc74a4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gab71f4ca80b651462852e601caf308c4a">GLFWdropfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga41291bf15dd3ff564b3143aa6dc74a4b">glfwSetDropCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gab71f4ca80b651462852e601caf308c4a">GLFWdropfun</a> cbfun)</td></tr>
<tr class="memdesc:ga41291bf15dd3ff564b3143aa6dc74a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the file drop callback. <a href="group__input.html#ga41291bf15dd3ff564b3143aa6dc74a4b">More...</a><br /></td></tr>
<tr class="separator:ga41291bf15dd3ff564b3143aa6dc74a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1caf18159767e761185e49a3be019f8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">glfwSetKeyCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a> callback)</td></tr>
<tr class="memdesc:ga1caf18159767e761185e49a3be019f8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the key callback. <a href="group__input.html#ga1caf18159767e761185e49a3be019f8d">More...</a><br /></td></tr>
<tr class="separator:ga1caf18159767e761185e49a3be019f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab25c4a220fd8f5717718dbc487828996"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gab25c4a220fd8f5717718dbc487828996">glfwSetCharCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a> callback)</td></tr>
<tr class="memdesc:gab25c4a220fd8f5717718dbc487828996"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Unicode character callback. <a href="group__input.html#gab25c4a220fd8f5717718dbc487828996">More...</a><br /></td></tr>
<tr class="separator:gab25c4a220fd8f5717718dbc487828996"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b7f4ad13c2b17435ff13b6dcfb4e43c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">glfwSetCharModsCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a> callback)</td></tr>
<tr class="memdesc:ga0b7f4ad13c2b17435ff13b6dcfb4e43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Unicode character with modifiers callback. <a href="group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">More...</a><br /></td></tr>
<tr class="separator:ga0b7f4ad13c2b17435ff13b6dcfb4e43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ab84420974d812bee700e45284a723c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga6ab84420974d812bee700e45284a723c">glfwSetMouseButtonCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a> callback)</td></tr>
<tr class="memdesc:ga6ab84420974d812bee700e45284a723c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the mouse button callback. <a href="group__input.html#ga6ab84420974d812bee700e45284a723c">More...</a><br /></td></tr>
<tr class="separator:ga6ab84420974d812bee700e45284a723c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1f879ab7435d54d4d79bb469fe225d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">glfwSetCursorPosCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a> callback)</td></tr>
<tr class="memdesc:gac1f879ab7435d54d4d79bb469fe225d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor position callback. <a href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">More...</a><br /></td></tr>
<tr class="separator:gac1f879ab7435d54d4d79bb469fe225d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad27f8ad0142c038a281466c0966817d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gad27f8ad0142c038a281466c0966817d8">glfwSetCursorEnterCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a> callback)</td></tr>
<tr class="memdesc:gad27f8ad0142c038a281466c0966817d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor enter/leave callback. <a href="group__input.html#gad27f8ad0142c038a281466c0966817d8">More...</a><br /></td></tr>
<tr class="separator:gad27f8ad0142c038a281466c0966817d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga571e45a030ae4061f746ed56cb76aede"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">glfwSetScrollCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a> callback)</td></tr>
<tr class="memdesc:ga571e45a030ae4061f746ed56cb76aede"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the scroll callback. <a href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">More...</a><br /></td></tr>
<tr class="separator:ga571e45a030ae4061f746ed56cb76aede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab773f0ee0a07cff77a210cea40bc1f6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">GLFWdropfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">glfwSetDropCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">GLFWdropfun</a> callback)</td></tr>
<tr class="memdesc:gab773f0ee0a07cff77a210cea40bc1f6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the path drop callback. <a href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">More...</a><br /></td></tr>
<tr class="separator:gab773f0ee0a07cff77a210cea40bc1f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed0966cee139d815317f9ffcba64c9f1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a> (int jid)</td></tr>
<tr class="memdesc:gaed0966cee139d815317f9ffcba64c9f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified joystick is present. <a href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">More...</a><br /></td></tr>
<tr class="separator:gaed0966cee139d815317f9ffcba64c9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1124,7 +1124,7 @@ Functions</h2></td></tr>
<tr class="memdesc:gafbe3e51f670320908cfe4e20d3e5559e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the specified joystick. <a href="group__input.html#gafbe3e51f670320908cfe4e20d3e5559e">More...</a><br /></td></tr>
<tr class="separator:gafbe3e51f670320908cfe4e20d3e5559e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae168c2c0b8cf2a1cb67c6b3c00bdd543"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gae168c2c0b8cf2a1cb67c6b3c00bdd543">glfwGetJoystickGUID</a> (int jid)</td></tr>
<tr class="memdesc:gae168c2c0b8cf2a1cb67c6b3c00bdd543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the SDL comaptible GUID of the specified joystick. <a href="group__input.html#gae168c2c0b8cf2a1cb67c6b3c00bdd543">More...</a><br /></td></tr>
<tr class="memdesc:gae168c2c0b8cf2a1cb67c6b3c00bdd543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the SDL compatible GUID of the specified joystick. <a href="group__input.html#gae168c2c0b8cf2a1cb67c6b3c00bdd543">More...</a><br /></td></tr>
<tr class="separator:gae168c2c0b8cf2a1cb67c6b3c00bdd543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b2f72d64d636b48a727b437cbb7489e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga6b2f72d64d636b48a727b437cbb7489e">glfwSetJoystickUserPointer</a> (int jid, void *pointer)</td></tr>
<tr class="memdesc:ga6b2f72d64d636b48a727b437cbb7489e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user pointer of the specified joystick. <a href="group__input.html#ga6b2f72d64d636b48a727b437cbb7489e">More...</a><br /></td></tr>
@@ -1135,9 +1135,9 @@ Functions</h2></td></tr>
<tr class="memitem:gad0f676860f329d80f7e47e9f06a96f00"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">glfwJoystickIsGamepad</a> (int jid)</td></tr>
<tr class="memdesc:gad0f676860f329d80f7e47e9f06a96f00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified joystick has a gamepad mapping. <a href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">More...</a><br /></td></tr>
<tr class="separator:gad0f676860f329d80f7e47e9f06a96f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1dc8379f1b82bb660a6b9c9fa06ca07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gab1dc8379f1b82bb660a6b9c9fa06ca07">glfwSetJoystickCallback</a> (<a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a> cbfun)</td></tr>
<tr class="memdesc:gab1dc8379f1b82bb660a6b9c9fa06ca07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the joystick configuration callback. <a href="group__input.html#gab1dc8379f1b82bb660a6b9c9fa06ca07">More...</a><br /></td></tr>
<tr class="separator:gab1dc8379f1b82bb660a6b9c9fa06ca07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">glfwSetJoystickCallback</a> (<a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a> callback)</td></tr>
<tr class="memdesc:ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the joystick configuration callback. <a href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">More...</a><br /></td></tr>
<tr class="separator:ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed5104612f2fa8e66aa6e846652ad00f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">glfwUpdateGamepadMappings</a> (const char *string)</td></tr>
<tr class="memdesc:gaed5104612f2fa8e66aa6e846652ad00f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the specified SDL_GameControllerDB gamepad mappings. <a href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">More...</a><br /></td></tr>
<tr class="separator:gaed5104612f2fa8e66aa6e846652ad00f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1154,10 +1154,10 @@ Functions</h2></td></tr>
<tr class="memdesc:ga5aba1d704d9ab539282b1fbe9f18bb94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the contents of the clipboard as a string. <a href="group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94">More...</a><br /></td></tr>
<tr class="separator:ga5aba1d704d9ab539282b1fbe9f18bb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6cf4e7a77158a3b8fd00328b1720a4a"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a> (void)</td></tr>
<tr class="memdesc:gaa6cf4e7a77158a3b8fd00328b1720a4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of the GLFW timer. <a href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">More...</a><br /></td></tr>
<tr class="memdesc:gaa6cf4e7a77158a3b8fd00328b1720a4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the GLFW time. <a href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">More...</a><br /></td></tr>
<tr class="separator:gaa6cf4e7a77158a3b8fd00328b1720a4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf59589ef6e8b8c8b5ad184b25afd4dc0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a> (double time)</td></tr>
<tr class="memdesc:gaf59589ef6e8b8c8b5ad184b25afd4dc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the GLFW timer. <a href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">More...</a><br /></td></tr>
<tr class="memdesc:gaf59589ef6e8b8c8b5ad184b25afd4dc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the GLFW time. <a href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">More...</a><br /></td></tr>
<tr class="separator:gaf59589ef6e8b8c8b5ad184b25afd4dc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09b2bd37d328e0b9456c7ec575cc26aa"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a> (void)</td></tr>
<tr class="memdesc:ga09b2bd37d328e0b9456c7ec575cc26aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current value of the raw timer. <a href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">More...</a><br /></td></tr>
@@ -1595,7 +1595,7 @@ Functions</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

File diff suppressed because one or more lines are too long

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: glfw3native.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -59,7 +59,7 @@ $(function() {
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_04c7319cc076a76201ce53b4d8bbf0c3.html">glfw-3.3</a></li><li class="navelem"><a class="el" href="dir_ace01fe86ba899a5561c861fca1ce019.html">include</a></li><li class="navelem"><a class="el" href="dir_fbca321fec0a9d6642da5837da2f6396.html">GLFW</a></li> </ul>
<li class="navelem"><a class="el" href="dir_bc6505cac00d7a6291dbfd9af70666b7.html">glfw-3.3.2</a></li><li class="navelem"><a class="el" href="dir_a58ef735c5cc5a9a31d321e1abe7c42e.html">include</a></li><li class="navelem"><a class="el" href="dir_15a5176d7c9cc5c407ed4f611edf0684.html">GLFW</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@@ -152,7 +152,7 @@ Functions</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

File diff suppressed because one or more lines are too long

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Mouse buttons</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -267,7 +267,7 @@ Macros</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Context reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -72,25 +72,25 @@ $(function() {
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga3d47c2d2fbe0be9c505d0e04e91a133c"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ga3d47c2d2fbe0be9c505d0e04e91a133c">GLFWglproc</a>) (void)</td></tr>
<tr class="memdesc:ga3d47c2d2fbe0be9c505d0e04e91a133c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Client API function pointer type. <a href="#ga3d47c2d2fbe0be9c505d0e04e91a133c">More...</a><br /></td></tr>
<tr class="memdesc:ga3d47c2d2fbe0be9c505d0e04e91a133c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Client API function pointer type. <a href="group__context.html#ga3d47c2d2fbe0be9c505d0e04e91a133c">More...</a><br /></td></tr>
<tr class="separator:ga3d47c2d2fbe0be9c505d0e04e91a133c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga1c04dc242268f827290fe40aa1c91157"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga1c04dc242268f827290fe40aa1c91157"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the context of the specified window current for the calling thread. <a href="#ga1c04dc242268f827290fe40aa1c91157">More...</a><br /></td></tr>
<tr class="memdesc:ga1c04dc242268f827290fe40aa1c91157"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the context of the specified window current for the calling thread. <a href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">More...</a><br /></td></tr>
<tr class="separator:ga1c04dc242268f827290fe40aa1c91157"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac84759b1f6c2d271a4fea8ae89ec980d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d">glfwGetCurrentContext</a> (void)</td></tr>
<tr class="memdesc:gac84759b1f6c2d271a4fea8ae89ec980d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the window whose context is current on the calling thread. <a href="#gac84759b1f6c2d271a4fea8ae89ec980d">More...</a><br /></td></tr>
<tr class="memdesc:gac84759b1f6c2d271a4fea8ae89ec980d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the window whose context is current on the calling thread. <a href="group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d">More...</a><br /></td></tr>
<tr class="separator:gac84759b1f6c2d271a4fea8ae89ec980d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d4e0cdf151b5e579bd67f13202994ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a> (int interval)</td></tr>
<tr class="memdesc:ga6d4e0cdf151b5e579bd67f13202994ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the swap interval for the current context. <a href="#ga6d4e0cdf151b5e579bd67f13202994ed">More...</a><br /></td></tr>
<tr class="memdesc:ga6d4e0cdf151b5e579bd67f13202994ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the swap interval for the current context. <a href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">More...</a><br /></td></tr>
<tr class="separator:ga6d4e0cdf151b5e579bd67f13202994ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87425065c011cef1ebd6aac75e059dfa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a> (const char *extension)</td></tr>
<tr class="memdesc:ga87425065c011cef1ebd6aac75e059dfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified extension is available. <a href="#ga87425065c011cef1ebd6aac75e059dfa">More...</a><br /></td></tr>
<tr class="memdesc:ga87425065c011cef1ebd6aac75e059dfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified extension is available. <a href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">More...</a><br /></td></tr>
<tr class="separator:ga87425065c011cef1ebd6aac75e059dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35f1837e6f666781842483937612f163"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__context.html#ga3d47c2d2fbe0be9c505d0e04e91a133c">GLFWglproc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a> (const char *procname)</td></tr>
<tr class="memdesc:ga35f1837e6f666781842483937612f163"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the specified function for the current context. <a href="#ga35f1837e6f666781842483937612f163">More...</a><br /></td></tr>
<tr class="memdesc:ga35f1837e6f666781842483937612f163"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the specified function for the current context. <a href="group__context.html#ga35f1837e6f666781842483937612f163">More...</a><br /></td></tr>
<tr class="separator:ga35f1837e6f666781842483937612f163"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
@@ -287,7 +287,7 @@ This function may return a non-<code>NULL</code> address despite the associated
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Error codes</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -71,37 +71,37 @@ $(function() {
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gafa30deee5db4d69c4c93d116ed87dbf4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gafa30deee5db4d69c4c93d116ed87dbf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">No error has occurred. <a href="#gafa30deee5db4d69c4c93d116ed87dbf4">More...</a><br /></td></tr>
<tr class="memdesc:gafa30deee5db4d69c4c93d116ed87dbf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">No error has occurred. <a href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">More...</a><br /></td></tr>
<tr class="separator:gafa30deee5db4d69c4c93d116ed87dbf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2374ee02c177f12e1fa76ff3ed15e14a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>&#160;&#160;&#160;0x00010001</td></tr>
<tr class="memdesc:ga2374ee02c177f12e1fa76ff3ed15e14a"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLFW has not been initialized. <a href="#ga2374ee02c177f12e1fa76ff3ed15e14a">More...</a><br /></td></tr>
<tr class="memdesc:ga2374ee02c177f12e1fa76ff3ed15e14a"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLFW has not been initialized. <a href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">More...</a><br /></td></tr>
<tr class="separator:ga2374ee02c177f12e1fa76ff3ed15e14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8290386e9528ccb9e42a3a4e16fc0d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a>&#160;&#160;&#160;0x00010002</td></tr>
<tr class="memdesc:gaa8290386e9528ccb9e42a3a4e16fc0d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">No context is current for this thread. <a href="#gaa8290386e9528ccb9e42a3a4e16fc0d0">More...</a><br /></td></tr>
<tr class="memdesc:gaa8290386e9528ccb9e42a3a4e16fc0d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">No context is current for this thread. <a href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">More...</a><br /></td></tr>
<tr class="separator:gaa8290386e9528ccb9e42a3a4e16fc0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76f6bb9c4eea73db675f096b404593ce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga76f6bb9c4eea73db675f096b404593ce">GLFW_INVALID_ENUM</a>&#160;&#160;&#160;0x00010003</td></tr>
<tr class="memdesc:ga76f6bb9c4eea73db675f096b404593ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">One of the arguments to the function was an invalid enum value. <a href="#ga76f6bb9c4eea73db675f096b404593ce">More...</a><br /></td></tr>
<tr class="memdesc:ga76f6bb9c4eea73db675f096b404593ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">One of the arguments to the function was an invalid enum value. <a href="group__errors.html#ga76f6bb9c4eea73db675f096b404593ce">More...</a><br /></td></tr>
<tr class="separator:ga76f6bb9c4eea73db675f096b404593ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf2ef9aa8202c2b82ac2d921e554c687"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a>&#160;&#160;&#160;0x00010004</td></tr>
<tr class="memdesc:gaaf2ef9aa8202c2b82ac2d921e554c687"><td class="mdescLeft">&#160;</td><td class="mdescRight">One of the arguments to the function was an invalid value. <a href="#gaaf2ef9aa8202c2b82ac2d921e554c687">More...</a><br /></td></tr>
<tr class="memdesc:gaaf2ef9aa8202c2b82ac2d921e554c687"><td class="mdescLeft">&#160;</td><td class="mdescRight">One of the arguments to the function was an invalid value. <a href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">More...</a><br /></td></tr>
<tr class="separator:gaaf2ef9aa8202c2b82ac2d921e554c687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9023953a2bcb98c2906afd071d21ee7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga9023953a2bcb98c2906afd071d21ee7f">GLFW_OUT_OF_MEMORY</a>&#160;&#160;&#160;0x00010005</td></tr>
<tr class="memdesc:ga9023953a2bcb98c2906afd071d21ee7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">A memory allocation failed. <a href="#ga9023953a2bcb98c2906afd071d21ee7f">More...</a><br /></td></tr>
<tr class="memdesc:ga9023953a2bcb98c2906afd071d21ee7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">A memory allocation failed. <a href="group__errors.html#ga9023953a2bcb98c2906afd071d21ee7f">More...</a><br /></td></tr>
<tr class="separator:ga9023953a2bcb98c2906afd071d21ee7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56882b290db23261cc6c053c40c2d08e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga56882b290db23261cc6c053c40c2d08e">GLFW_API_UNAVAILABLE</a>&#160;&#160;&#160;0x00010006</td></tr>
<tr class="memdesc:ga56882b290db23261cc6c053c40c2d08e"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLFW could not find support for the requested API on the system. <a href="#ga56882b290db23261cc6c053c40c2d08e">More...</a><br /></td></tr>
<tr class="memdesc:ga56882b290db23261cc6c053c40c2d08e"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLFW could not find support for the requested API on the system. <a href="group__errors.html#ga56882b290db23261cc6c053c40c2d08e">More...</a><br /></td></tr>
<tr class="separator:ga56882b290db23261cc6c053c40c2d08e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad16c5565b4a69f9c2a9ac2c0dbc89462"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gad16c5565b4a69f9c2a9ac2c0dbc89462">GLFW_VERSION_UNAVAILABLE</a>&#160;&#160;&#160;0x00010007</td></tr>
<tr class="memdesc:gad16c5565b4a69f9c2a9ac2c0dbc89462"><td class="mdescLeft">&#160;</td><td class="mdescRight">The requested OpenGL or OpenGL ES version is not available. <a href="#gad16c5565b4a69f9c2a9ac2c0dbc89462">More...</a><br /></td></tr>
<tr class="memdesc:gad16c5565b4a69f9c2a9ac2c0dbc89462"><td class="mdescLeft">&#160;</td><td class="mdescRight">The requested OpenGL or OpenGL ES version is not available. <a href="group__errors.html#gad16c5565b4a69f9c2a9ac2c0dbc89462">More...</a><br /></td></tr>
<tr class="separator:gad16c5565b4a69f9c2a9ac2c0dbc89462"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad44162d78100ea5e87cdd38426b8c7a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>&#160;&#160;&#160;0x00010008</td></tr>
<tr class="memdesc:gad44162d78100ea5e87cdd38426b8c7a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A platform-specific error occurred that does not match any of the more specific categories. <a href="#gad44162d78100ea5e87cdd38426b8c7a1">More...</a><br /></td></tr>
<tr class="memdesc:gad44162d78100ea5e87cdd38426b8c7a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A platform-specific error occurred that does not match any of the more specific categories. <a href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">More...</a><br /></td></tr>
<tr class="separator:gad44162d78100ea5e87cdd38426b8c7a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga196e125ef261d94184e2b55c05762f14"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga196e125ef261d94184e2b55c05762f14">GLFW_FORMAT_UNAVAILABLE</a>&#160;&#160;&#160;0x00010009</td></tr>
<tr class="memdesc:ga196e125ef261d94184e2b55c05762f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">The requested format is not supported or available. <a href="#ga196e125ef261d94184e2b55c05762f14">More...</a><br /></td></tr>
<tr class="memdesc:ga196e125ef261d94184e2b55c05762f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">The requested format is not supported or available. <a href="group__errors.html#ga196e125ef261d94184e2b55c05762f14">More...</a><br /></td></tr>
<tr class="separator:ga196e125ef261d94184e2b55c05762f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacff24d2757da752ae4c80bf452356487"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a>&#160;&#160;&#160;0x0001000A</td></tr>
<tr class="memdesc:gacff24d2757da752ae4c80bf452356487"><td class="mdescLeft">&#160;</td><td class="mdescRight">The specified window does not have an OpenGL or OpenGL ES context. <a href="#gacff24d2757da752ae4c80bf452356487">More...</a><br /></td></tr>
<tr class="memdesc:gacff24d2757da752ae4c80bf452356487"><td class="mdescLeft">&#160;</td><td class="mdescRight">The specified window does not have an OpenGL or OpenGL ES context. <a href="group__errors.html#gacff24d2757da752ae4c80bf452356487">More...</a><br /></td></tr>
<tr class="separator:gacff24d2757da752ae4c80bf452356487"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
@@ -289,7 +289,7 @@ Macros</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Initialization, version and error reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -80,50 +80,50 @@ Modules</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga2744fbb29b5631bb28802dbe0cf36eba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga2744fbb29b5631bb28802dbe0cf36eba"><td class="mdescLeft">&#160;</td><td class="mdescRight">One. <a href="#ga2744fbb29b5631bb28802dbe0cf36eba">More...</a><br /></td></tr>
<tr class="memdesc:ga2744fbb29b5631bb28802dbe0cf36eba"><td class="mdescLeft">&#160;</td><td class="mdescRight">One. <a href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">More...</a><br /></td></tr>
<tr class="separator:ga2744fbb29b5631bb28802dbe0cf36eba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac877fe3b627d21ef3a0a23e0a73ba8c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gac877fe3b627d21ef3a0a23e0a73ba8c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zero. <a href="#gac877fe3b627d21ef3a0a23e0a73ba8c5">More...</a><br /></td></tr>
<tr class="memdesc:gac877fe3b627d21ef3a0a23e0a73ba8c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zero. <a href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">More...</a><br /></td></tr>
<tr class="separator:gac877fe3b627d21ef3a0a23e0a73ba8c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9c0534709fda03ec8959201da3a9a18"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gab9c0534709fda03ec8959201da3a9a18">GLFW_JOYSTICK_HAT_BUTTONS</a>&#160;&#160;&#160;0x00050001</td></tr>
<tr class="memdesc:gab9c0534709fda03ec8959201da3a9a18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Joystick hat buttons init hint. <a href="#gab9c0534709fda03ec8959201da3a9a18">More...</a><br /></td></tr>
<tr class="memdesc:gab9c0534709fda03ec8959201da3a9a18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Joystick hat buttons init hint. <a href="group__init.html#gab9c0534709fda03ec8959201da3a9a18">More...</a><br /></td></tr>
<tr class="separator:gab9c0534709fda03ec8959201da3a9a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab937983147a3158d45f88fad7129d9f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gab937983147a3158d45f88fad7129d9f2">GLFW_COCOA_CHDIR_RESOURCES</a>&#160;&#160;&#160;0x00051001</td></tr>
<tr class="memdesc:gab937983147a3158d45f88fad7129d9f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">macOS specific init hint. <a href="#gab937983147a3158d45f88fad7129d9f2">More...</a><br /></td></tr>
<tr class="memdesc:gab937983147a3158d45f88fad7129d9f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">macOS specific init hint. <a href="group__init.html#gab937983147a3158d45f88fad7129d9f2">More...</a><br /></td></tr>
<tr class="separator:gab937983147a3158d45f88fad7129d9f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga71e0b4ce2f2696a84a9b8c5e12dc70cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf">GLFW_COCOA_MENUBAR</a>&#160;&#160;&#160;0x00051002</td></tr>
<tr class="memdesc:ga71e0b4ce2f2696a84a9b8c5e12dc70cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">macOS specific init hint. <a href="#ga71e0b4ce2f2696a84a9b8c5e12dc70cf">More...</a><br /></td></tr>
<tr class="memdesc:ga71e0b4ce2f2696a84a9b8c5e12dc70cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">macOS specific init hint. <a href="group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf">More...</a><br /></td></tr>
<tr class="separator:ga71e0b4ce2f2696a84a9b8c5e12dc70cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga6b8a2639706d5c409fc1287e8f55e928"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a>) (int, const char *)</td></tr>
<tr class="memdesc:ga6b8a2639706d5c409fc1287e8f55e928"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for error callbacks. <a href="#ga6b8a2639706d5c409fc1287e8f55e928">More...</a><br /></td></tr>
<tr class="memdesc:ga6b8a2639706d5c409fc1287e8f55e928"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for error callbacks. <a href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">More...</a><br /></td></tr>
<tr class="separator:ga6b8a2639706d5c409fc1287e8f55e928"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga317aac130a235ab08c6db0834907d85e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> (void)</td></tr>
<tr class="memdesc:ga317aac130a235ab08c6db0834907d85e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the GLFW library. <a href="#ga317aac130a235ab08c6db0834907d85e">More...</a><br /></td></tr>
<tr class="memdesc:ga317aac130a235ab08c6db0834907d85e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the GLFW library. <a href="group__init.html#ga317aac130a235ab08c6db0834907d85e">More...</a><br /></td></tr>
<tr class="separator:ga317aac130a235ab08c6db0834907d85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaae48c0a18607ea4a4ba951d939f0901"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> (void)</td></tr>
<tr class="memdesc:gaaae48c0a18607ea4a4ba951d939f0901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates the GLFW library. <a href="#gaaae48c0a18607ea4a4ba951d939f0901">More...</a><br /></td></tr>
<tr class="memdesc:gaaae48c0a18607ea4a4ba951d939f0901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates the GLFW library. <a href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">More...</a><br /></td></tr>
<tr class="separator:gaaae48c0a18607ea4a4ba951d939f0901"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga110fd1d3f0412822b4f1908c026f724a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a> (int hint, int value)</td></tr>
<tr class="memdesc:ga110fd1d3f0412822b4f1908c026f724a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the specified init hint to the desired value. <a href="#ga110fd1d3f0412822b4f1908c026f724a">More...</a><br /></td></tr>
<tr class="memdesc:ga110fd1d3f0412822b4f1908c026f724a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the specified init hint to the desired value. <a href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">More...</a><br /></td></tr>
<tr class="separator:ga110fd1d3f0412822b4f1908c026f724a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a> (int *major, int *minor, int *rev)</td></tr>
<tr class="memdesc:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the version of the GLFW library. <a href="#ga9f8ffaacf3c269cc48eafbf8b9b71197">More...</a><br /></td></tr>
<tr class="memdesc:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the version of the GLFW library. <a href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">More...</a><br /></td></tr>
<tr class="separator:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23d47dc013fce2bf58036da66079a657"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga23d47dc013fce2bf58036da66079a657">glfwGetVersionString</a> (void)</td></tr>
<tr class="memdesc:ga23d47dc013fce2bf58036da66079a657"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string describing the compile-time configuration. <a href="#ga23d47dc013fce2bf58036da66079a657">More...</a><br /></td></tr>
<tr class="memdesc:ga23d47dc013fce2bf58036da66079a657"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string describing the compile-time configuration. <a href="group__init.html#ga23d47dc013fce2bf58036da66079a657">More...</a><br /></td></tr>
<tr class="separator:ga23d47dc013fce2bf58036da66079a657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga944986b4ec0b928d488141f92982aa18"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a> (const char **description)</td></tr>
<tr class="memdesc:ga944986b4ec0b928d488141f92982aa18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns and clears the last error for the calling thread. <a href="#ga944986b4ec0b928d488141f92982aa18">More...</a><br /></td></tr>
<tr class="memdesc:ga944986b4ec0b928d488141f92982aa18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns and clears the last error for the calling thread. <a href="group__init.html#ga944986b4ec0b928d488141f92982aa18">More...</a><br /></td></tr>
<tr class="separator:ga944986b4ec0b928d488141f92982aa18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5d796c3cf7c1a7f02f845486333fb5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f">glfwSetErrorCallback</a> (<a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a> cbfun)</td></tr>
<tr class="memdesc:gaa5d796c3cf7c1a7f02f845486333fb5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the error callback. <a href="#gaa5d796c3cf7c1a7f02f845486333fb5f">More...</a><br /></td></tr>
<tr class="separator:gaa5d796c3cf7c1a7f02f845486333fb5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff45816610d53f0b83656092a4034f40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a> (<a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a> callback)</td></tr>
<tr class="memdesc:gaff45816610d53f0b83656092a4034f40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the error callback. <a href="group__init.html#gaff45816610d53f0b83656092a4034f40">More...</a><br /></td></tr>
<tr class="separator:gaff45816610d53f0b83656092a4034f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga6337d9ea43b22fc529b2bba066b4a576"></a>
@@ -163,7 +163,7 @@ Functions</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GLFW_VERSION_REVISION&#160;&#160;&#160;0</td>
<td class="memname">#define GLFW_VERSION_REVISION&#160;&#160;&#160;2</td>
</tr>
</table>
</div><div class="memdoc">
@@ -258,17 +258,18 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for error callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for error callbacks. An error callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> callback_name(<span class="keywordtype">int</span> error_code, <span class="keyword">const</span> <span class="keywordtype">char</span>* description)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">error</td><td>An <a class="el" href="group__errors.html">error code</a>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>An <a class="el" href="group__errors.html">error code</a>. Future releases may add more error codes. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">description</td><td>A UTF-8 encoded string describing the error.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Pointer lifetime</dt><dd>The error description string is valid until the callback function returns.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#error_handling">Error handling</a> </dd>
<dd>
<a class="el" href="group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f">glfwSetErrorCallback</a></dd></dl>
<a class="el" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
</div>
@@ -486,13 +487,13 @@ Functions</h2></td></tr>
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#error_handling">Error handling</a> </dd>
<dd>
<a class="el" href="group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f">glfwSetErrorCallback</a></dd></dl>
<a class="el" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
</div>
</div>
<a id="gaa5d796c3cf7c1a7f02f845486333fb5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa5d796c3cf7c1a7f02f845486333fb5f">&#9670;&nbsp;</a></span>glfwSetErrorCallback()</h2>
<a id="gaff45816610d53f0b83656092a4034f40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaff45816610d53f0b83656092a4034f40">&#9670;&nbsp;</a></span>glfwSetErrorCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -501,7 +502,7 @@ Functions</h2></td></tr>
<td class="memname"><a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a> glfwSetErrorCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">GLFWerrorfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em></td><td>)</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
@@ -513,11 +514,13 @@ Functions</h2></td></tr>
<p>Once set, the error callback remains set even after the library has been terminated.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> callback_name(<span class="keywordtype">int</span> error_code, <span class="keyword">const</span> <span class="keywordtype">char</span>* description)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__init.html#ga6b8a2639706d5c409fc1287e8f55e928">callback pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>None.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>This function may be called before <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
@@ -531,7 +534,7 @@ Functions</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Input reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -100,160 +100,160 @@ Modules</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga89261ae18c75e863aaf2656ecdd238f4"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a></td></tr>
<tr class="memdesc:ga89261ae18c75e863aaf2656ecdd238f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque cursor object. <a href="#ga89261ae18c75e863aaf2656ecdd238f4">More...</a><br /></td></tr>
<tr class="memdesc:ga89261ae18c75e863aaf2656ecdd238f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque cursor object. <a href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">More...</a><br /></td></tr>
<tr class="separator:ga89261ae18c75e863aaf2656ecdd238f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39893a4a7e7c3239c98d29c9e084350c"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int, int)</td></tr>
<tr class="memdesc:ga39893a4a7e7c3239c98d29c9e084350c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for mouse button callbacks. <a href="#ga39893a4a7e7c3239c98d29c9e084350c">More...</a><br /></td></tr>
<tr class="memdesc:ga39893a4a7e7c3239c98d29c9e084350c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for mouse button callbacks. <a href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">More...</a><br /></td></tr>
<tr class="separator:ga39893a4a7e7c3239c98d29c9e084350c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4cfad918fa836f09541e7b9acd36686c"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, double, double)</td></tr>
<tr class="memdesc:ga4cfad918fa836f09541e7b9acd36686c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for cursor position callbacks. <a href="#ga4cfad918fa836f09541e7b9acd36686c">More...</a><br /></td></tr>
<tr class="memdesc:ga4cfad918fa836f09541e7b9acd36686c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for cursor position callbacks. <a href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">More...</a><br /></td></tr>
<tr class="separator:ga4cfad918fa836f09541e7b9acd36686c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51ab436c41eeaed6db5a0c9403b1c840"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td></tr>
<tr class="memdesc:ga51ab436c41eeaed6db5a0c9403b1c840"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for cursor enter/leave callbacks. <a href="#ga51ab436c41eeaed6db5a0c9403b1c840">More...</a><br /></td></tr>
<tr class="memdesc:ga51ab436c41eeaed6db5a0c9403b1c840"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for cursor enter/leave callbacks. <a href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">More...</a><br /></td></tr>
<tr class="separator:ga51ab436c41eeaed6db5a0c9403b1c840"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4687e2199c60a18a8dd1da532e6d75c9"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, double, double)</td></tr>
<tr class="memdesc:ga4687e2199c60a18a8dd1da532e6d75c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for scroll callbacks. <a href="#ga4687e2199c60a18a8dd1da532e6d75c9">More...</a><br /></td></tr>
<tr class="memdesc:ga4687e2199c60a18a8dd1da532e6d75c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for scroll callbacks. <a href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">More...</a><br /></td></tr>
<tr class="separator:ga4687e2199c60a18a8dd1da532e6d75c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0192a232a41e4e82948217c8ba94fdfd"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int, int, int)</td></tr>
<tr class="memdesc:ga0192a232a41e4e82948217c8ba94fdfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for keyboard key callbacks. <a href="#ga0192a232a41e4e82948217c8ba94fdfd">More...</a><br /></td></tr>
<tr class="memdesc:ga0192a232a41e4e82948217c8ba94fdfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for keyboard key callbacks. <a href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">More...</a><br /></td></tr>
<tr class="separator:ga0192a232a41e4e82948217c8ba94fdfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf24451c7ceb1952bc02b17a0d5c3e5f"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, unsigned int)</td></tr>
<tr class="memdesc:gabf24451c7ceb1952bc02b17a0d5c3e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for Unicode character callbacks. <a href="#gabf24451c7ceb1952bc02b17a0d5c3e5f">More...</a><br /></td></tr>
<tr class="memdesc:gabf24451c7ceb1952bc02b17a0d5c3e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for Unicode character callbacks. <a href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">More...</a><br /></td></tr>
<tr class="separator:gabf24451c7ceb1952bc02b17a0d5c3e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae36fb6897d2b7df9b128900c8ce9c507"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, unsigned int, int)</td></tr>
<tr class="memdesc:gae36fb6897d2b7df9b128900c8ce9c507"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for Unicode character with modifiers callbacks. <a href="#gae36fb6897d2b7df9b128900c8ce9c507">More...</a><br /></td></tr>
<tr class="memdesc:gae36fb6897d2b7df9b128900c8ce9c507"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for Unicode character with modifiers callbacks. <a href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">More...</a><br /></td></tr>
<tr class="separator:gae36fb6897d2b7df9b128900c8ce9c507"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab71f4ca80b651462852e601caf308c4a"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gab71f4ca80b651462852e601caf308c4a">GLFWdropfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, const char **)</td></tr>
<tr class="memdesc:gab71f4ca80b651462852e601caf308c4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for file drop callbacks. <a href="#gab71f4ca80b651462852e601caf308c4a">More...</a><br /></td></tr>
<tr class="separator:gab71f4ca80b651462852e601caf308c4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd0493dc32cd5ca5810e6148c0c026ea"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">GLFWdropfun</a>) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, const char *[])</td></tr>
<tr class="memdesc:gafd0493dc32cd5ca5810e6148c0c026ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for path drop callbacks. <a href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">More...</a><br /></td></tr>
<tr class="separator:gafd0493dc32cd5ca5810e6148c0c026ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa67aa597e974298c748bfe4fb17d406d"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a>) (int, int)</td></tr>
<tr class="memdesc:gaa67aa597e974298c748bfe4fb17d406d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for joystick configuration callbacks. <a href="#gaa67aa597e974298c748bfe4fb17d406d">More...</a><br /></td></tr>
<tr class="memdesc:gaa67aa597e974298c748bfe4fb17d406d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for joystick configuration callbacks. <a href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">More...</a><br /></td></tr>
<tr class="separator:gaa67aa597e974298c748bfe4fb17d406d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b86867abb735af3b959f61c44b1d029"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structGLFWgamepadstate.html">GLFWgamepadstate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga0b86867abb735af3b959f61c44b1d029">GLFWgamepadstate</a></td></tr>
<tr class="memdesc:ga0b86867abb735af3b959f61c44b1d029"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gamepad input state. <a href="#ga0b86867abb735af3b959f61c44b1d029">More...</a><br /></td></tr>
<tr class="memdesc:ga0b86867abb735af3b959f61c44b1d029"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gamepad input state. <a href="group__input.html#ga0b86867abb735af3b959f61c44b1d029">More...</a><br /></td></tr>
<tr class="separator:ga0b86867abb735af3b959f61c44b1d029"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf5b859dbe19bdf434e42695ea45cc5f4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaf5b859dbe19bdf434e42695ea45cc5f4">glfwGetInputMode</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int mode)</td></tr>
<tr class="memdesc:gaf5b859dbe19bdf434e42695ea45cc5f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of an input option for the specified window. <a href="#gaf5b859dbe19bdf434e42695ea45cc5f4">More...</a><br /></td></tr>
<tr class="memdesc:gaf5b859dbe19bdf434e42695ea45cc5f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of an input option for the specified window. <a href="group__input.html#gaf5b859dbe19bdf434e42695ea45cc5f4">More...</a><br /></td></tr>
<tr class="separator:gaf5b859dbe19bdf434e42695ea45cc5f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa92336e173da9c8834558b54ee80563b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int mode, int value)</td></tr>
<tr class="memdesc:gaa92336e173da9c8834558b54ee80563b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets an input option for the specified window. <a href="#gaa92336e173da9c8834558b54ee80563b">More...</a><br /></td></tr>
<tr class="memdesc:gaa92336e173da9c8834558b54ee80563b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets an input option for the specified window. <a href="group__input.html#gaa92336e173da9c8834558b54ee80563b">More...</a><br /></td></tr>
<tr class="separator:gaa92336e173da9c8834558b54ee80563b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4ee0dbd0d256183e1ea4026d897e1c2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2">glfwRawMouseMotionSupported</a> (void)</td></tr>
<tr class="memdesc:gae4ee0dbd0d256183e1ea4026d897e1c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether raw mouse motion is supported. <a href="#gae4ee0dbd0d256183e1ea4026d897e1c2">More...</a><br /></td></tr>
<tr class="memdesc:gae4ee0dbd0d256183e1ea4026d897e1c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether raw mouse motion is supported. <a href="group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2">More...</a><br /></td></tr>
<tr class="separator:gae4ee0dbd0d256183e1ea4026d897e1c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga237a182e5ec0b21ce64543f3b5e7e2be"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be">glfwGetKeyName</a> (int key, int scancode)</td></tr>
<tr class="memdesc:ga237a182e5ec0b21ce64543f3b5e7e2be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout-specific name of the specified printable key. <a href="#ga237a182e5ec0b21ce64543f3b5e7e2be">More...</a><br /></td></tr>
<tr class="memdesc:ga237a182e5ec0b21ce64543f3b5e7e2be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout-specific name of the specified printable key. <a href="group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be">More...</a><br /></td></tr>
<tr class="separator:ga237a182e5ec0b21ce64543f3b5e7e2be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67ddd1b7dcbbaff03e4a76c0ea67103a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a">glfwGetKeyScancode</a> (int key)</td></tr>
<tr class="memdesc:ga67ddd1b7dcbbaff03e4a76c0ea67103a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the platform-specific scancode of the specified key. <a href="#ga67ddd1b7dcbbaff03e4a76c0ea67103a">More...</a><br /></td></tr>
<tr class="memdesc:ga67ddd1b7dcbbaff03e4a76c0ea67103a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the platform-specific scancode of the specified key. <a href="group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a">More...</a><br /></td></tr>
<tr class="separator:ga67ddd1b7dcbbaff03e4a76c0ea67103a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd341da06bc8d418b4dc3a3518af9ad2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int key)</td></tr>
<tr class="memdesc:gadd341da06bc8d418b4dc3a3518af9ad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the last reported state of a keyboard key for the specified window. <a href="#gadd341da06bc8d418b4dc3a3518af9ad2">More...</a><br /></td></tr>
<tr class="memdesc:gadd341da06bc8d418b4dc3a3518af9ad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the last reported state of a keyboard key for the specified window. <a href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">More...</a><br /></td></tr>
<tr class="separator:gadd341da06bc8d418b4dc3a3518af9ad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1473feacb5996c01a7a5a33b5066704"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">glfwGetMouseButton</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int button)</td></tr>
<tr class="memdesc:gac1473feacb5996c01a7a5a33b5066704"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the last reported state of a mouse button for the specified window. <a href="#gac1473feacb5996c01a7a5a33b5066704">More...</a><br /></td></tr>
<tr class="memdesc:gac1473feacb5996c01a7a5a33b5066704"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the last reported state of a mouse button for the specified window. <a href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">More...</a><br /></td></tr>
<tr class="separator:gac1473feacb5996c01a7a5a33b5066704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01d37b6c40133676b9cea60ca1d7c0cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, double *xpos, double *ypos)</td></tr>
<tr class="memdesc:ga01d37b6c40133676b9cea60ca1d7c0cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the position of the cursor relative to the content area of the window. <a href="#ga01d37b6c40133676b9cea60ca1d7c0cc">More...</a><br /></td></tr>
<tr class="memdesc:ga01d37b6c40133676b9cea60ca1d7c0cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the position of the cursor relative to the content area of the window. <a href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">More...</a><br /></td></tr>
<tr class="separator:ga01d37b6c40133676b9cea60ca1d7c0cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04b03af936d906ca123c8f4ee08b39e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga04b03af936d906ca123c8f4ee08b39e7">glfwSetCursorPos</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, double xpos, double ypos)</td></tr>
<tr class="memdesc:ga04b03af936d906ca123c8f4ee08b39e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the position of the cursor, relative to the content area of the window. <a href="#ga04b03af936d906ca123c8f4ee08b39e7">More...</a><br /></td></tr>
<tr class="memdesc:ga04b03af936d906ca123c8f4ee08b39e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the position of the cursor, relative to the content area of the window. <a href="group__input.html#ga04b03af936d906ca123c8f4ee08b39e7">More...</a><br /></td></tr>
<tr class="separator:ga04b03af936d906ca123c8f4ee08b39e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafca356935e10135016aa49ffa464c355"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gafca356935e10135016aa49ffa464c355">glfwCreateCursor</a> (const <a class="el" href="structGLFWimage.html">GLFWimage</a> *image, int xhot, int yhot)</td></tr>
<tr class="memdesc:gafca356935e10135016aa49ffa464c355"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a custom cursor. <a href="#gafca356935e10135016aa49ffa464c355">More...</a><br /></td></tr>
<tr class="memdesc:gafca356935e10135016aa49ffa464c355"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a custom cursor. <a href="group__input.html#gafca356935e10135016aa49ffa464c355">More...</a><br /></td></tr>
<tr class="separator:gafca356935e10135016aa49ffa464c355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa65f416d03ebbbb5b8db71a489fcb894"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894">glfwCreateStandardCursor</a> (int shape)</td></tr>
<tr class="memdesc:gaa65f416d03ebbbb5b8db71a489fcb894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a cursor with a standard shape. <a href="#gaa65f416d03ebbbb5b8db71a489fcb894">More...</a><br /></td></tr>
<tr class="memdesc:gaa65f416d03ebbbb5b8db71a489fcb894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a cursor with a standard shape. <a href="group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894">More...</a><br /></td></tr>
<tr class="separator:gaa65f416d03ebbbb5b8db71a489fcb894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga81b952cd1764274d0db7fb3c5a79ba6a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">glfwDestroyCursor</a> (<a class="el" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a> *cursor)</td></tr>
<tr class="memdesc:ga81b952cd1764274d0db7fb3c5a79ba6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys a cursor. <a href="#ga81b952cd1764274d0db7fb3c5a79ba6a">More...</a><br /></td></tr>
<tr class="memdesc:ga81b952cd1764274d0db7fb3c5a79ba6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys a cursor. <a href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">More...</a><br /></td></tr>
<tr class="separator:ga81b952cd1764274d0db7fb3c5a79ba6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3b4f38c8d5dae036bc8fa959e18343e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a> *cursor)</td></tr>
<tr class="memdesc:gad3b4f38c8d5dae036bc8fa959e18343e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor for the window. <a href="#gad3b4f38c8d5dae036bc8fa959e18343e">More...</a><br /></td></tr>
<tr class="memdesc:gad3b4f38c8d5dae036bc8fa959e18343e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor for the window. <a href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">More...</a><br /></td></tr>
<tr class="separator:gad3b4f38c8d5dae036bc8fa959e18343e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e496507126f35ea72f01b2e6ef6d155"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga7e496507126f35ea72f01b2e6ef6d155">glfwSetKeyCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a> cbfun)</td></tr>
<tr class="memdesc:ga7e496507126f35ea72f01b2e6ef6d155"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the key callback. <a href="#ga7e496507126f35ea72f01b2e6ef6d155">More...</a><br /></td></tr>
<tr class="separator:ga7e496507126f35ea72f01b2e6ef6d155"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga556239421c6a5a243c66fca28da9f742"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga556239421c6a5a243c66fca28da9f742">glfwSetCharCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a> cbfun)</td></tr>
<tr class="memdesc:ga556239421c6a5a243c66fca28da9f742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Unicode character callback. <a href="#ga556239421c6a5a243c66fca28da9f742">More...</a><br /></td></tr>
<tr class="separator:ga556239421c6a5a243c66fca28da9f742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f55ef5dc03a374e567f068b13c94afc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga3f55ef5dc03a374e567f068b13c94afc">glfwSetCharModsCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a> cbfun)</td></tr>
<tr class="memdesc:ga3f55ef5dc03a374e567f068b13c94afc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Unicode character with modifiers callback. <a href="#ga3f55ef5dc03a374e567f068b13c94afc">More...</a><br /></td></tr>
<tr class="separator:ga3f55ef5dc03a374e567f068b13c94afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef49b72d84d615bca0a6ed65485e035d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaef49b72d84d615bca0a6ed65485e035d">glfwSetMouseButtonCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a> cbfun)</td></tr>
<tr class="memdesc:gaef49b72d84d615bca0a6ed65485e035d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the mouse button callback. <a href="#gaef49b72d84d615bca0a6ed65485e035d">More...</a><br /></td></tr>
<tr class="separator:gaef49b72d84d615bca0a6ed65485e035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dad39486f2c7591af7fb25134a2501d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga7dad39486f2c7591af7fb25134a2501d">glfwSetCursorPosCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a> cbfun)</td></tr>
<tr class="memdesc:ga7dad39486f2c7591af7fb25134a2501d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor position callback. <a href="#ga7dad39486f2c7591af7fb25134a2501d">More...</a><br /></td></tr>
<tr class="separator:ga7dad39486f2c7591af7fb25134a2501d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa299c41dd0a3d171d166354e01279e04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa299c41dd0a3d171d166354e01279e04">glfwSetCursorEnterCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a> cbfun)</td></tr>
<tr class="memdesc:gaa299c41dd0a3d171d166354e01279e04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor enter/exit callback. <a href="#gaa299c41dd0a3d171d166354e01279e04">More...</a><br /></td></tr>
<tr class="separator:gaa299c41dd0a3d171d166354e01279e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf02eb10504352f16efda4593c3ce60e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gacf02eb10504352f16efda4593c3ce60e">glfwSetScrollCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a> cbfun)</td></tr>
<tr class="memdesc:gacf02eb10504352f16efda4593c3ce60e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the scroll callback. <a href="#gacf02eb10504352f16efda4593c3ce60e">More...</a><br /></td></tr>
<tr class="separator:gacf02eb10504352f16efda4593c3ce60e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41291bf15dd3ff564b3143aa6dc74a4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gab71f4ca80b651462852e601caf308c4a">GLFWdropfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga41291bf15dd3ff564b3143aa6dc74a4b">glfwSetDropCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gab71f4ca80b651462852e601caf308c4a">GLFWdropfun</a> cbfun)</td></tr>
<tr class="memdesc:ga41291bf15dd3ff564b3143aa6dc74a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the file drop callback. <a href="#ga41291bf15dd3ff564b3143aa6dc74a4b">More...</a><br /></td></tr>
<tr class="separator:ga41291bf15dd3ff564b3143aa6dc74a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1caf18159767e761185e49a3be019f8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">glfwSetKeyCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a> callback)</td></tr>
<tr class="memdesc:ga1caf18159767e761185e49a3be019f8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the key callback. <a href="group__input.html#ga1caf18159767e761185e49a3be019f8d">More...</a><br /></td></tr>
<tr class="separator:ga1caf18159767e761185e49a3be019f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab25c4a220fd8f5717718dbc487828996"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gab25c4a220fd8f5717718dbc487828996">glfwSetCharCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a> callback)</td></tr>
<tr class="memdesc:gab25c4a220fd8f5717718dbc487828996"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Unicode character callback. <a href="group__input.html#gab25c4a220fd8f5717718dbc487828996">More...</a><br /></td></tr>
<tr class="separator:gab25c4a220fd8f5717718dbc487828996"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b7f4ad13c2b17435ff13b6dcfb4e43c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">glfwSetCharModsCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a> callback)</td></tr>
<tr class="memdesc:ga0b7f4ad13c2b17435ff13b6dcfb4e43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Unicode character with modifiers callback. <a href="group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">More...</a><br /></td></tr>
<tr class="separator:ga0b7f4ad13c2b17435ff13b6dcfb4e43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ab84420974d812bee700e45284a723c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga6ab84420974d812bee700e45284a723c">glfwSetMouseButtonCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a> callback)</td></tr>
<tr class="memdesc:ga6ab84420974d812bee700e45284a723c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the mouse button callback. <a href="group__input.html#ga6ab84420974d812bee700e45284a723c">More...</a><br /></td></tr>
<tr class="separator:ga6ab84420974d812bee700e45284a723c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1f879ab7435d54d4d79bb469fe225d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">glfwSetCursorPosCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a> callback)</td></tr>
<tr class="memdesc:gac1f879ab7435d54d4d79bb469fe225d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor position callback. <a href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">More...</a><br /></td></tr>
<tr class="separator:gac1f879ab7435d54d4d79bb469fe225d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad27f8ad0142c038a281466c0966817d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gad27f8ad0142c038a281466c0966817d8">glfwSetCursorEnterCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a> callback)</td></tr>
<tr class="memdesc:gad27f8ad0142c038a281466c0966817d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cursor enter/leave callback. <a href="group__input.html#gad27f8ad0142c038a281466c0966817d8">More...</a><br /></td></tr>
<tr class="separator:gad27f8ad0142c038a281466c0966817d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga571e45a030ae4061f746ed56cb76aede"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">glfwSetScrollCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a> callback)</td></tr>
<tr class="memdesc:ga571e45a030ae4061f746ed56cb76aede"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the scroll callback. <a href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">More...</a><br /></td></tr>
<tr class="separator:ga571e45a030ae4061f746ed56cb76aede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab773f0ee0a07cff77a210cea40bc1f6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">GLFWdropfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">glfwSetDropCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">GLFWdropfun</a> callback)</td></tr>
<tr class="memdesc:gab773f0ee0a07cff77a210cea40bc1f6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the path drop callback. <a href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">More...</a><br /></td></tr>
<tr class="separator:gab773f0ee0a07cff77a210cea40bc1f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed0966cee139d815317f9ffcba64c9f1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a> (int jid)</td></tr>
<tr class="memdesc:gaed0966cee139d815317f9ffcba64c9f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified joystick is present. <a href="#gaed0966cee139d815317f9ffcba64c9f1">More...</a><br /></td></tr>
<tr class="memdesc:gaed0966cee139d815317f9ffcba64c9f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified joystick is present. <a href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">More...</a><br /></td></tr>
<tr class="separator:gaed0966cee139d815317f9ffcba64c9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8806536731e92c061bc70bcff6edbd0"><td class="memItemLeft" align="right" valign="top">const float *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">glfwGetJoystickAxes</a> (int jid, int *count)</td></tr>
<tr class="memdesc:gaa8806536731e92c061bc70bcff6edbd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the values of all axes of the specified joystick. <a href="#gaa8806536731e92c061bc70bcff6edbd0">More...</a><br /></td></tr>
<tr class="memdesc:gaa8806536731e92c061bc70bcff6edbd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the values of all axes of the specified joystick. <a href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">More...</a><br /></td></tr>
<tr class="separator:gaa8806536731e92c061bc70bcff6edbd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb3cbf44af90a1536f519659a53bddd6"><td class="memItemLeft" align="right" valign="top">const unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a> (int jid, int *count)</td></tr>
<tr class="memdesc:gadb3cbf44af90a1536f519659a53bddd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the state of all buttons of the specified joystick. <a href="#gadb3cbf44af90a1536f519659a53bddd6">More...</a><br /></td></tr>
<tr class="memdesc:gadb3cbf44af90a1536f519659a53bddd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the state of all buttons of the specified joystick. <a href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">More...</a><br /></td></tr>
<tr class="separator:gadb3cbf44af90a1536f519659a53bddd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d8d0634bb81c180899aeb07477a67ea"><td class="memItemLeft" align="right" valign="top">const unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a> (int jid, int *count)</td></tr>
<tr class="memdesc:ga2d8d0634bb81c180899aeb07477a67ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the state of all hats of the specified joystick. <a href="#ga2d8d0634bb81c180899aeb07477a67ea">More...</a><br /></td></tr>
<tr class="memdesc:ga2d8d0634bb81c180899aeb07477a67ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the state of all hats of the specified joystick. <a href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">More...</a><br /></td></tr>
<tr class="separator:ga2d8d0634bb81c180899aeb07477a67ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbe3e51f670320908cfe4e20d3e5559e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gafbe3e51f670320908cfe4e20d3e5559e">glfwGetJoystickName</a> (int jid)</td></tr>
<tr class="memdesc:gafbe3e51f670320908cfe4e20d3e5559e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the specified joystick. <a href="#gafbe3e51f670320908cfe4e20d3e5559e">More...</a><br /></td></tr>
<tr class="memdesc:gafbe3e51f670320908cfe4e20d3e5559e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the specified joystick. <a href="group__input.html#gafbe3e51f670320908cfe4e20d3e5559e">More...</a><br /></td></tr>
<tr class="separator:gafbe3e51f670320908cfe4e20d3e5559e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae168c2c0b8cf2a1cb67c6b3c00bdd543"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gae168c2c0b8cf2a1cb67c6b3c00bdd543">glfwGetJoystickGUID</a> (int jid)</td></tr>
<tr class="memdesc:gae168c2c0b8cf2a1cb67c6b3c00bdd543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the SDL comaptible GUID of the specified joystick. <a href="#gae168c2c0b8cf2a1cb67c6b3c00bdd543">More...</a><br /></td></tr>
<tr class="memdesc:gae168c2c0b8cf2a1cb67c6b3c00bdd543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the SDL compatible GUID of the specified joystick. <a href="group__input.html#gae168c2c0b8cf2a1cb67c6b3c00bdd543">More...</a><br /></td></tr>
<tr class="separator:gae168c2c0b8cf2a1cb67c6b3c00bdd543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b2f72d64d636b48a727b437cbb7489e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga6b2f72d64d636b48a727b437cbb7489e">glfwSetJoystickUserPointer</a> (int jid, void *pointer)</td></tr>
<tr class="memdesc:ga6b2f72d64d636b48a727b437cbb7489e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user pointer of the specified joystick. <a href="#ga6b2f72d64d636b48a727b437cbb7489e">More...</a><br /></td></tr>
<tr class="memdesc:ga6b2f72d64d636b48a727b437cbb7489e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user pointer of the specified joystick. <a href="group__input.html#ga6b2f72d64d636b48a727b437cbb7489e">More...</a><br /></td></tr>
<tr class="separator:ga6b2f72d64d636b48a727b437cbb7489e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06290acb7ed23895bf26b8e981827ebd"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga06290acb7ed23895bf26b8e981827ebd">glfwGetJoystickUserPointer</a> (int jid)</td></tr>
<tr class="memdesc:ga06290acb7ed23895bf26b8e981827ebd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user pointer of the specified joystick. <a href="#ga06290acb7ed23895bf26b8e981827ebd">More...</a><br /></td></tr>
<tr class="memdesc:ga06290acb7ed23895bf26b8e981827ebd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user pointer of the specified joystick. <a href="group__input.html#ga06290acb7ed23895bf26b8e981827ebd">More...</a><br /></td></tr>
<tr class="separator:ga06290acb7ed23895bf26b8e981827ebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0f676860f329d80f7e47e9f06a96f00"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">glfwJoystickIsGamepad</a> (int jid)</td></tr>
<tr class="memdesc:gad0f676860f329d80f7e47e9f06a96f00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified joystick has a gamepad mapping. <a href="#gad0f676860f329d80f7e47e9f06a96f00">More...</a><br /></td></tr>
<tr class="memdesc:gad0f676860f329d80f7e47e9f06a96f00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified joystick has a gamepad mapping. <a href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">More...</a><br /></td></tr>
<tr class="separator:gad0f676860f329d80f7e47e9f06a96f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1dc8379f1b82bb660a6b9c9fa06ca07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gab1dc8379f1b82bb660a6b9c9fa06ca07">glfwSetJoystickCallback</a> (<a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a> cbfun)</td></tr>
<tr class="memdesc:gab1dc8379f1b82bb660a6b9c9fa06ca07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the joystick configuration callback. <a href="#gab1dc8379f1b82bb660a6b9c9fa06ca07">More...</a><br /></td></tr>
<tr class="separator:gab1dc8379f1b82bb660a6b9c9fa06ca07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">glfwSetJoystickCallback</a> (<a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a> callback)</td></tr>
<tr class="memdesc:ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the joystick configuration callback. <a href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">More...</a><br /></td></tr>
<tr class="separator:ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed5104612f2fa8e66aa6e846652ad00f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">glfwUpdateGamepadMappings</a> (const char *string)</td></tr>
<tr class="memdesc:gaed5104612f2fa8e66aa6e846652ad00f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the specified SDL_GameControllerDB gamepad mappings. <a href="#gaed5104612f2fa8e66aa6e846652ad00f">More...</a><br /></td></tr>
<tr class="memdesc:gaed5104612f2fa8e66aa6e846652ad00f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the specified SDL_GameControllerDB gamepad mappings. <a href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">More...</a><br /></td></tr>
<tr class="separator:gaed5104612f2fa8e66aa6e846652ad00f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c71e3533b2d384db9317fcd7661b210"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga5c71e3533b2d384db9317fcd7661b210">glfwGetGamepadName</a> (int jid)</td></tr>
<tr class="memdesc:ga5c71e3533b2d384db9317fcd7661b210"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the human-readable gamepad name for the specified joystick. <a href="#ga5c71e3533b2d384db9317fcd7661b210">More...</a><br /></td></tr>
<tr class="memdesc:ga5c71e3533b2d384db9317fcd7661b210"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the human-readable gamepad name for the specified joystick. <a href="group__input.html#ga5c71e3533b2d384db9317fcd7661b210">More...</a><br /></td></tr>
<tr class="separator:ga5c71e3533b2d384db9317fcd7661b210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadccddea8bce6113fa459de379ddaf051"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gadccddea8bce6113fa459de379ddaf051">glfwGetGamepadState</a> (int jid, <a class="el" href="structGLFWgamepadstate.html">GLFWgamepadstate</a> *state)</td></tr>
<tr class="memdesc:gadccddea8bce6113fa459de379ddaf051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the state of the specified joystick remapped as a gamepad. <a href="#gadccddea8bce6113fa459de379ddaf051">More...</a><br /></td></tr>
<tr class="memdesc:gadccddea8bce6113fa459de379ddaf051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the state of the specified joystick remapped as a gamepad. <a href="group__input.html#gadccddea8bce6113fa459de379ddaf051">More...</a><br /></td></tr>
<tr class="separator:gadccddea8bce6113fa459de379ddaf051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba1f022c5eb07dfac421df34cdcd31dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd">glfwSetClipboardString</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, const char *string)</td></tr>
<tr class="memdesc:gaba1f022c5eb07dfac421df34cdcd31dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the clipboard to the specified string. <a href="#gaba1f022c5eb07dfac421df34cdcd31dd">More...</a><br /></td></tr>
<tr class="memdesc:gaba1f022c5eb07dfac421df34cdcd31dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the clipboard to the specified string. <a href="group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd">More...</a><br /></td></tr>
<tr class="separator:gaba1f022c5eb07dfac421df34cdcd31dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5aba1d704d9ab539282b1fbe9f18bb94"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94">glfwGetClipboardString</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga5aba1d704d9ab539282b1fbe9f18bb94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the contents of the clipboard as a string. <a href="#ga5aba1d704d9ab539282b1fbe9f18bb94">More...</a><br /></td></tr>
<tr class="memdesc:ga5aba1d704d9ab539282b1fbe9f18bb94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the contents of the clipboard as a string. <a href="group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94">More...</a><br /></td></tr>
<tr class="separator:ga5aba1d704d9ab539282b1fbe9f18bb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6cf4e7a77158a3b8fd00328b1720a4a"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a> (void)</td></tr>
<tr class="memdesc:gaa6cf4e7a77158a3b8fd00328b1720a4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of the GLFW timer. <a href="#gaa6cf4e7a77158a3b8fd00328b1720a4a">More...</a><br /></td></tr>
<tr class="memdesc:gaa6cf4e7a77158a3b8fd00328b1720a4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the GLFW time. <a href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">More...</a><br /></td></tr>
<tr class="separator:gaa6cf4e7a77158a3b8fd00328b1720a4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf59589ef6e8b8c8b5ad184b25afd4dc0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a> (double time)</td></tr>
<tr class="memdesc:gaf59589ef6e8b8c8b5ad184b25afd4dc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the GLFW timer. <a href="#gaf59589ef6e8b8c8b5ad184b25afd4dc0">More...</a><br /></td></tr>
<tr class="memdesc:gaf59589ef6e8b8c8b5ad184b25afd4dc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the GLFW time. <a href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">More...</a><br /></td></tr>
<tr class="separator:gaf59589ef6e8b8c8b5ad184b25afd4dc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09b2bd37d328e0b9456c7ec575cc26aa"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a> (void)</td></tr>
<tr class="memdesc:ga09b2bd37d328e0b9456c7ec575cc26aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current value of the raw timer. <a href="#ga09b2bd37d328e0b9456c7ec575cc26aa">More...</a><br /></td></tr>
<tr class="memdesc:ga09b2bd37d328e0b9456c7ec575cc26aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current value of the raw timer. <a href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">More...</a><br /></td></tr>
<tr class="separator:ga09b2bd37d328e0b9456c7ec575cc26aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3289ee876572f6e91f06df3a24824443"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a> (void)</td></tr>
<tr class="memdesc:ga3289ee876572f6e91f06df3a24824443"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the frequency, in Hz, of the raw timer. <a href="#ga3289ee876572f6e91f06df3a24824443">More...</a><br /></td></tr>
<tr class="memdesc:ga3289ee876572f6e91f06df3a24824443"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the frequency, in Hz, of the raw timer. <a href="group__input.html#ga3289ee876572f6e91f06df3a24824443">More...</a><br /></td></tr>
<tr class="separator:ga3289ee876572f6e91f06df3a24824443"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
@@ -331,19 +331,19 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for mouse button callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for mouse button callback functions. A mouse button callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> button, <span class="keywordtype">int</span> action, <span class="keywordtype">int</span> mods)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window that received the event. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">button</td><td>The <a class="el" href="group__buttons.html">mouse button</a> that was pressed or released. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">action</td><td>One of <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">action</td><td>One of <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>. Future releases may add more actions. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mods</td><td>Bit field describing which <a class="el" href="group__mods.html">modifier keys</a> were held down.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_mouse_button">Mouse button input</a> </dd>
<dd>
<a class="el" href="group__input.html#gaef49b72d84d615bca0a6ed65485e035d">glfwSetMouseButtonCallback</a></dd></dl>
<a class="el" href="group__input.html#ga6ab84420974d812bee700e45284a723c">glfwSetMouseButtonCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. <b>GLFW 3:</b> Added window handle and modifier mask parameters. </dd></dl>
</div>
@@ -359,8 +359,8 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for cursor position callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for cursor position callbacks. A cursor position callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xpos, <span class="keywordtype">double</span> ypos);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window that received the event. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">xpos</td><td>The new cursor x-coordinate, relative to the left edge of the content area. </td></tr>
@@ -370,7 +370,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#cursor_pos">Cursor position</a> </dd>
<dd>
<a class="el" href="group__input.html#ga7dad39486f2c7591af7fb25134a2501d">glfwSetCursorPosCallback</a></dd></dl>
<a class="el" href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">glfwSetCursorPosCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. Replaces <code>GLFWmouseposfun</code>. </dd></dl>
</div>
@@ -386,8 +386,8 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for cursor enter/leave callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for cursor enter/leave callbacks. A cursor enter/leave callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> entered)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window that received the event. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">entered</td><td><code>GLFW_TRUE</code> if the cursor entered the window's content area, or <code>GLFW_FALSE</code> if it left it.</td></tr>
@@ -396,7 +396,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#cursor_enter">Cursor enter/leave events</a> </dd>
<dd>
<a class="el" href="group__input.html#gaa299c41dd0a3d171d166354e01279e04">glfwSetCursorEnterCallback</a></dd></dl>
<a class="el" href="group__input.html#gad27f8ad0142c038a281466c0966817d8">glfwSetCursorEnterCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
</div>
@@ -412,8 +412,8 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for scroll callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for scroll callbacks. A scroll callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xoffset, <span class="keywordtype">double</span> yoffset)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window that received the event. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">xoffset</td><td>The scroll offset along the x-axis. </td></tr>
@@ -423,7 +423,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#scrolling">Scroll input</a> </dd>
<dd>
<a class="el" href="group__input.html#gacf02eb10504352f16efda4593c3ce60e">glfwSetScrollCallback</a></dd></dl>
<a class="el" href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">glfwSetScrollCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. Replaces <code>GLFWmousewheelfun</code>. </dd></dl>
</div>
@@ -439,20 +439,20 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for keyboard key callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for keyboard key callbacks. A keyboard key callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> key, <span class="keywordtype">int</span> scancode, <span class="keywordtype">int</span> action, <span class="keywordtype">int</span> mods)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window that received the event. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>The <a class="el" href="group__keys.html">keyboard key</a> that was pressed or released. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">scancode</td><td>The system-specific scancode of the key. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">action</td><td><code>GLFW_PRESS</code>, <code>GLFW_RELEASE</code> or <code>GLFW_REPEAT</code>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">action</td><td><code>GLFW_PRESS</code>, <code>GLFW_RELEASE</code> or <code>GLFW_REPEAT</code>. Future releases may add more actions. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mods</td><td>Bit field describing which <a class="el" href="group__mods.html">modifier keys</a> were held down.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_key">Key input</a> </dd>
<dd>
<a class="el" href="group__input.html#ga7e496507126f35ea72f01b2e6ef6d155">glfwSetKeyCallback</a></dd></dl>
<a class="el" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">glfwSetKeyCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. <b>GLFW 3:</b> Added window handle, scancode and modifier mask parameters. </dd></dl>
</div>
@@ -468,8 +468,8 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for Unicode character callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for Unicode character callbacks. A Unicode character callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> codepoint)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window that received the event. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">codepoint</td><td>The Unicode code point of the character.</td></tr>
@@ -478,7 +478,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_char">Text input</a> </dd>
<dd>
<a class="el" href="group__input.html#ga556239421c6a5a243c66fca28da9f742">glfwSetCharCallback</a></dd></dl>
<a class="el" href="group__input.html#gab25c4a220fd8f5717718dbc487828996">glfwSetCharCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 2.4. <b>GLFW 3:</b> Added window handle parameter. </dd></dl>
</div>
@@ -494,8 +494,8 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>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.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for Unicode character with modifiers callbacks. It is called for each input character, regardless of what modifier keys are held down. A Unicode character with modifiers callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> codepoint, <span class="keywordtype">int</span> mods)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window that received the event. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">codepoint</td><td>The Unicode code point of the character. </td></tr>
@@ -505,35 +505,36 @@ Functions</h2></td></tr>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_char">Text input</a> </dd>
<dd>
<a class="el" href="group__input.html#ga3f55ef5dc03a374e567f068b13c94afc">glfwSetCharModsCallback</a></dd></dl>
<a class="el" href="group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">glfwSetCharModsCallback</a></dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Scheduled for removal in version 4.0.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.1. </dd></dl>
</div>
</div>
<a id="gab71f4ca80b651462852e601caf308c4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab71f4ca80b651462852e601caf308c4a">&#9670;&nbsp;</a></span>GLFWdropfun</h2>
<a id="gafd0493dc32cd5ca5810e6148c0c026ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafd0493dc32cd5ca5810e6148c0c026ea">&#9670;&nbsp;</a></span>GLFWdropfun</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* GLFWdropfun) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, const char **)</td>
<td class="memname">typedef void(* GLFWdropfun) (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, const char *[])</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for file drop callbacks.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for path drop callbacks. A path drop callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> path_count, <span class="keyword">const</span> <span class="keywordtype">char</span>* paths[])</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window that received the event. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>The number of dropped files. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">path_count</td><td>The number of dropped paths. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">paths</td><td>The UTF-8 encoded file and/or directory path names.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Pointer lifetime</dt><dd>The path array and its strings are valid until the callback function returns.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#path_drop">Path drop input</a> </dd>
<dd>
<a class="el" href="group__input.html#ga41291bf15dd3ff564b3143aa6dc74a4b">glfwSetDropCallback</a></dd></dl>
<a class="el" href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">glfwSetDropCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.1. </dd></dl>
</div>
@@ -549,17 +550,17 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for joystick configuration callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for joystick configuration callbacks. A joystick configuration callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<span class="keywordtype">int</span> jid, <span class="keywordtype">int</span> event)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">jid</td><td>The joystick that was connected or disconnected. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>One of <code>GLFW_CONNECTED</code> or <code>GLFW_DISCONNECTED</code>. Remaining values reserved for future use.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>One of <code>GLFW_CONNECTED</code> or <code>GLFW_DISCONNECTED</code>. Future releases may add more events.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#joystick_event">Joystick configuration changes</a> </dd>
<dd>
<a class="el" href="group__input.html#gab1dc8379f1b82bb660a6b9c9fa06ca07">glfwSetJoystickCallback</a></dd></dl>
<a class="el" href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">glfwSetJoystickCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
</div>
@@ -769,7 +770,8 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The UTF-8 encoded, layout-specific name of the key, or <code>NULL</code>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a> and <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
<dl class="section user"><dt>Pointer lifetime</dt><dd>The returned string is allocated and freed by GLFW. You should not free it yourself. It is valid until the next call to <a class="el" href="group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be">glfwGetKeyName</a>, or until the library is terminated.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>The contents of the returned string may change when a keyboard layout change event is received.</dd></dl>
<dl class="section user"><dt>Pointer lifetime</dt><dd>The returned string is allocated and freed by GLFW. You should not free it yourself. It is valid until the library is terminated.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_key_name">Key names</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
@@ -1159,8 +1161,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="ga7e496507126f35ea72f01b2e6ef6d155"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7e496507126f35ea72f01b2e6ef6d155">&#9670;&nbsp;</a></span>glfwSetKeyCallback()</h2>
<a id="ga1caf18159767e761185e49a3be019f8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1caf18159767e761185e49a3be019f8d">&#9670;&nbsp;</a></span>glfwSetKeyCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -1175,7 +1177,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">GLFWkeyfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1185,18 +1187,20 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>This function sets the key callback of the specified window, which is called when a key is pressed, repeated or released.</p>
<p>The key functions deal with physical keys, with layout independent <a class="el" href="group__keys.html">key tokens</a> named after their values in the standard US keyboard layout. If you want to input text, use the <a class="el" href="group__input.html#ga556239421c6a5a243c66fca28da9f742">character callback</a> instead.</p>
<p>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 <a class="el" href="group__window.html#ga25d1c584edb375d7711c5c3548ba711f">window focus callback</a> has been called.</p>
<p>The key functions deal with physical keys, with layout independent <a class="el" href="group__keys.html">key tokens</a> named after their values in the standard US keyboard layout. If you want to input text, use the <a class="el" href="group__input.html#gab25c4a220fd8f5717718dbc487828996">character callback</a> instead.</p>
<p>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 <a class="el" href="group__window.html#gac2d83c4a10f071baf841f6730528e66c">window focus callback</a> has been called.</p>
<p>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 <code>key</code> set to <code>GLFW_KEY_UNKNOWN</code>, their state is not saved and so it cannot be queried with <a class="el" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>.</p>
<p>Sometimes GLFW needs to generate synthetic key events, in which case the scancode may be zero.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new key callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new key callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> key, <span class="keywordtype">int</span> scancode, <span class="keywordtype">int</span> action, <span class="keywordtype">int</span> mods)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#ga0192a232a41e4e82948217c8ba94fdfd">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_key">Key input</a></dd></dl>
@@ -1204,8 +1208,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="ga556239421c6a5a243c66fca28da9f742"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga556239421c6a5a243c66fca28da9f742">&#9670;&nbsp;</a></span>glfwSetCharCallback()</h2>
<a id="gab25c4a220fd8f5717718dbc487828996"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab25c4a220fd8f5717718dbc487828996">&#9670;&nbsp;</a></span>glfwSetCharCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -1220,7 +1224,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">GLFWcharfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1230,16 +1234,18 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>This function sets the character callback of the specified window, which is called when a Unicode character is input.</p>
<p>The character callback is intended for Unicode text input. As it deals with characters, it is keyboard layout dependent, whereas the <a class="el" href="group__input.html#ga7e496507126f35ea72f01b2e6ef6d155">key callback</a> 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.</p>
<p>The character callback is intended for Unicode text input. As it deals with characters, it is keyboard layout dependent, whereas the <a class="el" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">key callback</a> 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.</p>
<p>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.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> codepoint)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_char">Text input</a></dd></dl>
@@ -1247,8 +1253,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="ga3f55ef5dc03a374e567f068b13c94afc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3f55ef5dc03a374e567f068b13c94afc">&#9670;&nbsp;</a></span>glfwSetCharModsCallback()</h2>
<a id="ga0b7f4ad13c2b17435ff13b6dcfb4e43c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">&#9670;&nbsp;</a></span>glfwSetCharModsCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -1263,7 +1269,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">GLFWcharmodsfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1273,15 +1279,17 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>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.</p>
<p>The character with modifiers callback is intended for implementing custom Unicode character input. For regular Unicode text input, see the <a class="el" href="group__input.html#ga556239421c6a5a243c66fca28da9f742">character callback</a>. 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 <a class="el" href="group__input.html#ga7e496507126f35ea72f01b2e6ef6d155">key callback</a> instead.</p>
<p>The character with modifiers callback is intended for implementing custom Unicode character input. For regular Unicode text input, see the <a class="el" href="group__input.html#gab25c4a220fd8f5717718dbc487828996">character callback</a>. 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 <a class="el" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">key callback</a> instead.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or an <a class="el" href="intro_guide.html#error_handling">error</a> occurred.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> codepoint, <span class="keywordtype">int</span> mods)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#gae36fb6897d2b7df9b128900c8ce9c507">function pointer type</a>.</dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Scheduled for removal in version 4.0.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
@@ -1290,8 +1298,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="gaef49b72d84d615bca0a6ed65485e035d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef49b72d84d615bca0a6ed65485e035d">&#9670;&nbsp;</a></span>glfwSetMouseButtonCallback()</h2>
<a id="ga6ab84420974d812bee700e45284a723c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6ab84420974d812bee700e45284a723c">&#9670;&nbsp;</a></span>glfwSetMouseButtonCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -1306,7 +1314,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">GLFWmousebuttonfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1316,15 +1324,17 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>This function sets the mouse button callback of the specified window, which is called when a mouse button is pressed or released.</p>
<p>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 <a class="el" href="group__window.html#ga25d1c584edb375d7711c5c3548ba711f">window focus callback</a> has been called.</p>
<p>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 <a class="el" href="group__window.html#gac2d83c4a10f071baf841f6730528e66c">window focus callback</a> has been called.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> button, <span class="keywordtype">int</span> action, <span class="keywordtype">int</span> mods)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#ga39893a4a7e7c3239c98d29c9e084350c">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_mouse_button">Mouse button input</a></dd></dl>
@@ -1332,8 +1342,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="ga7dad39486f2c7591af7fb25134a2501d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7dad39486f2c7591af7fb25134a2501d">&#9670;&nbsp;</a></span>glfwSetCursorPosCallback()</h2>
<a id="gac1f879ab7435d54d4d79bb469fe225d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac1f879ab7435d54d4d79bb469fe225d7">&#9670;&nbsp;</a></span>glfwSetCursorPosCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -1348,7 +1358,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">GLFWcursorposfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1361,11 +1371,13 @@ Functions</h2></td></tr>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xpos, <span class="keywordtype">double</span> ypos);</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#ga4cfad918fa836f09541e7b9acd36686c">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#cursor_pos">Cursor position</a></dd></dl>
@@ -1373,8 +1385,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="gaa299c41dd0a3d171d166354e01279e04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa299c41dd0a3d171d166354e01279e04">&#9670;&nbsp;</a></span>glfwSetCursorEnterCallback()</h2>
<a id="gad27f8ad0142c038a281466c0966817d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad27f8ad0142c038a281466c0966817d8">&#9670;&nbsp;</a></span>glfwSetCursorEnterCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -1389,7 +1401,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">GLFWcursorenterfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1402,11 +1414,13 @@ Functions</h2></td></tr>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> entered)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#cursor_enter">Cursor enter/leave events</a></dd></dl>
@@ -1414,8 +1428,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="gacf02eb10504352f16efda4593c3ce60e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacf02eb10504352f16efda4593c3ce60e">&#9670;&nbsp;</a></span>glfwSetScrollCallback()</h2>
<a id="ga571e45a030ae4061f746ed56cb76aede"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga571e45a030ae4061f746ed56cb76aede">&#9670;&nbsp;</a></span>glfwSetScrollCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -1430,7 +1444,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">GLFWscrollfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1444,11 +1458,13 @@ Functions</h2></td></tr>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new scroll callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new scroll callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xoffset, <span class="keywordtype">double</span> yoffset)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#scrolling">Scroll input</a></dd></dl>
@@ -1456,14 +1472,14 @@ Functions</h2></td></tr>
</div>
</div>
<a id="ga41291bf15dd3ff564b3143aa6dc74a4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga41291bf15dd3ff564b3143aa6dc74a4b">&#9670;&nbsp;</a></span>glfwSetDropCallback()</h2>
<a id="gab773f0ee0a07cff77a210cea40bc1f6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab773f0ee0a07cff77a210cea40bc1f6b">&#9670;&nbsp;</a></span>glfwSetDropCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__input.html#gab71f4ca80b651462852e601caf308c4a">GLFWdropfun</a> glfwSetDropCallback </td>
<td class="memname"><a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">GLFWdropfun</a> glfwSetDropCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
@@ -1471,8 +1487,8 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__input.html#gab71f4ca80b651462852e601caf308c4a">GLFWdropfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
<td class="paramtype"><a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">GLFWdropfun</a>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1481,16 +1497,18 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>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.</p>
<p>This function sets the path drop callback of the specified window, which is called when one or more dragged paths are dropped on the window.</p>
<p>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.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new file drop callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new file drop callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> path_count, <span class="keyword">const</span> <span class="keywordtype">char</span>* paths[])</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd><b>Wayland:</b> File drop is currently unimplemented.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
@@ -1666,7 +1684,11 @@ Functions</h2></td></tr>
<td class="markdownTableBodyNone"><code>GLFW_HAT_LEFT_DOWN</code> </td><td class="markdownTableBodyNone"><code>GLFW_HAT_LEFT</code> | <code>GLFW_HAT_DOWN</code> </td></tr>
</table>
<p>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.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (hats[2] &amp; <a class="code" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a>)</div><div class="line">{</div><div class="line"> <span class="comment">// State of hat 2 could be right-up, right or right-down</span></div><div class="line">}</div></div><!-- fragment --><p>If the specified joystick is not present this function will return <code>NULL</code> but will not generate an error. This can be used instead of first calling <a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a>.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (hats[2] &amp; <a class="code" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a>)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// State of hat 2 could be right-up, right or right-down</span></div>
<div class="line">}</div>
</div><!-- fragment --><p>If the specified joystick is not present this function will return <code>NULL</code> but will not generate an error. This can be used instead of first calling <a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">jid</td><td>The <a class="el" href="group__joysticks.html">joystick</a> to query. </td></tr>
@@ -1857,8 +1879,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="gab1dc8379f1b82bb660a6b9c9fa06ca07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab1dc8379f1b82bb660a6b9c9fa06ca07">&#9670;&nbsp;</a></span>glfwSetJoystickCallback()</h2>
<a id="ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">&#9670;&nbsp;</a></span>glfwSetJoystickCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -1867,7 +1889,7 @@ Functions</h2></td></tr>
<td class="memname"><a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a> glfwSetJoystickCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">GLFWjoystickfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em></td><td>)</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
@@ -1876,11 +1898,13 @@ Functions</h2></td></tr>
<p>For joystick connection and disconnection events to be delivered on all platforms, you need to call one of the <a class="el" href="input_guide.html#events">event processing</a> 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.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<span class="keywordtype">int</span> jid, <span class="keywordtype">int</span> event)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__input.html#gaa67aa597e974298c748bfe4fb17d406d">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#joystick_event">Joystick configuration changes</a></dd></dl>
@@ -1982,7 +2006,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function retrives the state of the specified joystick remapped to an Xbox-like gamepad.</p>
<p>This function retrieves the state of the specified joystick remapped to an Xbox-like gamepad.</p>
<p>If the specified joystick is not present or does not have a gamepad mapping this function will return <code>GLFW_FALSE</code> but will not generate an error. Call <a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a> to check whether it is present regardless of whether it has a mapping.</p>
<p>The Guide button may not be available for input as it is often hooked by the system or the Steam client.</p>
<p>Not all devices have all the buttons or axes provided by <a class="el" href="structGLFWgamepadstate.html">GLFWgamepadstate</a>. Unavailable buttons and axes will always report <code>GLFW_RELEASE</code> and 0.0 respectively.</p>
@@ -2096,11 +2120,12 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the value of the GLFW timer. Unless the timer has been set using <a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a>, the timer measures time elapsed since GLFW was initialized.</p>
<p>This function returns the current GLFW time, in seconds. Unless the time has been set using <a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a> it measures time elapsed since GLFW was initialized.</p>
<p>This function and <a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a> are helper functions on top of <a class="el" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a> and <a class="el" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a>.</p>
<p>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.</p>
<dl class="section return"><dt>Returns</dt><dd>The current value, in seconds, or zero if an <a class="el" href="intro_guide.html#error_handling">error</a> occurred.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The current time, in seconds, or zero if an <a class="el" href="intro_guide.html#error_handling">error</a> occurred.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>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 <a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Reading and writing of the internal base time is not atomic, so it needs to be externally synchronized with calls to <a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a>.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#time">Time input</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. </dd></dl>
@@ -2121,7 +2146,8 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>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.</p>
<p>This function sets the current GLFW time, in seconds. The value must be a positive finite number less than or equal to 18446744073.0, which is approximately 584.5 years.</p>
<p>This function and <a class="el" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a> are helper functions on top of <a class="el" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a> and <a class="el" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>The new value, in seconds.</td></tr>
@@ -2129,8 +2155,8 @@ Functions</h2></td></tr>
</dd>
</dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a> and <a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>The upper limit of the timer is calculated as floor((2<sup>64</sup> - 1) / 10<sup>9</sup>) and is due to implementations storing nanoseconds in 64 bits. The limit may be increased in the future.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>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 <a class="el" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>The upper limit of GLFW time is calculated as floor((2<sup>64</sup> - 1) / 10<sup>9</sup>) and is due to implementations storing nanoseconds in 64 bits. The limit may be increased in the future.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Reading and writing of the internal base time is not atomic, so it needs to be externally synchronized with calls to <a class="el" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a>.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#time">Time input</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 2.2. </dd></dl>
@@ -2189,9 +2215,11 @@ Functions</h2></td></tr>
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup__window_html_ga3c96d80d363e67d13a41b5d1821f3242"><div class="ttname"><a href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a></div><div class="ttdeci">struct GLFWwindow GLFWwindow</div><div class="ttdoc">Opaque window object.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1152</div></div>
<div class="ttc" id="agroup__hat__state_html_ga252586e3bbde75f4b0e07ad3124867f5"><div class="ttname"><a href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a></div><div class="ttdeci">#define GLFW_HAT_RIGHT</div><div class="ttdef"><b>Definition:</b> glfw3.h:325</div></div>
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Joysticks</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -347,7 +347,7 @@ Macros</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Keyboard keys</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -2035,7 +2035,7 @@ Macros</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Modifier key flags</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -71,22 +71,22 @@ $(function() {
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga14994d3196c290aaa347248e51740274"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#ga14994d3196c290aaa347248e51740274">GLFW_MOD_SHIFT</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga14994d3196c290aaa347248e51740274"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set one or more Shift keys were held down. <a href="#ga14994d3196c290aaa347248e51740274">More...</a><br /></td></tr>
<tr class="memdesc:ga14994d3196c290aaa347248e51740274"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set one or more Shift keys were held down. <a href="group__mods.html#ga14994d3196c290aaa347248e51740274">More...</a><br /></td></tr>
<tr class="separator:ga14994d3196c290aaa347248e51740274"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ed94871c3208eefd85713fa929d45aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#ga6ed94871c3208eefd85713fa929d45aa">GLFW_MOD_CONTROL</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga6ed94871c3208eefd85713fa929d45aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set one or more Control keys were held down. <a href="#ga6ed94871c3208eefd85713fa929d45aa">More...</a><br /></td></tr>
<tr class="memdesc:ga6ed94871c3208eefd85713fa929d45aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set one or more Control keys were held down. <a href="group__mods.html#ga6ed94871c3208eefd85713fa929d45aa">More...</a><br /></td></tr>
<tr class="separator:ga6ed94871c3208eefd85713fa929d45aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2acd5633463c29e07008687ea73c0f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#gad2acd5633463c29e07008687ea73c0f4">GLFW_MOD_ALT</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:gad2acd5633463c29e07008687ea73c0f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set one or more Alt keys were held down. <a href="#gad2acd5633463c29e07008687ea73c0f4">More...</a><br /></td></tr>
<tr class="memdesc:gad2acd5633463c29e07008687ea73c0f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set one or more Alt keys were held down. <a href="group__mods.html#gad2acd5633463c29e07008687ea73c0f4">More...</a><br /></td></tr>
<tr class="separator:gad2acd5633463c29e07008687ea73c0f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b64ba10ea0227cf6f42efd0a220aba1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#ga6b64ba10ea0227cf6f42efd0a220aba1">GLFW_MOD_SUPER</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:ga6b64ba10ea0227cf6f42efd0a220aba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set one or more Super keys were held down. <a href="#ga6b64ba10ea0227cf6f42efd0a220aba1">More...</a><br /></td></tr>
<tr class="memdesc:ga6b64ba10ea0227cf6f42efd0a220aba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set one or more Super keys were held down. <a href="group__mods.html#ga6b64ba10ea0227cf6f42efd0a220aba1">More...</a><br /></td></tr>
<tr class="separator:ga6b64ba10ea0227cf6f42efd0a220aba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefeef8fcf825a6e43e241b337897200f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#gaefeef8fcf825a6e43e241b337897200f">GLFW_MOD_CAPS_LOCK</a>&#160;&#160;&#160;0x0010</td></tr>
<tr class="memdesc:gaefeef8fcf825a6e43e241b337897200f"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set the Caps Lock key is enabled. <a href="#gaefeef8fcf825a6e43e241b337897200f">More...</a><br /></td></tr>
<tr class="memdesc:gaefeef8fcf825a6e43e241b337897200f"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set the Caps Lock key is enabled. <a href="group__mods.html#gaefeef8fcf825a6e43e241b337897200f">More...</a><br /></td></tr>
<tr class="separator:gaefeef8fcf825a6e43e241b337897200f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64e020b8a42af8376e944baf61feecbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#ga64e020b8a42af8376e944baf61feecbe">GLFW_MOD_NUM_LOCK</a>&#160;&#160;&#160;0x0020</td></tr>
<tr class="memdesc:ga64e020b8a42af8376e944baf61feecbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set the Num Lock key is enabled. <a href="#ga64e020b8a42af8376e944baf61feecbe">More...</a><br /></td></tr>
<tr class="memdesc:ga64e020b8a42af8376e944baf61feecbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this bit is set the Num Lock key is enabled. <a href="group__mods.html#ga64e020b8a42af8376e944baf61feecbe">More...</a><br /></td></tr>
<tr class="separator:ga64e020b8a42af8376e944baf61feecbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
@@ -183,7 +183,7 @@ Macros</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Monitor reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -72,64 +72,64 @@ $(function() {
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga8d9efd1cde9426692c73fe40437d0ae3"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a></td></tr>
<tr class="memdesc:ga8d9efd1cde9426692c73fe40437d0ae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque monitor object. <a href="#ga8d9efd1cde9426692c73fe40437d0ae3">More...</a><br /></td></tr>
<tr class="memdesc:ga8d9efd1cde9426692c73fe40437d0ae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque monitor object. <a href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">More...</a><br /></td></tr>
<tr class="separator:ga8d9efd1cde9426692c73fe40437d0ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a7ee579a66720f24d656526f3e44c63"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a>) (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *, int)</td></tr>
<tr class="memdesc:ga8a7ee579a66720f24d656526f3e44c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for monitor configuration callbacks. <a href="#ga8a7ee579a66720f24d656526f3e44c63">More...</a><br /></td></tr>
<tr class="memdesc:ga8a7ee579a66720f24d656526f3e44c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function pointer type for monitor configuration callbacks. <a href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">More...</a><br /></td></tr>
<tr class="separator:ga8a7ee579a66720f24d656526f3e44c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae48aadf4ea0967e6605c8f58fa5daccb"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structGLFWvidmode.html">GLFWvidmode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gae48aadf4ea0967e6605c8f58fa5daccb">GLFWvidmode</a></td></tr>
<tr class="memdesc:gae48aadf4ea0967e6605c8f58fa5daccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Video mode type. <a href="#gae48aadf4ea0967e6605c8f58fa5daccb">More...</a><br /></td></tr>
<tr class="memdesc:gae48aadf4ea0967e6605c8f58fa5daccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Video mode type. <a href="group__monitor.html#gae48aadf4ea0967e6605c8f58fa5daccb">More...</a><br /></td></tr>
<tr class="separator:gae48aadf4ea0967e6605c8f58fa5daccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec0bd37af673be8813592849f13e02f0"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structGLFWgammaramp.html">GLFWgammaramp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gaec0bd37af673be8813592849f13e02f0">GLFWgammaramp</a></td></tr>
<tr class="memdesc:gaec0bd37af673be8813592849f13e02f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gamma ramp. <a href="#gaec0bd37af673be8813592849f13e02f0">More...</a><br /></td></tr>
<tr class="memdesc:gaec0bd37af673be8813592849f13e02f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gamma ramp. <a href="group__monitor.html#gaec0bd37af673be8813592849f13e02f0">More...</a><br /></td></tr>
<tr class="separator:gaec0bd37af673be8813592849f13e02f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga3fba51c8bd36491d4712aa5bd074a537"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">glfwGetMonitors</a> (int *count)</td></tr>
<tr class="memdesc:ga3fba51c8bd36491d4712aa5bd074a537"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the currently connected monitors. <a href="#ga3fba51c8bd36491d4712aa5bd074a537">More...</a><br /></td></tr>
<tr class="memdesc:ga3fba51c8bd36491d4712aa5bd074a537"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the currently connected monitors. <a href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">More...</a><br /></td></tr>
<tr class="separator:ga3fba51c8bd36491d4712aa5bd074a537"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga721867d84c6d18d6790d64d2847ca0b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a> (void)</td></tr>
<tr class="memdesc:ga721867d84c6d18d6790d64d2847ca0b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the primary monitor. <a href="#ga721867d84c6d18d6790d64d2847ca0b1">More...</a><br /></td></tr>
<tr class="memdesc:ga721867d84c6d18d6790d64d2847ca0b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the primary monitor. <a href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">More...</a><br /></td></tr>
<tr class="separator:ga721867d84c6d18d6790d64d2847ca0b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga102f54e7acc9149edbcf0997152df8c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9">glfwGetMonitorPos</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int *xpos, int *ypos)</td></tr>
<tr class="memdesc:ga102f54e7acc9149edbcf0997152df8c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the position of the monitor's viewport on the virtual screen. <a href="#ga102f54e7acc9149edbcf0997152df8c9">More...</a><br /></td></tr>
<tr class="memdesc:ga102f54e7acc9149edbcf0997152df8c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the position of the monitor's viewport on the virtual screen. <a href="group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9">More...</a><br /></td></tr>
<tr class="separator:ga102f54e7acc9149edbcf0997152df8c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">glfwGetMonitorWorkarea</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int *xpos, int *ypos, int *width, int *height)</td></tr>
<tr class="memdesc:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrives the work area of the monitor. <a href="#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">More...</a><br /></td></tr>
<tr class="memdesc:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the work area of the monitor. <a href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">More...</a><br /></td></tr>
<tr class="separator:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d8bffc6c55539286a6bd20d32a8d7ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">glfwGetMonitorPhysicalSize</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int *widthMM, int *heightMM)</td></tr>
<tr class="memdesc:ga7d8bffc6c55539286a6bd20d32a8d7ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the physical size of the monitor. <a href="#ga7d8bffc6c55539286a6bd20d32a8d7ea">More...</a><br /></td></tr>
<tr class="memdesc:ga7d8bffc6c55539286a6bd20d32a8d7ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the physical size of the monitor. <a href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">More...</a><br /></td></tr>
<tr class="separator:ga7d8bffc6c55539286a6bd20d32a8d7ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3152e84465fa620b601265ebfcdb21b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gad3152e84465fa620b601265ebfcdb21b">glfwGetMonitorContentScale</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, float *xscale, float *yscale)</td></tr>
<tr class="memdesc:gad3152e84465fa620b601265ebfcdb21b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the content scale for the specified monitor. <a href="#gad3152e84465fa620b601265ebfcdb21b">More...</a><br /></td></tr>
<tr class="memdesc:gad3152e84465fa620b601265ebfcdb21b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the content scale for the specified monitor. <a href="group__monitor.html#gad3152e84465fa620b601265ebfcdb21b">More...</a><br /></td></tr>
<tr class="separator:gad3152e84465fa620b601265ebfcdb21b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79a34ee22ff080ca954a9663e4679daf"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf">glfwGetMonitorName</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:ga79a34ee22ff080ca954a9663e4679daf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the specified monitor. <a href="#ga79a34ee22ff080ca954a9663e4679daf">More...</a><br /></td></tr>
<tr class="memdesc:ga79a34ee22ff080ca954a9663e4679daf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the specified monitor. <a href="group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf">More...</a><br /></td></tr>
<tr class="separator:ga79a34ee22ff080ca954a9663e4679daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga702750e24313a686d3637297b6e85fda"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga702750e24313a686d3637297b6e85fda">glfwSetMonitorUserPointer</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, void *pointer)</td></tr>
<tr class="memdesc:ga702750e24313a686d3637297b6e85fda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user pointer of the specified monitor. <a href="#ga702750e24313a686d3637297b6e85fda">More...</a><br /></td></tr>
<tr class="memdesc:ga702750e24313a686d3637297b6e85fda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user pointer of the specified monitor. <a href="group__monitor.html#ga702750e24313a686d3637297b6e85fda">More...</a><br /></td></tr>
<tr class="separator:ga702750e24313a686d3637297b6e85fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2d4209016b049222877f620010ed0d8"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gac2d4209016b049222877f620010ed0d8">glfwGetMonitorUserPointer</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gac2d4209016b049222877f620010ed0d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user pointer of the specified monitor. <a href="#gac2d4209016b049222877f620010ed0d8">More...</a><br /></td></tr>
<tr class="memdesc:gac2d4209016b049222877f620010ed0d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user pointer of the specified monitor. <a href="group__monitor.html#gac2d4209016b049222877f620010ed0d8">More...</a><br /></td></tr>
<tr class="separator:gac2d4209016b049222877f620010ed0d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3fe0f647f68b731f99756cd81897378"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gac3fe0f647f68b731f99756cd81897378">glfwSetMonitorCallback</a> (<a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a> cbfun)</td></tr>
<tr class="memdesc:gac3fe0f647f68b731f99756cd81897378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the monitor configuration callback. <a href="#gac3fe0f647f68b731f99756cd81897378">More...</a><br /></td></tr>
<tr class="separator:gac3fe0f647f68b731f99756cd81897378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab39df645587c8518192aa746c2fb06c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">glfwSetMonitorCallback</a> (<a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a> callback)</td></tr>
<tr class="memdesc:gab39df645587c8518192aa746c2fb06c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the monitor configuration callback. <a href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">More...</a><br /></td></tr>
<tr class="separator:gab39df645587c8518192aa746c2fb06c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga820b0ce9a5237d645ea7cbb4bd383458"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structGLFWvidmode.html">GLFWvidmode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458">glfwGetVideoModes</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int *count)</td></tr>
<tr class="memdesc:ga820b0ce9a5237d645ea7cbb4bd383458"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the available video modes for the specified monitor. <a href="#ga820b0ce9a5237d645ea7cbb4bd383458">More...</a><br /></td></tr>
<tr class="memdesc:ga820b0ce9a5237d645ea7cbb4bd383458"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the available video modes for the specified monitor. <a href="group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458">More...</a><br /></td></tr>
<tr class="separator:ga820b0ce9a5237d645ea7cbb4bd383458"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc1bb972a921ad5b3bd5d63a95fc2d52"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structGLFWvidmode.html">GLFWvidmode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52">glfwGetVideoMode</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gafc1bb972a921ad5b3bd5d63a95fc2d52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current mode of the specified monitor. <a href="#gafc1bb972a921ad5b3bd5d63a95fc2d52">More...</a><br /></td></tr>
<tr class="memdesc:gafc1bb972a921ad5b3bd5d63a95fc2d52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current mode of the specified monitor. <a href="group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52">More...</a><br /></td></tr>
<tr class="separator:gafc1bb972a921ad5b3bd5d63a95fc2d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ac582625c990220785ddd34efa3169a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, float gamma)</td></tr>
<tr class="memdesc:ga6ac582625c990220785ddd34efa3169a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a gamma ramp and sets it for the specified monitor. <a href="#ga6ac582625c990220785ddd34efa3169a">More...</a><br /></td></tr>
<tr class="memdesc:ga6ac582625c990220785ddd34efa3169a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a gamma ramp and sets it for the specified monitor. <a href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">More...</a><br /></td></tr>
<tr class="separator:ga6ac582625c990220785ddd34efa3169a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7c41deb2219bde3e1eb756ddaa9ec80"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structGLFWgammaramp.html">GLFWgammaramp</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gab7c41deb2219bde3e1eb756ddaa9ec80">glfwGetGammaRamp</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gab7c41deb2219bde3e1eb756ddaa9ec80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current gamma ramp for the specified monitor. <a href="#gab7c41deb2219bde3e1eb756ddaa9ec80">More...</a><br /></td></tr>
<tr class="memdesc:gab7c41deb2219bde3e1eb756ddaa9ec80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current gamma ramp for the specified monitor. <a href="group__monitor.html#gab7c41deb2219bde3e1eb756ddaa9ec80">More...</a><br /></td></tr>
<tr class="separator:gab7c41deb2219bde3e1eb756ddaa9ec80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga583f0ffd0d29613d8cd172b996bbf0dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, const <a class="el" href="structGLFWgammaramp.html">GLFWgammaramp</a> *ramp)</td></tr>
<tr class="memdesc:ga583f0ffd0d29613d8cd172b996bbf0dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current gamma ramp for the specified monitor. <a href="#ga583f0ffd0d29613d8cd172b996bbf0dd">More...</a><br /></td></tr>
<tr class="memdesc:ga583f0ffd0d29613d8cd172b996bbf0dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current gamma ramp for the specified monitor. <a href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">More...</a><br /></td></tr>
<tr class="separator:ga583f0ffd0d29613d8cd172b996bbf0dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
@@ -161,17 +161,17 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for monitor configuration callback functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<p>This is the function pointer type for monitor configuration callbacks. A monitor callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor, <span class="keywordtype">int</span> event)</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor that was connected or disconnected. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>One of <code>GLFW_CONNECTED</code> or <code>GLFW_DISCONNECTED</code>. Remaining values reserved for future use.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>One of <code>GLFW_CONNECTED</code> or <code>GLFW_DISCONNECTED</code>. Future releases may add more events.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_event">Monitor configuration changes</a> </dd>
<dd>
<a class="el" href="group__monitor.html#gac3fe0f647f68b731f99756cd81897378">glfwSetMonitorCallback</a></dd></dl>
<a class="el" href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">glfwSetMonitorCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
</div>
@@ -597,8 +597,8 @@ Functions</h2></td></tr>
</div>
</div>
<a id="gac3fe0f647f68b731f99756cd81897378"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac3fe0f647f68b731f99756cd81897378">&#9670;&nbsp;</a></span>glfwSetMonitorCallback()</h2>
<a id="gab39df645587c8518192aa746c2fb06c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab39df645587c8518192aa746c2fb06c3">&#9670;&nbsp;</a></span>glfwSetMonitorCallback()</h2>
<div class="memitem">
<div class="memproto">
@@ -607,7 +607,7 @@ Functions</h2></td></tr>
<td class="memname"><a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a> glfwSetMonitorCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">GLFWmonitorfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em></td><td>)</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
@@ -615,11 +615,13 @@ Functions</h2></td></tr>
<p>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.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previously set callback, or <code>NULL</code> if no callback was set or the library had not been <a class="el" href="intro_guide.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Callback signature</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<a class="code" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor, <span class="keywordtype">int</span> event)</div>
</div><!-- fragment --> For more information about the callback parameters, see the <a class="el" href="group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63">function pointer type</a>.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_event">Monitor configuration changes</a></dd></dl>
@@ -740,7 +742,7 @@ Functions</h2></td></tr>
</dd>
</dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>, <a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a> and <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd><b>Wayland:</b> Gamma handling is a priviledged protocol, this function will thus never be implemented and emits <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd><b>Wayland:</b> Gamma handling is a privileged protocol, this function will thus never be implemented and emits <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_gamma">Gamma ramp</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
@@ -771,7 +773,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The current gamma ramp, or <code>NULL</code> if an <a class="el" href="intro_guide.html#error_handling">error</a> occurred.</dd></dl>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a> and <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd><b>Wayland:</b> Gamma handling is a priviledged protocol, this function will thus never be implemented and emits <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a> while returning <code>NULL</code>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd><b>Wayland:</b> Gamma handling is a privileged protocol, this function will thus never be implemented and emits <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a> while returning <code>NULL</code>.</dd></dl>
<dl class="section user"><dt>Pointer lifetime</dt><dd>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.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_gamma">Gamma ramp</a></dd></dl>
@@ -819,7 +821,7 @@ Functions</h2></td></tr>
<dd>
<b>Windows:</b> The gamma ramp size must be 256.</dd>
<dd>
<b>Wayland:</b> Gamma handling is a priviledged protocol, this function will thus never be implemented and emits <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
<b>Wayland:</b> Gamma handling is a privileged protocol, this function will thus never be implemented and emits <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
<dl class="section user"><dt>Pointer lifetime</dt><dd>The specified gamma ramp is copied before this function returns.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function must only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_gamma">Gamma ramp</a></dd></dl>
@@ -828,9 +830,10 @@ Functions</h2></td></tr>
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup__monitor_html_ga8d9efd1cde9426692c73fe40437d0ae3"><div class="ttname"><a href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a></div><div class="ttdeci">struct GLFWmonitor GLFWmonitor</div><div class="ttdoc">Opaque monitor object.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1140</div></div>
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Native access</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,76 +87,76 @@ $(function() {
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac84f63a3f9db145b9435e5e0dbc4183d"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gac84f63a3f9db145b9435e5e0dbc4183d">glfwGetWin32Adapter</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gac84f63a3f9db145b9435e5e0dbc4183d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the adapter device name of the specified monitor. <a href="#gac84f63a3f9db145b9435e5e0dbc4183d">More...</a><br /></td></tr>
<tr class="memdesc:gac84f63a3f9db145b9435e5e0dbc4183d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the adapter device name of the specified monitor. <a href="group__native.html#gac84f63a3f9db145b9435e5e0dbc4183d">More...</a><br /></td></tr>
<tr class="separator:gac84f63a3f9db145b9435e5e0dbc4183d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac408b09a330749402d5d1fa1f5894dd9"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gac408b09a330749402d5d1fa1f5894dd9">glfwGetWin32Monitor</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gac408b09a330749402d5d1fa1f5894dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the display device name of the specified monitor. <a href="#gac408b09a330749402d5d1fa1f5894dd9">More...</a><br /></td></tr>
<tr class="memdesc:gac408b09a330749402d5d1fa1f5894dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the display device name of the specified monitor. <a href="group__native.html#gac408b09a330749402d5d1fa1f5894dd9">More...</a><br /></td></tr>
<tr class="separator:gac408b09a330749402d5d1fa1f5894dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe5079aa79038b0079fc09d5f0a8e667"><td class="memItemLeft" align="right" valign="top">HWND&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gafe5079aa79038b0079fc09d5f0a8e667">glfwGetWin32Window</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:gafe5079aa79038b0079fc09d5f0a8e667"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>HWND</code> of the specified window. <a href="#gafe5079aa79038b0079fc09d5f0a8e667">More...</a><br /></td></tr>
<tr class="memdesc:gafe5079aa79038b0079fc09d5f0a8e667"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>HWND</code> of the specified window. <a href="group__native.html#gafe5079aa79038b0079fc09d5f0a8e667">More...</a><br /></td></tr>
<tr class="separator:gafe5079aa79038b0079fc09d5f0a8e667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc4010d91d9cc1134d040eeb1202a143"><td class="memItemLeft" align="right" valign="top">HGLRC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gadc4010d91d9cc1134d040eeb1202a143">glfwGetWGLContext</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:gadc4010d91d9cc1134d040eeb1202a143"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>HGLRC</code> of the specified window. <a href="#gadc4010d91d9cc1134d040eeb1202a143">More...</a><br /></td></tr>
<tr class="memdesc:gadc4010d91d9cc1134d040eeb1202a143"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>HGLRC</code> of the specified window. <a href="group__native.html#gadc4010d91d9cc1134d040eeb1202a143">More...</a><br /></td></tr>
<tr class="separator:gadc4010d91d9cc1134d040eeb1202a143"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf22f429aec4b1aab316142d66d9be3e6"><td class="memItemLeft" align="right" valign="top">CGDirectDisplayID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gaf22f429aec4b1aab316142d66d9be3e6">glfwGetCocoaMonitor</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gaf22f429aec4b1aab316142d66d9be3e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>CGDirectDisplayID</code> of the specified monitor. <a href="#gaf22f429aec4b1aab316142d66d9be3e6">More...</a><br /></td></tr>
<tr class="memdesc:gaf22f429aec4b1aab316142d66d9be3e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>CGDirectDisplayID</code> of the specified monitor. <a href="group__native.html#gaf22f429aec4b1aab316142d66d9be3e6">More...</a><br /></td></tr>
<tr class="separator:gaf22f429aec4b1aab316142d66d9be3e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3ed9d495d0c2bb9652de5a50c648715"><td class="memItemLeft" align="right" valign="top">id&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gac3ed9d495d0c2bb9652de5a50c648715">glfwGetCocoaWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:gac3ed9d495d0c2bb9652de5a50c648715"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>NSWindow</code> of the specified window. <a href="#gac3ed9d495d0c2bb9652de5a50c648715">More...</a><br /></td></tr>
<tr class="memdesc:gac3ed9d495d0c2bb9652de5a50c648715"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>NSWindow</code> of the specified window. <a href="group__native.html#gac3ed9d495d0c2bb9652de5a50c648715">More...</a><br /></td></tr>
<tr class="separator:gac3ed9d495d0c2bb9652de5a50c648715"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga559e002e3cd63c979881770cd4dc63bc"><td class="memItemLeft" align="right" valign="top">id&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga559e002e3cd63c979881770cd4dc63bc">glfwGetNSGLContext</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga559e002e3cd63c979881770cd4dc63bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>NSOpenGLContext</code> of the specified window. <a href="#ga559e002e3cd63c979881770cd4dc63bc">More...</a><br /></td></tr>
<tr class="memdesc:ga559e002e3cd63c979881770cd4dc63bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>NSOpenGLContext</code> of the specified window. <a href="group__native.html#ga559e002e3cd63c979881770cd4dc63bc">More...</a><br /></td></tr>
<tr class="separator:ga559e002e3cd63c979881770cd4dc63bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8519b66594ea3ef6eeafaa2e3ee37406"><td class="memItemLeft" align="right" valign="top">Display *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga8519b66594ea3ef6eeafaa2e3ee37406">glfwGetX11Display</a> (void)</td></tr>
<tr class="memdesc:ga8519b66594ea3ef6eeafaa2e3ee37406"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>Display</code> used by GLFW. <a href="#ga8519b66594ea3ef6eeafaa2e3ee37406">More...</a><br /></td></tr>
<tr class="memdesc:ga8519b66594ea3ef6eeafaa2e3ee37406"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>Display</code> used by GLFW. <a href="group__native.html#ga8519b66594ea3ef6eeafaa2e3ee37406">More...</a><br /></td></tr>
<tr class="separator:ga8519b66594ea3ef6eeafaa2e3ee37406"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga088fbfa80f50569402b41be71ad66e40"><td class="memItemLeft" align="right" valign="top">RRCrtc&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga088fbfa80f50569402b41be71ad66e40">glfwGetX11Adapter</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:ga088fbfa80f50569402b41be71ad66e40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>RRCrtc</code> of the specified monitor. <a href="#ga088fbfa80f50569402b41be71ad66e40">More...</a><br /></td></tr>
<tr class="memdesc:ga088fbfa80f50569402b41be71ad66e40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>RRCrtc</code> of the specified monitor. <a href="group__native.html#ga088fbfa80f50569402b41be71ad66e40">More...</a><br /></td></tr>
<tr class="separator:ga088fbfa80f50569402b41be71ad66e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2f8cc043905e9fa9b12bfdbbcfe874c"><td class="memItemLeft" align="right" valign="top">RROutput&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gab2f8cc043905e9fa9b12bfdbbcfe874c">glfwGetX11Monitor</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gab2f8cc043905e9fa9b12bfdbbcfe874c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>RROutput</code> of the specified monitor. <a href="#gab2f8cc043905e9fa9b12bfdbbcfe874c">More...</a><br /></td></tr>
<tr class="memdesc:gab2f8cc043905e9fa9b12bfdbbcfe874c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>RROutput</code> of the specified monitor. <a href="group__native.html#gab2f8cc043905e9fa9b12bfdbbcfe874c">More...</a><br /></td></tr>
<tr class="separator:gab2f8cc043905e9fa9b12bfdbbcfe874c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90ca676322740842db446999a1b1f21d"><td class="memItemLeft" align="right" valign="top">Window&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga90ca676322740842db446999a1b1f21d">glfwGetX11Window</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga90ca676322740842db446999a1b1f21d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>Window</code> of the specified window. <a href="#ga90ca676322740842db446999a1b1f21d">More...</a><br /></td></tr>
<tr class="memdesc:ga90ca676322740842db446999a1b1f21d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>Window</code> of the specified window. <a href="group__native.html#ga90ca676322740842db446999a1b1f21d">More...</a><br /></td></tr>
<tr class="separator:ga90ca676322740842db446999a1b1f21d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55f879ab02d93367f966186b6f0133f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga55f879ab02d93367f966186b6f0133f7">glfwSetX11SelectionString</a> (const char *string)</td></tr>
<tr class="memdesc:ga55f879ab02d93367f966186b6f0133f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current primary selection to the specified string. <a href="#ga55f879ab02d93367f966186b6f0133f7">More...</a><br /></td></tr>
<tr class="memdesc:ga55f879ab02d93367f966186b6f0133f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current primary selection to the specified string. <a href="group__native.html#ga55f879ab02d93367f966186b6f0133f7">More...</a><br /></td></tr>
<tr class="separator:ga55f879ab02d93367f966186b6f0133f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72f23e3980b83788c70aa854eca31430"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga72f23e3980b83788c70aa854eca31430">glfwGetX11SelectionString</a> (void)</td></tr>
<tr class="memdesc:ga72f23e3980b83788c70aa854eca31430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the contents of the current primary selection as a string. <a href="#ga72f23e3980b83788c70aa854eca31430">More...</a><br /></td></tr>
<tr class="memdesc:ga72f23e3980b83788c70aa854eca31430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the contents of the current primary selection as a string. <a href="group__native.html#ga72f23e3980b83788c70aa854eca31430">More...</a><br /></td></tr>
<tr class="separator:ga72f23e3980b83788c70aa854eca31430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62d884114b0abfcdc2930e89f20867e2"><td class="memItemLeft" align="right" valign="top">GLXContext&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga62d884114b0abfcdc2930e89f20867e2">glfwGetGLXContext</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga62d884114b0abfcdc2930e89f20867e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>GLXContext</code> of the specified window. <a href="#ga62d884114b0abfcdc2930e89f20867e2">More...</a><br /></td></tr>
<tr class="memdesc:ga62d884114b0abfcdc2930e89f20867e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>GLXContext</code> of the specified window. <a href="group__native.html#ga62d884114b0abfcdc2930e89f20867e2">More...</a><br /></td></tr>
<tr class="separator:ga62d884114b0abfcdc2930e89f20867e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ed27b8766e859a21381e8f8ce18d049"><td class="memItemLeft" align="right" valign="top">GLXWindow&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga1ed27b8766e859a21381e8f8ce18d049">glfwGetGLXWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga1ed27b8766e859a21381e8f8ce18d049"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>GLXWindow</code> of the specified window. <a href="#ga1ed27b8766e859a21381e8f8ce18d049">More...</a><br /></td></tr>
<tr class="memdesc:ga1ed27b8766e859a21381e8f8ce18d049"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>GLXWindow</code> of the specified window. <a href="group__native.html#ga1ed27b8766e859a21381e8f8ce18d049">More...</a><br /></td></tr>
<tr class="separator:ga1ed27b8766e859a21381e8f8ce18d049"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf8118a3c877f3a6bc8e7a649519de5e"><td class="memItemLeft" align="right" valign="top">struct wl_display *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gaaf8118a3c877f3a6bc8e7a649519de5e">glfwGetWaylandDisplay</a> (void)</td></tr>
<tr class="memdesc:gaaf8118a3c877f3a6bc8e7a649519de5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>struct wl_display*</code> used by GLFW. <a href="#gaaf8118a3c877f3a6bc8e7a649519de5e">More...</a><br /></td></tr>
<tr class="memdesc:gaaf8118a3c877f3a6bc8e7a649519de5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>struct wl_display*</code> used by GLFW. <a href="group__native.html#gaaf8118a3c877f3a6bc8e7a649519de5e">More...</a><br /></td></tr>
<tr class="separator:gaaf8118a3c877f3a6bc8e7a649519de5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab10427a667b6cd91eec7709f7a906bd3"><td class="memItemLeft" align="right" valign="top">struct wl_output *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gab10427a667b6cd91eec7709f7a906bd3">glfwGetWaylandMonitor</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
<tr class="memdesc:gab10427a667b6cd91eec7709f7a906bd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>struct wl_output*</code> of the specified monitor. <a href="#gab10427a667b6cd91eec7709f7a906bd3">More...</a><br /></td></tr>
<tr class="memdesc:gab10427a667b6cd91eec7709f7a906bd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>struct wl_output*</code> of the specified monitor. <a href="group__native.html#gab10427a667b6cd91eec7709f7a906bd3">More...</a><br /></td></tr>
<tr class="separator:gab10427a667b6cd91eec7709f7a906bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4738d7aca4191363519a9a641c3ab64c"><td class="memItemLeft" align="right" valign="top">struct wl_surface *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga4738d7aca4191363519a9a641c3ab64c">glfwGetWaylandWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga4738d7aca4191363519a9a641c3ab64c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the main <code>struct wl_surface*</code> of the specified window. <a href="#ga4738d7aca4191363519a9a641c3ab64c">More...</a><br /></td></tr>
<tr class="memdesc:ga4738d7aca4191363519a9a641c3ab64c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the main <code>struct wl_surface*</code> of the specified window. <a href="group__native.html#ga4738d7aca4191363519a9a641c3ab64c">More...</a><br /></td></tr>
<tr class="separator:ga4738d7aca4191363519a9a641c3ab64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1cd8d973f47aacb5532d368147cc3138"><td class="memItemLeft" align="right" valign="top">EGLDisplay&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga1cd8d973f47aacb5532d368147cc3138">glfwGetEGLDisplay</a> (void)</td></tr>
<tr class="memdesc:ga1cd8d973f47aacb5532d368147cc3138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>EGLDisplay</code> used by GLFW. <a href="#ga1cd8d973f47aacb5532d368147cc3138">More...</a><br /></td></tr>
<tr class="memdesc:ga1cd8d973f47aacb5532d368147cc3138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>EGLDisplay</code> used by GLFW. <a href="group__native.html#ga1cd8d973f47aacb5532d368147cc3138">More...</a><br /></td></tr>
<tr class="separator:ga1cd8d973f47aacb5532d368147cc3138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga671c5072becd085f4ab5771a9c8efcf1"><td class="memItemLeft" align="right" valign="top">EGLContext&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga671c5072becd085f4ab5771a9c8efcf1">glfwGetEGLContext</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga671c5072becd085f4ab5771a9c8efcf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>EGLContext</code> of the specified window. <a href="#ga671c5072becd085f4ab5771a9c8efcf1">More...</a><br /></td></tr>
<tr class="memdesc:ga671c5072becd085f4ab5771a9c8efcf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>EGLContext</code> of the specified window. <a href="group__native.html#ga671c5072becd085f4ab5771a9c8efcf1">More...</a><br /></td></tr>
<tr class="separator:ga671c5072becd085f4ab5771a9c8efcf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2199b36117a6a695fec8441d8052eee6"><td class="memItemLeft" align="right" valign="top">EGLSurface&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga2199b36117a6a695fec8441d8052eee6">glfwGetEGLSurface</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga2199b36117a6a695fec8441d8052eee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>EGLSurface</code> of the specified window. <a href="#ga2199b36117a6a695fec8441d8052eee6">More...</a><br /></td></tr>
<tr class="memdesc:ga2199b36117a6a695fec8441d8052eee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>EGLSurface</code> of the specified window. <a href="group__native.html#ga2199b36117a6a695fec8441d8052eee6">More...</a><br /></td></tr>
<tr class="separator:ga2199b36117a6a695fec8441d8052eee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b36e3e3dcf308b776427b6bd73cc132"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga3b36e3e3dcf308b776427b6bd73cc132">glfwGetOSMesaColorBuffer</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int *width, int *height, int *format, void **buffer)</td></tr>
<tr class="memdesc:ga3b36e3e3dcf308b776427b6bd73cc132"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the color buffer associated with the specified window. <a href="#ga3b36e3e3dcf308b776427b6bd73cc132">More...</a><br /></td></tr>
<tr class="memdesc:ga3b36e3e3dcf308b776427b6bd73cc132"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the color buffer associated with the specified window. <a href="group__native.html#ga3b36e3e3dcf308b776427b6bd73cc132">More...</a><br /></td></tr>
<tr class="separator:ga3b36e3e3dcf308b776427b6bd73cc132"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b64039ffc88a7a2f57f0956c0c75d53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga6b64039ffc88a7a2f57f0956c0c75d53">glfwGetOSMesaDepthBuffer</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int *width, int *height, int *bytesPerValue, void **buffer)</td></tr>
<tr class="memdesc:ga6b64039ffc88a7a2f57f0956c0c75d53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the depth buffer associated with the specified window. <a href="#ga6b64039ffc88a7a2f57f0956c0c75d53">More...</a><br /></td></tr>
<tr class="memdesc:ga6b64039ffc88a7a2f57f0956c0c75d53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the depth buffer associated with the specified window. <a href="group__native.html#ga6b64039ffc88a7a2f57f0956c0c75d53">More...</a><br /></td></tr>
<tr class="separator:ga6b64039ffc88a7a2f57f0956c0c75d53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e47700080094eb569cb053afaa88773"><td class="memItemLeft" align="right" valign="top">OSMesaContext&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga9e47700080094eb569cb053afaa88773">glfwGetOSMesaContext</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga9e47700080094eb569cb053afaa88773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>OSMesaContext</code> of the specified window. <a href="#ga9e47700080094eb569cb053afaa88773">More...</a><br /></td></tr>
<tr class="memdesc:ga9e47700080094eb569cb053afaa88773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>OSMesaContext</code> of the specified window. <a href="group__native.html#ga9e47700080094eb569cb053afaa88773">More...</a><br /></td></tr>
<tr class="separator:ga9e47700080094eb569cb053afaa88773"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
@@ -763,7 +763,7 @@ Functions</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Standard cursor shapes</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -71,22 +71,22 @@ $(function() {
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga8ab0e717245b85506cb0eaefdea39d0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga8ab0e717245b85506cb0eaefdea39d0a">GLFW_ARROW_CURSOR</a>&#160;&#160;&#160;0x00036001</td></tr>
<tr class="memdesc:ga8ab0e717245b85506cb0eaefdea39d0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The regular arrow cursor shape. <a href="#ga8ab0e717245b85506cb0eaefdea39d0a">More...</a><br /></td></tr>
<tr class="memdesc:ga8ab0e717245b85506cb0eaefdea39d0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The regular arrow cursor shape. <a href="group__shapes.html#ga8ab0e717245b85506cb0eaefdea39d0a">More...</a><br /></td></tr>
<tr class="separator:ga8ab0e717245b85506cb0eaefdea39d0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36185f4375eaada1b04e431244774c86"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga36185f4375eaada1b04e431244774c86">GLFW_IBEAM_CURSOR</a>&#160;&#160;&#160;0x00036002</td></tr>
<tr class="memdesc:ga36185f4375eaada1b04e431244774c86"><td class="mdescLeft">&#160;</td><td class="mdescRight">The text input I-beam cursor shape. <a href="#ga36185f4375eaada1b04e431244774c86">More...</a><br /></td></tr>
<tr class="memdesc:ga36185f4375eaada1b04e431244774c86"><td class="mdescLeft">&#160;</td><td class="mdescRight">The text input I-beam cursor shape. <a href="group__shapes.html#ga36185f4375eaada1b04e431244774c86">More...</a><br /></td></tr>
<tr class="separator:ga36185f4375eaada1b04e431244774c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8af88c0ea05ab9e8f9ac1530e8873c22"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga8af88c0ea05ab9e8f9ac1530e8873c22">GLFW_CROSSHAIR_CURSOR</a>&#160;&#160;&#160;0x00036003</td></tr>
<tr class="memdesc:ga8af88c0ea05ab9e8f9ac1530e8873c22"><td class="mdescLeft">&#160;</td><td class="mdescRight">The crosshair shape. <a href="#ga8af88c0ea05ab9e8f9ac1530e8873c22">More...</a><br /></td></tr>
<tr class="memdesc:ga8af88c0ea05ab9e8f9ac1530e8873c22"><td class="mdescLeft">&#160;</td><td class="mdescRight">The crosshair shape. <a href="group__shapes.html#ga8af88c0ea05ab9e8f9ac1530e8873c22">More...</a><br /></td></tr>
<tr class="separator:ga8af88c0ea05ab9e8f9ac1530e8873c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1db35e20849e0837c82e3dc1fd797263"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga1db35e20849e0837c82e3dc1fd797263">GLFW_HAND_CURSOR</a>&#160;&#160;&#160;0x00036004</td></tr>
<tr class="memdesc:ga1db35e20849e0837c82e3dc1fd797263"><td class="mdescLeft">&#160;</td><td class="mdescRight">The hand shape. <a href="#ga1db35e20849e0837c82e3dc1fd797263">More...</a><br /></td></tr>
<tr class="memdesc:ga1db35e20849e0837c82e3dc1fd797263"><td class="mdescLeft">&#160;</td><td class="mdescRight">The hand shape. <a href="group__shapes.html#ga1db35e20849e0837c82e3dc1fd797263">More...</a><br /></td></tr>
<tr class="separator:ga1db35e20849e0837c82e3dc1fd797263"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb3eb0109f11bb808fc34659177ca962"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#gabb3eb0109f11bb808fc34659177ca962">GLFW_HRESIZE_CURSOR</a>&#160;&#160;&#160;0x00036005</td></tr>
<tr class="memdesc:gabb3eb0109f11bb808fc34659177ca962"><td class="mdescLeft">&#160;</td><td class="mdescRight">The horizontal resize arrow shape. <a href="#gabb3eb0109f11bb808fc34659177ca962">More...</a><br /></td></tr>
<tr class="memdesc:gabb3eb0109f11bb808fc34659177ca962"><td class="mdescLeft">&#160;</td><td class="mdescRight">The horizontal resize arrow shape. <a href="group__shapes.html#gabb3eb0109f11bb808fc34659177ca962">More...</a><br /></td></tr>
<tr class="separator:gabb3eb0109f11bb808fc34659177ca962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf024f0e1ff8366fb2b5c260509a1fce5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#gaf024f0e1ff8366fb2b5c260509a1fce5">GLFW_VRESIZE_CURSOR</a>&#160;&#160;&#160;0x00036006</td></tr>
<tr class="memdesc:gaf024f0e1ff8366fb2b5c260509a1fce5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The vertical resize arrow shape. <a href="#gaf024f0e1ff8366fb2b5c260509a1fce5">More...</a><br /></td></tr>
<tr class="memdesc:gaf024f0e1ff8366fb2b5c260509a1fce5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The vertical resize arrow shape. <a href="group__shapes.html#gaf024f0e1ff8366fb2b5c260509a1fce5">More...</a><br /></td></tr>
<tr class="separator:gaf024f0e1ff8366fb2b5c260509a1fce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
@@ -183,7 +183,7 @@ Macros</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Vulkan reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -72,25 +72,25 @@ $(function() {
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga70c01918dc9d233a4fbe0681a43018af"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vulkan.html#ga70c01918dc9d233a4fbe0681a43018af">GLFWvkproc</a>) (void)</td></tr>
<tr class="memdesc:ga70c01918dc9d233a4fbe0681a43018af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vulkan API function pointer type. <a href="#ga70c01918dc9d233a4fbe0681a43018af">More...</a><br /></td></tr>
<tr class="memdesc:ga70c01918dc9d233a4fbe0681a43018af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vulkan API function pointer type. <a href="group__vulkan.html#ga70c01918dc9d233a4fbe0681a43018af">More...</a><br /></td></tr>
<tr class="separator:ga70c01918dc9d233a4fbe0681a43018af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga2e7f30931e02464b5bc8d0d4b6f9fe2b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b">glfwVulkanSupported</a> (void)</td></tr>
<tr class="memdesc:ga2e7f30931e02464b5bc8d0d4b6f9fe2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the Vulkan loader and an ICD have been found. <a href="#ga2e7f30931e02464b5bc8d0d4b6f9fe2b">More...</a><br /></td></tr>
<tr class="memdesc:ga2e7f30931e02464b5bc8d0d4b6f9fe2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the Vulkan loader and an ICD have been found. <a href="group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b">More...</a><br /></td></tr>
<tr class="separator:ga2e7f30931e02464b5bc8d0d4b6f9fe2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1abcbe61033958f22f63ef82008874b1"><td class="memItemLeft" align="right" valign="top">const char **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1">glfwGetRequiredInstanceExtensions</a> (uint32_t *count)</td></tr>
<tr class="memdesc:ga1abcbe61033958f22f63ef82008874b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the Vulkan instance extensions required by GLFW. <a href="#ga1abcbe61033958f22f63ef82008874b1">More...</a><br /></td></tr>
<tr class="memdesc:ga1abcbe61033958f22f63ef82008874b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the Vulkan instance extensions required by GLFW. <a href="group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1">More...</a><br /></td></tr>
<tr class="separator:ga1abcbe61033958f22f63ef82008874b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf228fac94c5fd8f12423ec9af9ff1e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__vulkan.html#ga70c01918dc9d233a4fbe0681a43018af">GLFWvkproc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vulkan.html#gadf228fac94c5fd8f12423ec9af9ff1e9">glfwGetInstanceProcAddress</a> (VkInstance instance, const char *procname)</td></tr>
<tr class="memdesc:gadf228fac94c5fd8f12423ec9af9ff1e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the specified Vulkan instance function. <a href="#gadf228fac94c5fd8f12423ec9af9ff1e9">More...</a><br /></td></tr>
<tr class="memdesc:gadf228fac94c5fd8f12423ec9af9ff1e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the specified Vulkan instance function. <a href="group__vulkan.html#gadf228fac94c5fd8f12423ec9af9ff1e9">More...</a><br /></td></tr>
<tr class="separator:gadf228fac94c5fd8f12423ec9af9ff1e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff3823355cdd7e2f3f9f4d9ea9518d92"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vulkan.html#gaff3823355cdd7e2f3f9f4d9ea9518d92">glfwGetPhysicalDevicePresentationSupport</a> (VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily)</td></tr>
<tr class="memdesc:gaff3823355cdd7e2f3f9f4d9ea9518d92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified queue family can present images. <a href="#gaff3823355cdd7e2f3f9f4d9ea9518d92">More...</a><br /></td></tr>
<tr class="memdesc:gaff3823355cdd7e2f3f9f4d9ea9518d92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified queue family can present images. <a href="group__vulkan.html#gaff3823355cdd7e2f3f9f4d9ea9518d92">More...</a><br /></td></tr>
<tr class="separator:gaff3823355cdd7e2f3f9f4d9ea9518d92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a24536bec3f80b08ead18e28e6ae965"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vulkan.html#ga1a24536bec3f80b08ead18e28e6ae965">glfwCreateWindowSurface</a> (VkInstance instance, <a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)</td></tr>
<tr class="memdesc:ga1a24536bec3f80b08ead18e28e6ae965"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a Vulkan surface for the specified window. <a href="#ga1a24536bec3f80b08ead18e28e6ae965">More...</a><br /></td></tr>
<tr class="memdesc:ga1a24536bec3f80b08ead18e28e6ae965"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a Vulkan surface for the specified window. <a href="group__vulkan.html#ga1a24536bec3f80b08ead18e28e6ae965">More...</a><br /></td></tr>
<tr class="separator:ga1a24536bec3f80b08ead18e28e6ae965"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
@@ -154,7 +154,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>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 <code>VK_KHR_surface</code>, so if you don't require any additional extensions you can pass this list directly to the <code>VkInstanceCreateInfo</code> struct.</p>
<p>This function returns an array of names of Vulkan instance extensions required by GLFW for creating Vulkan surfaces for GLFW windows. If successful, the list will always contain <code>VK_KHR_surface</code>, so if you don't require any additional extensions you can pass this list directly to the <code>VkInstanceCreateInfo</code> struct.</p>
<p>If Vulkan is not available on the machine, this function returns <code>NULL</code> and generates a <a class="el" href="group__errors.html#ga56882b290db23261cc6c053c40c2d08e">GLFW_API_UNAVAILABLE</a> error. Call <a class="el" href="group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b">glfwVulkanSupported</a> to check whether Vulkan is at least minimally available.</p>
<p>If Vulkan is available but no set of extensions allowing window surface creation was found, this function returns <code>NULL</code>. You may still use Vulkan for off-screen rendering and compute work.</p>
<dl class="params"><dt>Parameters</dt><dd>
@@ -167,7 +167,7 @@ Functions</h2></td></tr>
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a> and <a class="el" href="group__errors.html#ga56882b290db23261cc6c053c40c2d08e">GLFW_API_UNAVAILABLE</a>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>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 <code>VkInstanceCreateInfo</code> struct.</dd>
<dd>
<b>macOS:</b> This function currently only supports the <code>VK_MVK_macos_surface</code> extension from MoltenVK.</dd></dl>
<b>macOS:</b> This function currently supports either the <code>VK_MVK_macos_surface</code> extension from MoltenVK or <code>VK_EXT_metal_surface</code> extension.</dd></dl>
<dl class="section user"><dt>Pointer lifetime</dt><dd>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.</dd></dl>
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="vulkan_guide.html#vulkan_ext">Querying required Vulkan extensions</a> </dd>
@@ -346,7 +346,7 @@ Functions</h2></td></tr>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -84,7 +84,7 @@ Introduction</h1>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: input.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Input guide</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -114,13 +114,17 @@ $(function() {
Event processing</h1>
<p>GLFW needs to poll the window system for events both to provide input to the application and to prove to the window system that the application hasn't locked up. Event processing is normally done each frame after <a class="el" href="window_guide.html#buffer_swap">buffer swapping</a>. Even when you have no windows, event polling needs to be done in order to receive monitor and joystick connection events.</p>
<p>There are three functions for processing pending events. <a class="el" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>, processes only those events that have already been received and then returns immediately.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>();</div></div><!-- fragment --><p>This is the best choice when rendering continuously, like most games do.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>();</div>
</div><!-- fragment --><p>This is the best choice when rendering continuously, like most games do.</p>
<p>If you only need to update the contents of the window when you receive new input, <a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a> is a better choice.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a>();</div></div><!-- fragment --><p>It puts the thread to sleep until at least one event has been received and then processes all received events. This saves a great deal of CPU cycles and is useful for, for example, editing tools.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a>();</div>
</div><!-- fragment --><p>It puts the thread to sleep until at least one event has been received and then processes all received events. This saves a great deal of CPU cycles and is useful for, for example, editing tools.</p>
<p>If you want to wait for events but have UI elements or other tasks that need periodic updates, <a class="el" href="group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf">glfwWaitEventsTimeout</a> lets you specify a timeout.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf">glfwWaitEventsTimeout</a>(0.7);</div></div><!-- fragment --><p>It puts the thread to sleep until at least one event has been received, or until the specified number of seconds have elapsed. It then processes any received events.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf">glfwWaitEventsTimeout</a>(0.7);</div>
</div><!-- fragment --><p>It puts the thread to sleep until at least one event has been received, or until the specified number of seconds have elapsed. It then processes any received events.</p>
<p>If the main thread is sleeping in <a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a>, you can wake it from another thread by posting an empty event to the event queue with <a class="el" href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a>();</div></div><!-- fragment --><p>Do not assume that callbacks will <em>only</em> be called in response to the above functions. While it is necessary to process events in one or more of the ways above, 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.</p>
<div class="fragment"><div class="line"><a class="code" href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a>();</div>
</div><!-- fragment --><p>Do not assume that callbacks will <em>only</em> be called in response to the above functions. While it is necessary to process events in one or more of the ways above, 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.</p>
<p>For example, on Windows the system function that <a class="el" href="group__window.html#ga371911f12c74c504dd8d47d832d095cb">glfwSetWindowSize</a> is implemented with will send window size events directly to the event callback that every window has and that GLFW implements for its windows. If you have set a <a class="el" href="window_guide.html#window_size">window size callback</a> GLFW will call it in turn with the new size before everything returns back out of the <a class="el" href="group__window.html#ga371911f12c74c504dd8d47d832d095cb">glfwSetWindowSize</a> call.</p>
<h1><a class="anchor" id="input_keyboard"></a>
Keyboard input</h1>
@@ -129,115 +133,199 @@ Keyboard input</h1>
<h2><a class="anchor" id="input_key"></a>
Key input</h2>
<p>If you wish to be notified when a physical key is pressed or released or when it repeats, set a key callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga7e496507126f35ea72f01b2e6ef6d155">glfwSetKeyCallback</a>(window, key_callback);</div></div><!-- fragment --><p>The callback function receives the <a class="el" href="group__keys.html">keyboard key</a>, platform-specific scancode, key action and <a class="el" href="group__mods.html">modifier bits</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> key_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> key, <span class="keywordtype">int</span> scancode, <span class="keywordtype">int</span> action, <span class="keywordtype">int</span> mods)</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> (key == <a class="code" href="group__keys.html#gabf48fcc3afbe69349df432b470c96ef2">GLFW_KEY_E</a> &amp;&amp; action == <a class="code" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div><div class="line"> activate_airship();</div><div class="line">}</div></div><!-- fragment --><p>The action is one of <code>GLFW_PRESS</code>, <code>GLFW_REPEAT</code> or <code>GLFW_RELEASE</code>. The key will be <code>GLFW_KEY_UNKNOWN</code> if GLFW lacks a key token for it, for example <em>E-mail</em> and <em>Play</em> keys.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">glfwSetKeyCallback</a>(window, key_callback);</div>
</div><!-- fragment --><p>The callback function receives the <a class="el" href="group__keys.html">keyboard key</a>, platform-specific scancode, key action and <a class="el" href="group__mods.html">modifier bits</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> key_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> key, <span class="keywordtype">int</span> scancode, <span class="keywordtype">int</span> action, <span class="keywordtype">int</span> mods)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">if</span> (key == <a class="code" href="group__keys.html#gabf48fcc3afbe69349df432b470c96ef2">GLFW_KEY_E</a> &amp;&amp; action == <a class="code" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
<div class="line"> activate_airship();</div>
<div class="line">}</div>
</div><!-- fragment --><p>The action is one of <code>GLFW_PRESS</code>, <code>GLFW_REPEAT</code> or <code>GLFW_RELEASE</code>. The key will be <code>GLFW_KEY_UNKNOWN</code> if GLFW lacks a key token for it, for example <em>E-mail</em> and <em>Play</em> keys.</p>
<p>The scancode is unique for every key, regardless of whether it has a key token. Scancodes are platform-specific but consistent over time, so keys will have different scancodes depending on the platform but they are safe to save to disk. You can query the scancode for any <a class="el" href="group__keys.html">named key</a> on the current platform with <a class="el" href="group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a">glfwGetKeyScancode</a>.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">int</span> scancode = <a class="code" href="group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a">glfwGetKeyScancode</a>(<a class="code" href="group__keys.html#gac1c42c0bf4192cea713c55598b06b744">GLFW_KEY_X</a>);</div><div class="line">set_key_mapping(scancode, swap_weapons);</div></div><!-- fragment --><p>The last reported state for every <a class="el" href="group__keys.html">named key</a> is also saved in per-window state arrays that can be polled with <a class="el" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> state = <a class="code" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>(window, <a class="code" href="group__keys.html#gabf48fcc3afbe69349df432b470c96ef2">GLFW_KEY_E</a>);</div><div class="line"><span class="keywordflow">if</span> (state == <a class="code" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div><div class="line">{</div><div class="line"> activate_airship();</div><div class="line">}</div></div><!-- fragment --><p>The returned state is one of <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">int</span> scancode = <a class="code" href="group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a">glfwGetKeyScancode</a>(<a class="code" href="group__keys.html#gac1c42c0bf4192cea713c55598b06b744">GLFW_KEY_X</a>);</div>
<div class="line">set_key_mapping(scancode, swap_weapons);</div>
</div><!-- fragment --><p>The last reported state for every <a class="el" href="group__keys.html">named key</a> is also saved in per-window state arrays that can be polled with <a class="el" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> state = <a class="code" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>(window, <a class="code" href="group__keys.html#gabf48fcc3afbe69349df432b470c96ef2">GLFW_KEY_E</a>);</div>
<div class="line"><span class="keywordflow">if</span> (state == <a class="code" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
<div class="line">{</div>
<div class="line"> activate_airship();</div>
<div class="line">}</div>
</div><!-- fragment --><p>The returned state is one of <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
<p>This function only returns cached key event state. It does not poll the system for the current physical state of the key.</p>
<p><a class="anchor" id="GLFW_STICKY_KEYS"></a>Whenever you poll state, you risk missing the state change you are looking for. If a pressed key is released again before you poll its state, you will have missed the key press. The recommended solution for this is to use a key callback, but there is also the <code>GLFW_STICKY_KEYS</code> input mode.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc">GLFW_STICKY_KEYS</a>, <a class="code" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div></div><!-- fragment --><p>When sticky keys mode is enabled, the pollable state of a key will remain <code>GLFW_PRESS</code> until the state of that key is polled with <a class="el" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>. Once it has been polled, if a key release event had been processed in the meantime, the state will reset to <code>GLFW_RELEASE</code>, otherwise it will remain <code>GLFW_PRESS</code>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc">GLFW_STICKY_KEYS</a>, <a class="code" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div>
</div><!-- fragment --><p>When sticky keys mode is enabled, the pollable state of a key will remain <code>GLFW_PRESS</code> until the state of that key is polled with <a class="el" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>. Once it has been polled, if a key release event had been processed in the meantime, the state will reset to <code>GLFW_RELEASE</code>, otherwise it will remain <code>GLFW_PRESS</code>.</p>
<p><a class="anchor" id="GLFW_LOCK_KEY_MODS"></a>If you wish to know what the state of the Caps Lock and Num Lock keys was when input events were generated, set the <code>GLFW_LOCK_KEY_MODS</code> input mode.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947">GLFW_LOCK_KEY_MODS</a>, <a class="code" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div></div><!-- fragment --><p>When this input mode is enabled, any callback that receives <a class="el" href="group__mods.html">modifier bits</a> will have the <a class="el" href="group__mods.html#gaefeef8fcf825a6e43e241b337897200f">GLFW_MOD_CAPS_LOCK</a> bit set if Caps Lock was on when the event occurred and the <a class="el" href="group__mods.html#ga64e020b8a42af8376e944baf61feecbe">GLFW_MOD_NUM_LOCK</a> bit set if Num Lock was on.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947">GLFW_LOCK_KEY_MODS</a>, <a class="code" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div>
</div><!-- fragment --><p>When this input mode is enabled, any callback that receives <a class="el" href="group__mods.html">modifier bits</a> will have the <a class="el" href="group__mods.html#gaefeef8fcf825a6e43e241b337897200f">GLFW_MOD_CAPS_LOCK</a> bit set if Caps Lock was on when the event occurred and the <a class="el" href="group__mods.html#ga64e020b8a42af8376e944baf61feecbe">GLFW_MOD_NUM_LOCK</a> bit set if Num Lock was on.</p>
<p>The <code>GLFW_KEY_LAST</code> constant holds the highest value of any <a class="el" href="group__keys.html">named key</a>.</p>
<h2><a class="anchor" id="input_char"></a>
Text input</h2>
<p>GLFW supports text input in the form of a stream of <a href="https://en.wikipedia.org/wiki/Unicode">Unicode code points</a>, as produced by the operating system text input system. Unlike key input, text input obeys keyboard layouts and modifier keys and supports composing characters using <a href="https://en.wikipedia.org/wiki/Dead_key">dead keys</a>. Once received, you can encode the code points into UTF-8 or any other encoding you prefer.</p>
<p>Because an <code>unsigned int</code> is 32 bits long on all platforms supported by GLFW, you can treat the code point argument as native endian UTF-32.</p>
<p>If you wish to offer regular text input, set a character callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga556239421c6a5a243c66fca28da9f742">glfwSetCharCallback</a>(window, character_callback);</div></div><!-- fragment --><p>The callback function receives Unicode code points for key events that would have led to regular text input and generally behaves as a standard text field on that platform.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> character_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> codepoint)</div><div class="line">{</div><div class="line">}</div></div><!-- fragment --><h2><a class="anchor" id="input_key_name"></a>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gab25c4a220fd8f5717718dbc487828996">glfwSetCharCallback</a>(window, character_callback);</div>
</div><!-- fragment --><p>The callback function receives Unicode code points for key events that would have led to regular text input and generally behaves as a standard text field on that platform.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> character_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> codepoint)</div>
<div class="line">{</div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="input_key_name"></a>
Key names</h2>
<p>If you wish to refer to keys by name, you can query the keyboard layout dependent name of printable keys with <a class="el" href="group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be">glfwGetKeyName</a>.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* key_name = <a class="code" href="group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be">glfwGetKeyName</a>(<a class="code" href="group__keys.html#gaa06a712e6202661fc03da5bdb7b6e545">GLFW_KEY_W</a>, 0);</div><div class="line">show_tutorial_hint(<span class="stringliteral">&quot;Press %s to move forward&quot;</span>, key_name);</div></div><!-- fragment --><p>This function can handle both <a class="el" href="input_guide.html#input_key">keys and scancodes</a>. If the specified key is <code>GLFW_KEY_UNKNOWN</code> then the scancode is used, otherwise it is ignored. This matches the behavior of the key callback, meaning the callback arguments can always be passed unmodified to this function.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* key_name = <a class="code" href="group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be">glfwGetKeyName</a>(<a class="code" href="group__keys.html#gaa06a712e6202661fc03da5bdb7b6e545">GLFW_KEY_W</a>, 0);</div>
<div class="line">show_tutorial_hint(<span class="stringliteral">&quot;Press %s to move forward&quot;</span>, key_name);</div>
</div><!-- fragment --><p>This function can handle both <a class="el" href="input_guide.html#input_key">keys and scancodes</a>. If the specified key is <code>GLFW_KEY_UNKNOWN</code> then the scancode is used, otherwise it is ignored. This matches the behavior of the key callback, meaning the callback arguments can always be passed unmodified to this function.</p>
<h1><a class="anchor" id="input_mouse"></a>
Mouse input</h1>
<p>Mouse input comes in many forms, including mouse motion, button presses and scrolling offsets. The cursor appearance can also be changed, either to a custom image or a standard cursor shape from the system theme.</p>
<h2><a class="anchor" id="cursor_pos"></a>
Cursor position</h2>
<p>If you wish to be notified when the cursor moves over the window, set a cursor position callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga7dad39486f2c7591af7fb25134a2501d">glfwSetCursorPosCallback</a>(window, cursor_position_callback);</div></div><!-- fragment --><p>The callback functions receives the cursor position, measured in screen coordinates but relative to the top-left corner of the window content area. On platforms that provide it, the full sub-pixel cursor position is passed on.</p>
<div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> cursor_position_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xpos, <span class="keywordtype">double</span> ypos)</div><div class="line">{</div><div class="line">}</div></div><!-- fragment --><p>The cursor position is also saved per-window and can be polled with <a class="el" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">double</span> xpos, ypos;</div><div class="line"><a class="code" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a>(window, &amp;xpos, &amp;ypos);</div></div><!-- fragment --><h2><a class="anchor" id="cursor_mode"></a>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">glfwSetCursorPosCallback</a>(window, cursor_position_callback);</div>
</div><!-- fragment --><p>The callback functions receives the cursor position, measured in screen coordinates but relative to the top-left corner of the window content area. On platforms that provide it, the full sub-pixel cursor position is passed on.</p>
<div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> cursor_position_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xpos, <span class="keywordtype">double</span> ypos)</div>
<div class="line">{</div>
<div class="line">}</div>
</div><!-- fragment --><p>The cursor position is also saved per-window and can be polled with <a class="el" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">double</span> xpos, ypos;</div>
<div class="line"><a class="code" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a>(window, &amp;xpos, &amp;ypos);</div>
</div><!-- fragment --><h2><a class="anchor" id="cursor_mode"></a>
Cursor mode</h2>
<p><a class="anchor" id="GLFW_CURSOR"></a>The <code>GLFW_CURSOR</code> input mode provides several cursor modes for special forms of mouse motion input. By default, the cursor mode is <code>GLFW_CURSOR_NORMAL</code>, meaning the regular arrow cursor (or another cursor set with <a class="el" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a>) is used and cursor motion is not limited.</p>
<p>If you wish to implement mouse motion based camera controls or other input schemes that require unlimited mouse movement, set the cursor mode to <code>GLFW_CURSOR_DISABLED</code>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code" href="glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88">GLFW_CURSOR_DISABLED</a>);</div></div><!-- fragment --><p>This will hide the cursor and lock it to the specified window. GLFW will then take care of all the details of cursor re-centering and offset calculation and providing the application with a virtual cursor position. This virtual position is provided normally via both the cursor position callback and through polling.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code" href="glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88">GLFW_CURSOR_DISABLED</a>);</div>
</div><!-- fragment --><p>This will hide the cursor and lock it to the specified window. GLFW will then take care of all the details of cursor re-centering and offset calculation and providing the application with a virtual cursor position. This virtual position is provided normally via both the cursor position callback and through polling.</p>
<dl class="section note"><dt>Note</dt><dd>You should not implement your own version of this functionality using other features of GLFW. It is not supported and will not work as robustly as <code>GLFW_CURSOR_DISABLED</code>.</dd></dl>
<p>If you only wish the cursor to become hidden when it is over a window but still want it to behave normally, set the cursor mode to <code>GLFW_CURSOR_HIDDEN</code>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code" href="glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11">GLFW_CURSOR_HIDDEN</a>);</div></div><!-- fragment --><p>This mode puts no limit on the motion of the cursor.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code" href="glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11">GLFW_CURSOR_HIDDEN</a>);</div>
</div><!-- fragment --><p>This mode puts no limit on the motion of the cursor.</p>
<p>To exit out of either of these special modes, restore the <code>GLFW_CURSOR_NORMAL</code> cursor mode.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code" href="glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68">GLFW_CURSOR_NORMAL</a>);</div></div><!-- fragment --><p><a class="anchor" id="GLFW_RAW_MOUSE_MOTION"></a></p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code" href="glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68">GLFW_CURSOR_NORMAL</a>);</div>
</div><!-- fragment --><p><a class="anchor" id="GLFW_RAW_MOUSE_MOTION"></a></p>
<h2><a class="anchor" id="raw_mouse_motion"></a>
Raw mouse motion</h2>
<p>When the cursor is disabled, raw (unscaled and unaccelerated) mouse motion can be enabled if available.</p>
<p>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.</p>
<p>Call <a class="el" href="group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2">glfwRawMouseMotionSupported</a> to check if the current machine provides raw motion and set the <code>GLFW_RAW_MOUSE_MOTION</code> input mode to enable it. It is disabled by default.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2">glfwRawMouseMotionSupported</a>())</div><div class="line"> <a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb">GLFW_RAW_MOUSE_MOTION</a>, <a class="code" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div></div><!-- fragment --><p>If supported, raw mouse motion can be enabled or disabled per-window and at any time but it will only be provided when the cursor is disabled.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2">glfwRawMouseMotionSupported</a>())</div>
<div class="line"> <a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb">GLFW_RAW_MOUSE_MOTION</a>, <a class="code" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div>
</div><!-- fragment --><p>If supported, raw mouse motion can be enabled or disabled per-window and at any time but it will only be provided when the cursor is disabled.</p>
<h2><a class="anchor" id="cursor_object"></a>
Cursor objects</h2>
<p>GLFW supports creating both custom and system theme cursor images, encapsulated as <a class="el" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a> objects. They are created with <a class="el" href="group__input.html#gafca356935e10135016aa49ffa464c355">glfwCreateCursor</a> or <a class="el" href="group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894">glfwCreateStandardCursor</a> and destroyed with <a class="el" href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">glfwDestroyCursor</a>, or <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>, if any remain.</p>
<h3><a class="anchor" id="cursor_custom"></a>
Custom cursor creation</h3>
<p>A custom cursor is created with <a class="el" href="group__input.html#gafca356935e10135016aa49ffa464c355">glfwCreateCursor</a>, which returns a handle to the created cursor object. For example, this creates a 16x16 white square cursor with the hot-spot in the upper-left corner:</p>
<div class="fragment"><div class="line"><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> pixels[16 * 16 * 4];</div><div class="line">memset(pixels, 0xff, <span class="keyword">sizeof</span>(pixels));</div><div class="line"></div><div class="line"><a class="code" href="structGLFWimage.html">GLFWimage</a> image;</div><div class="line">image.<a class="code" href="structGLFWimage.html#af6a71cc999fe6d3aea31dd7e9687d835">width</a> = 16;</div><div class="line">image.<a class="code" href="structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec">height</a> = 16;</div><div class="line">image.<a class="code" href="structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb">pixels</a> = pixels;</div><div class="line"></div><div class="line"><a class="code" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a>* cursor = <a class="code" href="group__input.html#gafca356935e10135016aa49ffa464c355">glfwCreateCursor</a>(&amp;image, 0, 0);</div></div><!-- fragment --><p>If cursor creation fails, <code>NULL</code> will be returned, so it is necessary to check the return value.</p>
<div class="fragment"><div class="line"><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> pixels[16 * 16 * 4];</div>
<div class="line">memset(pixels, 0xff, <span class="keyword">sizeof</span>(pixels));</div>
<div class="line"> </div>
<div class="line"><a class="code" href="structGLFWimage.html">GLFWimage</a> image;</div>
<div class="line">image.<a class="code" href="structGLFWimage.html#af6a71cc999fe6d3aea31dd7e9687d835">width</a> = 16;</div>
<div class="line">image.<a class="code" href="structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec">height</a> = 16;</div>
<div class="line">image.<a class="code" href="structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb">pixels</a> = pixels;</div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a>* cursor = <a class="code" href="group__input.html#gafca356935e10135016aa49ffa464c355">glfwCreateCursor</a>(&amp;image, 0, 0);</div>
</div><!-- fragment --><p>If cursor creation fails, <code>NULL</code> will be returned, so it is necessary to check the return value.</p>
<p>The image data is 32-bit, little-endian, non-premultiplied RGBA, i.e. eight bits per channel with the red channel first. The pixels are arranged canonically as sequential rows, starting from the top-left corner.</p>
<h3><a class="anchor" id="cursor_standard"></a>
Standard cursor creation</h3>
<p>A cursor with a <a class="el" href="group__shapes.html">standard shape</a> from the current system cursor theme can be can be created with <a class="el" href="group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894">glfwCreateStandardCursor</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a>* cursor = <a class="code" href="group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894">glfwCreateStandardCursor</a>(<a class="code" href="group__shapes.html#gabb3eb0109f11bb808fc34659177ca962">GLFW_HRESIZE_CURSOR</a>);</div></div><!-- fragment --><p>These cursor objects behave in the exact same way as those created with <a class="el" href="group__input.html#gafca356935e10135016aa49ffa464c355">glfwCreateCursor</a> except that the system cursor theme provides the actual image.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a>* cursor = <a class="code" href="group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894">glfwCreateStandardCursor</a>(<a class="code" href="group__shapes.html#gabb3eb0109f11bb808fc34659177ca962">GLFW_HRESIZE_CURSOR</a>);</div>
</div><!-- fragment --><p>These cursor objects behave in the exact same way as those created with <a class="el" href="group__input.html#gafca356935e10135016aa49ffa464c355">glfwCreateCursor</a> except that the system cursor theme provides the actual image.</p>
<h3><a class="anchor" id="cursor_destruction"></a>
Cursor destruction</h3>
<p>When a cursor is no longer needed, destroy it with <a class="el" href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">glfwDestroyCursor</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">glfwDestroyCursor</a>(cursor);</div></div><!-- fragment --><p>Cursor destruction always succeeds. If the cursor is current for any window, that window will revert to the default cursor. This does not affect the cursor mode. All remaining cursors are destroyed when <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> is called.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">glfwDestroyCursor</a>(cursor);</div>
</div><!-- fragment --><p>Cursor destruction always succeeds. If the cursor is current for any window, that window will revert to the default cursor. This does not affect the cursor mode. All remaining cursors are destroyed when <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> is called.</p>
<h3><a class="anchor" id="cursor_set"></a>
Cursor setting</h3>
<p>A cursor can be set as current for a window with <a class="el" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a>(window, cursor);</div></div><!-- fragment --><p>Once set, the cursor image will be used as long as the system cursor is over the content area of the window and the <a class="el" href="input_guide.html#cursor_mode">cursor mode</a> is set to <code>GLFW_CURSOR_NORMAL</code>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a>(window, cursor);</div>
</div><!-- fragment --><p>Once set, the cursor image will be used as long as the system cursor is over the content area of the window and the <a class="el" href="input_guide.html#cursor_mode">cursor mode</a> is set to <code>GLFW_CURSOR_NORMAL</code>.</p>
<p>A single cursor may be set for any number of windows.</p>
<p>To revert to the default cursor, set the cursor of that window to <code>NULL</code>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a>(window, NULL);</div></div><!-- fragment --><p>When a cursor is destroyed, any window that has it set will revert to the default cursor. This does not affect the cursor mode.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a>(window, NULL);</div>
</div><!-- fragment --><p>When a cursor is destroyed, any window that has it set will revert to the default cursor. This does not affect the cursor mode.</p>
<h2><a class="anchor" id="cursor_enter"></a>
Cursor enter/leave events</h2>
<p>If you wish to be notified when the cursor enters or leaves the content area of a window, set a cursor enter/leave callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa299c41dd0a3d171d166354e01279e04">glfwSetCursorEnterCallback</a>(window, cursor_enter_callback);</div></div><!-- fragment --><p>The callback function receives the new classification of the cursor.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> cursor_enter_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> entered)</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> (entered)</div><div class="line"> {</div><div class="line"> <span class="comment">// The cursor entered the content area of the window</span></div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> {</div><div class="line"> <span class="comment">// The cursor left the content area of the window</span></div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --><p>You can query whether the cursor is currently inside the content area of the window with the <a class="el" href="window_guide.html#GLFW_HOVERED_attrib">GLFW_HOVERED</a> window attribute.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a>(window, <a class="code" href="group__window.html#ga8665c71c6fa3d22425c6a0e8a3f89d8a">GLFW_HOVERED</a>))</div><div class="line">{</div><div class="line"> highlight_interface();</div><div class="line">}</div></div><!-- fragment --><h2><a class="anchor" id="input_mouse_button"></a>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gad27f8ad0142c038a281466c0966817d8">glfwSetCursorEnterCallback</a>(window, cursor_enter_callback);</div>
</div><!-- fragment --><p>The callback function receives the new classification of the cursor.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> cursor_enter_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> entered)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">if</span> (entered)</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// The cursor entered the content area of the window</span></div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span></div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// The cursor left the content area of the window</span></div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment --><p>You can query whether the cursor is currently inside the content area of the window with the <a class="el" href="window_guide.html#GLFW_HOVERED_attrib">GLFW_HOVERED</a> window attribute.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a>(window, <a class="code" href="group__window.html#ga8665c71c6fa3d22425c6a0e8a3f89d8a">GLFW_HOVERED</a>))</div>
<div class="line">{</div>
<div class="line"> highlight_interface();</div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="input_mouse_button"></a>
Mouse button input</h2>
<p>If you wish to be notified when a mouse button is pressed or released, set a mouse button callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaef49b72d84d615bca0a6ed65485e035d">glfwSetMouseButtonCallback</a>(window, mouse_button_callback);</div></div><!-- fragment --><p>The callback function receives the <a class="el" href="group__buttons.html">mouse button</a>, button action and <a class="el" href="group__mods.html">modifier bits</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> mouse_button_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> button, <span class="keywordtype">int</span> action, <span class="keywordtype">int</span> mods)</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> (button == <a class="code" href="group__buttons.html#ga3e2f2cf3c4942df73cc094247d275e74">GLFW_MOUSE_BUTTON_RIGHT</a> &amp;&amp; action == <a class="code" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div><div class="line"> popup_menu();</div><div class="line">}</div></div><!-- fragment --><p>The action is one of <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga6ab84420974d812bee700e45284a723c">glfwSetMouseButtonCallback</a>(window, mouse_button_callback);</div>
</div><!-- fragment --><p>The callback function receives the <a class="el" href="group__buttons.html">mouse button</a>, button action and <a class="el" href="group__mods.html">modifier bits</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> mouse_button_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> button, <span class="keywordtype">int</span> action, <span class="keywordtype">int</span> mods)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">if</span> (button == <a class="code" href="group__buttons.html#ga3e2f2cf3c4942df73cc094247d275e74">GLFW_MOUSE_BUTTON_RIGHT</a> &amp;&amp; action == <a class="code" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
<div class="line"> popup_menu();</div>
<div class="line">}</div>
</div><!-- fragment --><p>The action is one of <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
<p>Mouse button states for <a class="el" href="group__buttons.html">named buttons</a> are also saved in per-window state arrays that can be polled with <a class="el" href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">glfwGetMouseButton</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> state = <a class="code" href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">glfwGetMouseButton</a>(window, <a class="code" href="group__buttons.html#gaf37100431dcd5082d48f95ee8bc8cd56">GLFW_MOUSE_BUTTON_LEFT</a>);</div><div class="line"><span class="keywordflow">if</span> (state == <a class="code" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div><div class="line">{</div><div class="line"> upgrade_cow();</div><div class="line">}</div></div><!-- fragment --><p>The returned state is one of <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> state = <a class="code" href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">glfwGetMouseButton</a>(window, <a class="code" href="group__buttons.html#gaf37100431dcd5082d48f95ee8bc8cd56">GLFW_MOUSE_BUTTON_LEFT</a>);</div>
<div class="line"><span class="keywordflow">if</span> (state == <a class="code" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
<div class="line">{</div>
<div class="line"> upgrade_cow();</div>
<div class="line">}</div>
</div><!-- fragment --><p>The returned state is one of <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
<p>This function only returns cached mouse button event state. It does not poll the system for the current state of the mouse button.</p>
<p><a class="anchor" id="GLFW_STICKY_MOUSE_BUTTONS"></a>Whenever you poll state, you risk missing the state change you are looking for. If a pressed mouse button is released again before you poll its state, you will have missed the button press. The recommended solution for this is to use a mouse button callback, but there is also the <code>GLFW_STICKY_MOUSE_BUTTONS</code> input mode.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1">GLFW_STICKY_MOUSE_BUTTONS</a>, <a class="code" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div></div><!-- fragment --><p>When sticky mouse buttons mode is enabled, the pollable state of a mouse button will remain <code>GLFW_PRESS</code> until the state of that button is polled with <a class="el" href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">glfwGetMouseButton</a>. Once it has been polled, if a mouse button release event had been processed in the meantime, the state will reset to <code>GLFW_RELEASE</code>, otherwise it will remain <code>GLFW_PRESS</code>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code" href="glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1">GLFW_STICKY_MOUSE_BUTTONS</a>, <a class="code" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div>
</div><!-- fragment --><p>When sticky mouse buttons mode is enabled, the pollable state of a mouse button will remain <code>GLFW_PRESS</code> until the state of that button is polled with <a class="el" href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">glfwGetMouseButton</a>. Once it has been polled, if a mouse button release event had been processed in the meantime, the state will reset to <code>GLFW_RELEASE</code>, otherwise it will remain <code>GLFW_PRESS</code>.</p>
<p>The <code>GLFW_MOUSE_BUTTON_LAST</code> constant holds the highest value of any <a class="el" href="group__buttons.html">named button</a>.</p>
<h2><a class="anchor" id="scrolling"></a>
Scroll input</h2>
<p>If you wish to be notified when the user scrolls, whether with a mouse wheel or touchpad gesture, set a scroll callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gacf02eb10504352f16efda4593c3ce60e">glfwSetScrollCallback</a>(window, scroll_callback);</div></div><!-- fragment --><p>The callback function receives two-dimensional scroll offsets.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> scroll_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xoffset, <span class="keywordtype">double</span> yoffset)</div><div class="line">{</div><div class="line">}</div></div><!-- fragment --><p>A normal mouse wheel, being vertical, provides offsets along the Y-axis.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">glfwSetScrollCallback</a>(window, scroll_callback);</div>
</div><!-- fragment --><p>The callback function receives two-dimensional scroll offsets.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> scroll_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xoffset, <span class="keywordtype">double</span> yoffset)</div>
<div class="line">{</div>
<div class="line">}</div>
</div><!-- fragment --><p>A normal mouse wheel, being vertical, provides offsets along the Y-axis.</p>
<h1><a class="anchor" id="joystick"></a>
Joystick input</h1>
<p>The joystick functions expose connected joysticks and controllers, with both referred to as joysticks. It supports up to sixteen joysticks, ranging from <code>GLFW_JOYSTICK_1</code>, <code>GLFW_JOYSTICK_2</code> up to and including <code>GLFW_JOYSTICK_16</code> or <code>GLFW_JOYSTICK_LAST</code>. You can test whether a <a class="el" href="group__joysticks.html">joystick</a> is present with <a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> present = <a class="code" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a>(<a class="code" href="group__joysticks.html#ga34a0443d059e9f22272cd4669073f73d">GLFW_JOYSTICK_1</a>);</div></div><!-- fragment --><p>Each joystick has zero or more axes, zero or more buttons, zero or more hats, a human-readable name, a user pointer and an SDL compatible GUID.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> present = <a class="code" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a>(<a class="code" href="group__joysticks.html#ga34a0443d059e9f22272cd4669073f73d">GLFW_JOYSTICK_1</a>);</div>
</div><!-- fragment --><p>Each joystick has zero or more axes, zero or more buttons, zero or more hats, a human-readable name, a user pointer and an SDL compatible GUID.</p>
<p>When GLFW is initialized, detected joysticks are added to the beginning of the array. Once a joystick is detected, it keeps its assigned ID until it is disconnected or the library is terminated, so as joysticks are connected and disconnected, there may appear gaps in the IDs.</p>
<p>Joystick axis, button and hat state is updated when polled and does not require a window to be created or events to be processed. However, if you want joystick connection and disconnection events reliably delivered to the <a class="el" href="input_guide.html#joystick_event">joystick callback</a> then you must <a class="el" href="input_guide.html#events">process events</a>.</p>
<p>To see all the properties of all connected joysticks in real-time, run the <code>joysticks</code> test program.</p>
<h2><a class="anchor" id="joystick_axis"></a>
Joystick axis states</h2>
<p>The positions of all axes of a joystick are returned by <a class="el" href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">glfwGetJoystickAxes</a>. See the reference documentation for the lifetime of the returned array.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div><div class="line"><span class="keyword">const</span> <span class="keywordtype">float</span>* axes = <a class="code" href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">glfwGetJoystickAxes</a>(<a class="code" href="group__joysticks.html#gae43281bc66d3fa5089fb50c3e7a28695">GLFW_JOYSTICK_5</a>, &amp;count);</div></div><!-- fragment --><p>Each element in the returned array is a value between -1.0 and 1.0.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div>
<div class="line"><span class="keyword">const</span> <span class="keywordtype">float</span>* axes = <a class="code" href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">glfwGetJoystickAxes</a>(<a class="code" href="group__joysticks.html#gae43281bc66d3fa5089fb50c3e7a28695">GLFW_JOYSTICK_5</a>, &amp;count);</div>
</div><!-- fragment --><p>Each element in the returned array is a value between -1.0 and 1.0.</p>
<h2><a class="anchor" id="joystick_button"></a>
Joystick button states</h2>
<p>The states of all buttons of a joystick are returned by <a class="el" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a>. See the reference documentation for the lifetime of the returned array.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div><div class="line"><span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* buttons = <a class="code" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a>(<a class="code" href="group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654">GLFW_JOYSTICK_3</a>, &amp;count);</div></div><!-- fragment --><p>Each element in the returned array is either <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div>
<div class="line"><span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* buttons = <a class="code" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a>(<a class="code" href="group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654">GLFW_JOYSTICK_3</a>, &amp;count);</div>
</div><!-- fragment --><p>Each element in the returned array is either <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
<p>For backward compatibility with earlier versions that did not have <a class="el" href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a>, the button array by default also includes all hats. See the reference documentation for <a class="el" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a> for details.</p>
<h2><a class="anchor" id="joystick_hat"></a>
Joystick hat states</h2>
<p>The states of all hats are returned by <a class="el" href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a>. See the reference documentation for the lifetime of the returned array.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div><div class="line"><span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* hats = <a class="code" href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a>(<a class="code" href="group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87">GLFW_JOYSTICK_7</a>, &amp;count);</div></div><!-- fragment --><p>Each element in the returned array is one of the following:</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div>
<div class="line"><span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* hats = <a class="code" href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a>(<a class="code" href="group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87">GLFW_JOYSTICK_7</a>, &amp;count);</div>
</div><!-- fragment --><p>Each element in the returned array is one of the following:</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Name </th><th class="markdownTableHeadNone">Value </th></tr>
@@ -261,11 +349,16 @@ Joystick hat states</h2>
<td class="markdownTableBodyNone"><code>GLFW_HAT_LEFT_DOWN</code> </td><td class="markdownTableBodyNone"><code>GLFW_HAT_LEFT</code> | <code>GLFW_HAT_DOWN</code> </td></tr>
</table>
<p>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.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (hats[2] &amp; <a class="code" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a>)</div><div class="line">{</div><div class="line"> <span class="comment">// State of hat 2 could be right-up, right or right-down</span></div><div class="line">}</div></div><!-- fragment --><p>For backward compatibility with earlier versions that did not have <a class="el" href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a>, all hats are by default also included in the button array. See the reference documentation for <a class="el" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a> for details.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (hats[2] &amp; <a class="code" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a>)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// State of hat 2 could be right-up, right or right-down</span></div>
<div class="line">}</div>
</div><!-- fragment --><p>For backward compatibility with earlier versions that did not have <a class="el" href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a>, all hats are by default also included in the button array. See the reference documentation for <a class="el" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a> for details.</p>
<h2><a class="anchor" id="joystick_name"></a>
Joystick name</h2>
<p>The human-readable, UTF-8 encoded name of a joystick is returned by <a class="el" href="group__input.html#gafbe3e51f670320908cfe4e20d3e5559e">glfwGetJoystickName</a>. See the reference documentation for the lifetime of the returned string.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__input.html#gafbe3e51f670320908cfe4e20d3e5559e">glfwGetJoystickName</a>(<a class="code" href="group__joysticks.html#ga97ddbcad02b7f48d74fad4ddb08fff59">GLFW_JOYSTICK_4</a>);</div></div><!-- fragment --><p>Joystick names are not guaranteed to be unique. Two joysticks of the same model and make may have the same name. Only the <a class="el" href="group__joysticks.html">joystick token</a> is guaranteed to be unique, and only until that joystick is disconnected.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__input.html#gafbe3e51f670320908cfe4e20d3e5559e">glfwGetJoystickName</a>(<a class="code" href="group__joysticks.html#ga97ddbcad02b7f48d74fad4ddb08fff59">GLFW_JOYSTICK_4</a>);</div>
</div><!-- fragment --><p>Joystick names are not guaranteed to be unique. Two joysticks of the same model and make may have the same name. Only the <a class="el" href="group__joysticks.html">joystick token</a> is guaranteed to be unique, and only until that joystick is disconnected.</p>
<h2><a class="anchor" id="joystick_userptr"></a>
Joystick user pointer</h2>
<p>Each joystick has a user pointer that can be set with <a class="el" href="group__input.html#ga6b2f72d64d636b48a727b437cbb7489e">glfwSetJoystickUserPointer</a> and queried with <a class="el" href="group__input.html#ga06290acb7ed23895bf26b8e981827ebd">glfwGetJoystickUserPointer</a>. This can be used for any purpose you need and will not be modified by GLFW. The value will be kept until the joystick is disconnected or until the library is terminated.</p>
@@ -273,8 +366,20 @@ Joystick user pointer</h2>
<h2><a class="anchor" id="joystick_event"></a>
Joystick configuration changes</h2>
<p>If you wish to be notified when a joystick is connected or disconnected, set a joystick callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gab1dc8379f1b82bb660a6b9c9fa06ca07">glfwSetJoystickCallback</a>(joystick_callback);</div></div><!-- fragment --><p>The callback function receives the ID of the joystick that has been connected and disconnected and the event that occurred.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> joystick_callback(<span class="keywordtype">int</span> jid, <span class="keywordtype">int</span> event)</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> (event == <a class="code" href="glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e">GLFW_CONNECTED</a>)</div><div class="line"> {</div><div class="line"> <span class="comment">// The joystick was connected</span></div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (event == <a class="code" href="glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32">GLFW_DISCONNECTED</a>)</div><div class="line"> {</div><div class="line"> <span class="comment">// The joystick was disconnected</span></div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --><p>For joystick connection and disconnection events to be delivered on all platforms, you need to call one of the <a class="el" href="input_guide.html#events">event processing</a> functions. Joystick disconnection may also be detected and the callback called by joystick functions. The function will then return whatever it returns for a disconnected joystick.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">glfwSetJoystickCallback</a>(joystick_callback);</div>
</div><!-- fragment --><p>The callback function receives the ID of the joystick that has been connected and disconnected and the event that occurred.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> joystick_callback(<span class="keywordtype">int</span> jid, <span class="keywordtype">int</span> event)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">if</span> (event == <a class="code" href="glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e">GLFW_CONNECTED</a>)</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// The joystick was connected</span></div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (event == <a class="code" href="glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32">GLFW_DISCONNECTED</a>)</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// The joystick was disconnected</span></div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment --><p>For joystick connection and disconnection events to be delivered on all platforms, you need to call one of the <a class="el" href="input_guide.html#events">event processing</a> functions. Joystick disconnection may also be detected and the callback called by joystick functions. The function will then return whatever it returns for a disconnected joystick.</p>
<p>Only <a class="el" href="group__input.html#gafbe3e51f670320908cfe4e20d3e5559e">glfwGetJoystickName</a> and <a class="el" href="group__input.html#ga06290acb7ed23895bf26b8e981827ebd">glfwGetJoystickUserPointer</a> will return useful values for a disconnected joystick and only before the monitor callback returns.</p>
<h2><a class="anchor" id="gamepad"></a>
Gamepad input</h2>
@@ -282,10 +387,26 @@ Gamepad input</h2>
<p>To solve this problem the SDL community crowdsourced the <a href="https://github.com/gabomdq/SDL_GameControllerDB">SDL_GameControllerDB</a> project, a database of mappings from many different devices to an Xbox-like gamepad.</p>
<p>GLFW supports this mapping format and contains a copy of the mappings available at the time of release. See <a class="el" href="input_guide.html#gamepad_mapping">Gamepad mappings</a> for how to update this at runtime. Mappings will be assigned to joysticks automatically any time a joystick is connected or the mappings are updated.</p>
<p>You can check whether a joystick is both present and has a gamepad mapping with <a class="el" href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">glfwJoystickIsGamepad</a>.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">glfwJoystickIsGamepad</a>(<a class="code" href="group__joysticks.html#ga6eab65ec88e65e0850ef8413504cb50c">GLFW_JOYSTICK_2</a>))</div><div class="line">{</div><div class="line"> <span class="comment">// Use as gamepad</span></div><div class="line">}</div></div><!-- fragment --><p>If you are only interested in gamepad input you can use this function instead of <a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a>.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">glfwJoystickIsGamepad</a>(<a class="code" href="group__joysticks.html#ga6eab65ec88e65e0850ef8413504cb50c">GLFW_JOYSTICK_2</a>))</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// Use as gamepad</span></div>
<div class="line">}</div>
</div><!-- fragment --><p>If you are only interested in gamepad input you can use this function instead of <a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a>.</p>
<p>You can query the human-readable name provided by the gamepad mapping with <a class="el" href="group__input.html#ga5c71e3533b2d384db9317fcd7661b210">glfwGetGamepadName</a>. This may or may not be the same as the <a class="el" href="input_guide.html#joystick_name">joystick name</a>.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__input.html#ga5c71e3533b2d384db9317fcd7661b210">glfwGetGamepadName</a>(<a class="code" href="group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87">GLFW_JOYSTICK_7</a>);</div></div><!-- fragment --><p>To retrieve the gamepad state of a joystick, call <a class="el" href="group__input.html#gadccddea8bce6113fa459de379ddaf051">glfwGetGamepadState</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="structGLFWgamepadstate.html">GLFWgamepadstate</a> state;</div><div class="line"></div><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__input.html#gadccddea8bce6113fa459de379ddaf051">glfwGetGamepadState</a>(<a class="code" href="group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654">GLFW_JOYSTICK_3</a>, &amp;state))</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> (state.<a class="code" href="structGLFWgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a">buttons</a>[<a class="code" href="group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810">GLFW_GAMEPAD_BUTTON_A</a>])</div><div class="line"> {</div><div class="line"> input_jump();</div><div class="line"> }</div><div class="line"></div><div class="line"> input_speed(state.<a class="code" href="structGLFWgamepadstate.html#a8b2c8939b1d31458de5359998375c189">axes</a>[<a class="code" href="group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab">GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</a>]);</div><div class="line">}</div></div><!-- fragment --><p>The <a class="el" href="structGLFWgamepadstate.html">GLFWgamepadstate</a> struct has two arrays; one for button states and one for axis states. The values for each button and axis are the same as for the <a class="el" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a> and <a class="el" href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">glfwGetJoystickAxes</a> functions, i.e. <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code> for buttons and -1.0 to 1.0 inclusive for axes.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__input.html#ga5c71e3533b2d384db9317fcd7661b210">glfwGetGamepadName</a>(<a class="code" href="group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87">GLFW_JOYSTICK_7</a>);</div>
</div><!-- fragment --><p>To retrieve the gamepad state of a joystick, call <a class="el" href="group__input.html#gadccddea8bce6113fa459de379ddaf051">glfwGetGamepadState</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="structGLFWgamepadstate.html">GLFWgamepadstate</a> state;</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__input.html#gadccddea8bce6113fa459de379ddaf051">glfwGetGamepadState</a>(<a class="code" href="group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654">GLFW_JOYSTICK_3</a>, &amp;state))</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">if</span> (state.<a class="code" href="structGLFWgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a">buttons</a>[<a class="code" href="group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810">GLFW_GAMEPAD_BUTTON_A</a>])</div>
<div class="line"> {</div>
<div class="line"> input_jump();</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> input_speed(state.<a class="code" href="structGLFWgamepadstate.html#a8b2c8939b1d31458de5359998375c189">axes</a>[<a class="code" href="group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab">GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</a>]);</div>
<div class="line">}</div>
</div><!-- fragment --><p>The <a class="el" href="structGLFWgamepadstate.html">GLFWgamepadstate</a> struct has two arrays; one for button states and one for axis states. The values for each button and axis are the same as for the <a class="el" href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a> and <a class="el" href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">glfwGetJoystickAxes</a> functions, i.e. <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code> for buttons and -1.0 to 1.0 inclusive for axes.</p>
<p>The sizes of the arrays and the positions within each array are fixed.</p>
<p>The <a class="el" href="group__gamepad__buttons.html">button indices</a> are <code>GLFW_GAMEPAD_BUTTON_A</code>, <code>GLFW_GAMEPAD_BUTTON_B</code>, <code>GLFW_GAMEPAD_BUTTON_X</code>, <code>GLFW_GAMEPAD_BUTTON_Y</code>, <code>GLFW_GAMEPAD_BUTTON_LEFT_BUMPER</code>, <code>GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER</code>, <code>GLFW_GAMEPAD_BUTTON_BACK</code>, <code>GLFW_GAMEPAD_BUTTON_START</code>, <code>GLFW_GAMEPAD_BUTTON_GUIDE</code>, <code>GLFW_GAMEPAD_BUTTON_LEFT_THUMB</code>, <code>GLFW_GAMEPAD_BUTTON_RIGHT_THUMB</code>, <code>GLFW_GAMEPAD_BUTTON_DPAD_UP</code>, <code>GLFW_GAMEPAD_BUTTON_DPAD_RIGHT</code>, <code>GLFW_GAMEPAD_BUTTON_DPAD_DOWN</code> and <code>GLFW_GAMEPAD_BUTTON_DPAD_LEFT</code>.</p>
<p>For those who prefer, there are also the <code>GLFW_GAMEPAD_BUTTON_CROSS</code>, <code>GLFW_GAMEPAD_BUTTON_CIRCLE</code>, <code>GLFW_GAMEPAD_BUTTON_SQUARE</code> and <code>GLFW_GAMEPAD_BUTTON_TRIANGLE</code> aliases for the A, B, X and Y button indices.</p>
@@ -294,7 +415,10 @@ Gamepad input</h2>
<h2><a class="anchor" id="gamepad_mapping"></a>
Gamepad mappings</h2>
<p>GLFW contains a copy of the mappings available in <a href="https://github.com/gabomdq/SDL_GameControllerDB">SDL_GameControllerDB</a> at the time of release. Newer ones can be added at runtime with <a class="el" href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">glfwUpdateGamepadMappings</a>.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* mappings = load_file_contents(<span class="stringliteral">&quot;game/data/gamecontrollerdb.txt&quot;</span>);</div><div class="line"></div><div class="line"><a class="code" href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">glfwUpdateGamepadMappings</a>(mappings);</div></div><!-- fragment --><p>This function supports everything from single lines up to and including the unmodified contents of the whole <code>gamecontrollerdb.txt</code> file.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* mappings = load_file_contents(<span class="stringliteral">&quot;game/data/gamecontrollerdb.txt&quot;</span>);</div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">glfwUpdateGamepadMappings</a>(mappings);</div>
</div><!-- fragment --><p>This function supports everything from single lines up to and including the unmodified contents of the whole <code>gamecontrollerdb.txt</code> file.</p>
<p>Below is a description of the mapping format. Please keep in mind that <b>this description is not authoritative</b>. The format is defined by the SDL and SDL_GameControllerDB projects and their documentation and code takes precedence.</p>
<p>Each mapping is a single line of comma-separated values describing the GUID, name and layout of the gamepad. Lines that do not begin with a hexadecimal digit are ignored.</p>
<p>The first value is always the gamepad GUID, a 32 character long hexadecimal string that typically identifies its make, model, revision and the type of connection to the computer. When this information is not available, the GUID is generated using the gamepad name. GLFW uses the SDL 2.0.5+ GUID format but can convert from the older formats.</p>
@@ -307,30 +431,127 @@ Gamepad mappings</h2>
<p>The hat bit mask match the <a class="el" href="group__hat__state.html">hat states</a> in the joystick functions.</p>
<p>There is also the special <code>platform</code> field that specifies which platform the mapping is valid for. Possible values are <code>Windows</code>, <code>Mac OS X</code> and <code>Linux</code>.</p>
<p>Below is an example of what a gamepad mapping might look like. It is the one built into GLFW for Xbox controllers accessed via the XInput API on Windows. This example has been broken into several lines to fit on the page, but real gamepad mappings must be a single line.</p>
<div class="fragment"><div class="line">78696e70757401000000000000000000,XInput Gamepad (GLFW),platform:Windows,a:b0,</div><div class="line">b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,</div><div class="line">rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,</div><div class="line">righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,</div></div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>GLFW does not yet support the output range and modifiers <code>+</code> and <code>-</code> that were recently added to SDL. The input modifiers <code>+</code>, <code>-</code> and <code>~</code> are supported and described above.</dd></dl>
<div class="fragment"><div class="line">78696e70757401000000000000000000,XInput Gamepad (GLFW),platform:Windows,a:b0,</div>
<div class="line">b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,</div>
<div class="line">rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,</div>
<div class="line">righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,</div>
</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>GLFW does not yet support the output range and modifiers <code>+</code> and <code>-</code> that were recently added to SDL. The input modifiers <code>+</code>, <code>-</code> and <code>~</code> are supported and described above.</dd></dl>
<h1><a class="anchor" id="time"></a>
Time input</h1>
<p>GLFW provides high-resolution time input, in seconds, with <a class="el" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">double</span> seconds = <a class="code" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a>();</div></div><!-- fragment --><p>It returns the number of seconds since the timer was started when the library was initialized with <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>. The platform-specific time sources used usually have micro- or nanosecond resolution.</p>
<p>You can modify the reference time with <a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a>(4.0);</div></div><!-- fragment --><p>This sets the timer to the specified time, in seconds.</p>
<p>You can also access the raw timer value, measured in 1&#160;/&#160;frequency seconds, with <a class="el" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a>.</p>
<div class="fragment"><div class="line">uint64_t value = <a class="code" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a>();</div></div><!-- fragment --><p>The frequency of the raw timer varies depending on what time sources are available on the machine. You can query its frequency, in Hz, with <a class="el" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a>.</p>
<div class="fragment"><div class="line">uint64_t freqency = <a class="code" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a>();</div></div><!-- fragment --><h1><a class="anchor" id="clipboard"></a>
<div class="fragment"><div class="line"><span class="keywordtype">double</span> seconds = <a class="code" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a>();</div>
</div><!-- fragment --><p>It returns the number of seconds since the library was initialized with <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>. The platform-specific time sources used typically have micro- or nanosecond resolution.</p>
<p>You can modify the base time with <a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a>(4.0);</div>
</div><!-- fragment --><p>This sets the time to the specified time, in seconds, and it continues to count from there.</p>
<p>You can also access the raw timer used to implement the functions above, with <a class="el" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a>.</p>
<div class="fragment"><div class="line">uint64_t value = <a class="code" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a>();</div>
</div><!-- fragment --><p>This value is in 1&#160;/&#160;frequency seconds. The frequency of the raw timer varies depending on the operating system and hardware. You can query the frequency, in Hz, with <a class="el" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a>.</p>
<div class="fragment"><div class="line">uint64_t frequency = <a class="code" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a>();</div>
</div><!-- fragment --><h1><a class="anchor" id="clipboard"></a>
Clipboard input and output</h1>
<p>If the system clipboard contains a UTF-8 encoded string or if it can be converted to one, you can retrieve it with <a class="el" href="group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94">glfwGetClipboardString</a>. See the reference documentation for the lifetime of the returned string.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* text = <a class="code" href="group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94">glfwGetClipboardString</a>(NULL);</div><div class="line"><span class="keywordflow">if</span> (text)</div><div class="line">{</div><div class="line"> insert_text(text);</div><div class="line">}</div></div><!-- fragment --><p>If the clipboard is empty or if its contents could not be converted, <code>NULL</code> is returned.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* text = <a class="code" href="group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94">glfwGetClipboardString</a>(NULL);</div>
<div class="line"><span class="keywordflow">if</span> (text)</div>
<div class="line">{</div>
<div class="line"> insert_text(text);</div>
<div class="line">}</div>
</div><!-- fragment --><p>If the clipboard is empty or if its contents could not be converted, <code>NULL</code> is returned.</p>
<p>The contents of the system clipboard can be set to a UTF-8 encoded string with <a class="el" href="group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd">glfwSetClipboardString</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd">glfwSetClipboardString</a>(NULL, <span class="stringliteral">&quot;A string with words in it&quot;</span>);</div></div><!-- fragment --><h1><a class="anchor" id="path_drop"></a>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd">glfwSetClipboardString</a>(NULL, <span class="stringliteral">&quot;A string with words in it&quot;</span>);</div>
</div><!-- fragment --><h1><a class="anchor" id="path_drop"></a>
Path drop input</h1>
<p>If you wish to receive the paths of files and/or directories dropped on a window, set a file drop callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__input.html#ga41291bf15dd3ff564b3143aa6dc74a4b">glfwSetDropCallback</a>(window, drop_callback);</div></div><!-- fragment --><p>The callback function receives an array of paths encoded as UTF-8.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> drop_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> count, <span class="keyword">const</span> <span class="keywordtype">char</span>** paths)</div><div class="line">{</div><div class="line"> <span class="keywordtype">int</span> i;</div><div class="line"> <span class="keywordflow">for</span> (i = 0; i &lt; count; i++)</div><div class="line"> handle_dropped_file(paths[i]);</div><div class="line">}</div></div><!-- fragment --><p>The path array and its strings are only valid until the file drop callback returns, as they may have been generated specifically for that event. You need to make a deep copy of the array if you want to keep the paths. </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<div class="fragment"><div class="line"><a class="code" href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">glfwSetDropCallback</a>(window, drop_callback);</div>
</div><!-- fragment --><p>The callback function receives an array of paths encoded as UTF-8.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> drop_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> count, <span class="keyword">const</span> <span class="keywordtype">char</span>** paths)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordtype">int</span> i;</div>
<div class="line"> <span class="keywordflow">for</span> (i = 0; i &lt; count; i++)</div>
<div class="line"> handle_dropped_file(paths[i]);</div>
<div class="line">}</div>
</div><!-- fragment --><p>The path array and its strings are only valid until the file drop callback returns, as they may have been generated specifically for that event. You need to make a deep copy of the array if you want to keep the paths. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<div class="ttc" id="agroup__joysticks_html_ga20a9f4f3aaefed9ea5e66072fc588b87"><div class="ttname"><a href="group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87">GLFW_JOYSTICK_7</a></div><div class="ttdeci">#define GLFW_JOYSTICK_7</div><div class="ttdef"><b>Definition:</b> glfw3.h:566</div></div>
<div class="ttc" id="agroup__input_html_gadccddea8bce6113fa459de379ddaf051"><div class="ttname"><a href="group__input.html#gadccddea8bce6113fa459de379ddaf051">glfwGetGamepadState</a></div><div class="ttdeci">int glfwGetGamepadState(int jid, GLFWgamepadstate *state)</div><div class="ttdoc">Retrieves the state of the specified joystick remapped as a gamepad.</div></div>
<div class="ttc" id="aglfw3_8h_html_a2315b99a329ce53e6a13a9d46fd5ca88"><div class="ttname"><a href="glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88">GLFW_CURSOR_DISABLED</a></div><div class="ttdeci">#define GLFW_CURSOR_DISABLED</div><div class="ttdef"><b>Definition:</b> glfw3.h:1024</div></div>
<div class="ttc" id="aglfw3_8h_html_ae04dd25c8577e19fa8c97368561f6c68"><div class="ttname"><a href="glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68">GLFW_CURSOR_NORMAL</a></div><div class="ttdeci">#define GLFW_CURSOR_NORMAL</div><div class="ttdef"><b>Definition:</b> glfw3.h:1022</div></div>
<div class="ttc" id="aglfw3_8h_html_aade31da5b884a84a7625c6b059b9132c"><div class="ttname"><a href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a></div><div class="ttdeci">#define GLFW_CURSOR</div><div class="ttdef"><b>Definition:</b> glfw3.h:1016</div></div>
<div class="ttc" id="aglfw3_8h_html_ac4d5cb9d78de8573349c58763d53bf11"><div class="ttname"><a href="glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11">GLFW_CURSOR_HIDDEN</a></div><div class="ttdeci">#define GLFW_CURSOR_HIDDEN</div><div class="ttdef"><b>Definition:</b> glfw3.h:1023</div></div>
<div class="ttc" id="aglfw3_8h_html_ae3bbe2315b7691ab088159eb6c9110fc"><div class="ttname"><a href="glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc">GLFW_STICKY_KEYS</a></div><div class="ttdeci">#define GLFW_STICKY_KEYS</div><div class="ttdef"><b>Definition:</b> glfw3.h:1017</div></div>
<div class="ttc" id="agroup__joysticks_html_gae43281bc66d3fa5089fb50c3e7a28695"><div class="ttname"><a href="group__joysticks.html#gae43281bc66d3fa5089fb50c3e7a28695">GLFW_JOYSTICK_5</a></div><div class="ttdeci">#define GLFW_JOYSTICK_5</div><div class="ttdef"><b>Definition:</b> glfw3.h:564</div></div>
<div class="ttc" id="agroup__input_html_gaa6cf4e7a77158a3b8fd00328b1720a4a"><div class="ttname"><a href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a></div><div class="ttdeci">double glfwGetTime(void)</div><div class="ttdoc">Returns the GLFW time.</div></div>
<div class="ttc" id="agroup__input_html_gaed5104612f2fa8e66aa6e846652ad00f"><div class="ttname"><a href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">glfwUpdateGamepadMappings</a></div><div class="ttdeci">int glfwUpdateGamepadMappings(const char *string)</div><div class="ttdoc">Adds the specified SDL_GameControllerDB gamepad mappings.</div></div>
<div class="ttc" id="agroup__input_html_gafbe3e51f670320908cfe4e20d3e5559e"><div class="ttname"><a href="group__input.html#gafbe3e51f670320908cfe4e20d3e5559e">glfwGetJoystickName</a></div><div class="ttdeci">const char * glfwGetJoystickName(int jid)</div><div class="ttdoc">Returns the name of the specified joystick.</div></div>
<div class="ttc" id="agroup__input_html_gac1473feacb5996c01a7a5a33b5066704"><div class="ttname"><a href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">glfwGetMouseButton</a></div><div class="ttdeci">int glfwGetMouseButton(GLFWwindow *window, int button)</div><div class="ttdoc">Returns the last reported state of a mouse button for the specified window.</div></div>
<div class="ttc" id="agroup__input_html_ga67ddd1b7dcbbaff03e4a76c0ea67103a"><div class="ttname"><a href="group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a">glfwGetKeyScancode</a></div><div class="ttdeci">int glfwGetKeyScancode(int key)</div><div class="ttdoc">Returns the platform-specific scancode of the specified key.</div></div>
<div class="ttc" id="agroup__input_html_gafca356935e10135016aa49ffa464c355"><div class="ttname"><a href="group__input.html#gafca356935e10135016aa49ffa464c355">glfwCreateCursor</a></div><div class="ttdeci">GLFWcursor * glfwCreateCursor(const GLFWimage *image, int xhot, int yhot)</div><div class="ttdoc">Creates a custom cursor.</div></div>
<div class="ttc" id="agroup__input_html_ga2485743d0b59df3791c45951c4195265"><div class="ttname"><a href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a></div><div class="ttdeci">#define GLFW_PRESS</div><div class="ttdoc">The key or mouse button was pressed.</div><div class="ttdef"><b>Definition:</b> glfw3.h:306</div></div>
<div class="ttc" id="agroup__input_html_ga237a182e5ec0b21ce64543f3b5e7e2be"><div class="ttname"><a href="group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be">glfwGetKeyName</a></div><div class="ttdeci">const char * glfwGetKeyName(int key, int scancode)</div><div class="ttdoc">Returns the layout-specific name of the specified printable key.</div></div>
<div class="ttc" id="astructGLFWimage_html_a0b7d95368f0c80d5e5c9875057c7dbec"><div class="ttname"><a href="structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec">GLFWimage::height</a></div><div class="ttdeci">int height</div><div class="ttdef"><b>Definition:</b> glfw3.h:1694</div></div>
<div class="ttc" id="agroup__input_html_gaa92336e173da9c8834558b54ee80563b"><div class="ttname"><a href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a></div><div class="ttdeci">void glfwSetInputMode(GLFWwindow *window, int mode, int value)</div><div class="ttdoc">Sets an input option for the specified window.</div></div>
<div class="ttc" id="agroup__window_html_ga8665c71c6fa3d22425c6a0e8a3f89d8a"><div class="ttname"><a href="group__window.html#ga8665c71c6fa3d22425c6a0e8a3f89d8a">GLFW_HOVERED</a></div><div class="ttdeci">#define GLFW_HOVERED</div><div class="ttdoc">Mouse cursor hover window attribute.</div><div class="ttdef"><b>Definition:</b> glfw3.h:823</div></div>
<div class="ttc" id="agroup__window_html_ga3c96d80d363e67d13a41b5d1821f3242"><div class="ttname"><a href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a></div><div class="ttdeci">struct GLFWwindow GLFWwindow</div><div class="ttdoc">Opaque window object.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1152</div></div>
<div class="ttc" id="agroup__keys_html_gaa06a712e6202661fc03da5bdb7b6e545"><div class="ttname"><a href="group__keys.html#gaa06a712e6202661fc03da5bdb7b6e545">GLFW_KEY_W</a></div><div class="ttdeci">#define GLFW_KEY_W</div><div class="ttdef"><b>Definition:</b> glfw3.h:402</div></div>
<div class="ttc" id="agroup__keys_html_gabf48fcc3afbe69349df432b470c96ef2"><div class="ttname"><a href="group__keys.html#gabf48fcc3afbe69349df432b470c96ef2">GLFW_KEY_E</a></div><div class="ttdeci">#define GLFW_KEY_E</div><div class="ttdef"><b>Definition:</b> glfw3.h:384</div></div>
<div class="ttc" id="agroup__input_html_ga6ab84420974d812bee700e45284a723c"><div class="ttname"><a href="group__input.html#ga6ab84420974d812bee700e45284a723c">glfwSetMouseButtonCallback</a></div><div class="ttdeci">GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow *window, GLFWmousebuttonfun callback)</div><div class="ttdoc">Sets the mouse button callback.</div></div>
<div class="ttc" id="agroup__input_html_ga2d8d0634bb81c180899aeb07477a67ea"><div class="ttname"><a href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a></div><div class="ttdeci">const unsigned char * glfwGetJoystickHats(int jid, int *count)</div><div class="ttdoc">Returns the state of all hats of the specified joystick.</div></div>
<div class="ttc" id="agroup__input_html_ga5c71e3533b2d384db9317fcd7661b210"><div class="ttname"><a href="group__input.html#ga5c71e3533b2d384db9317fcd7661b210">glfwGetGamepadName</a></div><div class="ttdeci">const char * glfwGetGamepadName(int jid)</div><div class="ttdoc">Returns the human-readable gamepad name for the specified joystick.</div></div>
<div class="ttc" id="agroup__joysticks_html_ga34a0443d059e9f22272cd4669073f73d"><div class="ttname"><a href="group__joysticks.html#ga34a0443d059e9f22272cd4669073f73d">GLFW_JOYSTICK_1</a></div><div class="ttdeci">#define GLFW_JOYSTICK_1</div><div class="ttdef"><b>Definition:</b> glfw3.h:560</div></div>
<div class="ttc" id="agroup__input_html_gaf59589ef6e8b8c8b5ad184b25afd4dc0"><div class="ttname"><a href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a></div><div class="ttdeci">void glfwSetTime(double time)</div><div class="ttdoc">Sets the GLFW time.</div></div>
<div class="ttc" id="agroup__input_html_ga01d37b6c40133676b9cea60ca1d7c0cc"><div class="ttname"><a href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a></div><div class="ttdeci">void glfwGetCursorPos(GLFWwindow *window, double *xpos, double *ypos)</div><div class="ttdoc">Retrieves the position of the cursor relative to the content area of the window.</div></div>
<div class="ttc" id="agroup__input_html_gad0f676860f329d80f7e47e9f06a96f00"><div class="ttname"><a href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">glfwJoystickIsGamepad</a></div><div class="ttdeci">int glfwJoystickIsGamepad(int jid)</div><div class="ttdoc">Returns whether the specified joystick has a gamepad mapping.</div></div>
<div class="ttc" id="agroup__window_html_ga37bd57223967b4211d60ca1a0bf3c832"><div class="ttname"><a href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a></div><div class="ttdeci">void glfwPollEvents(void)</div><div class="ttdoc">Processes all pending events.</div></div>
<div class="ttc" id="agroup__window_html_ga554e37d781f0a997656c26b2c56c835e"><div class="ttname"><a href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a></div><div class="ttdeci">void glfwWaitEvents(void)</div><div class="ttdoc">Waits until events are queued and processes them.</div></div>
<div class="ttc" id="agroup__input_html_ga81b952cd1764274d0db7fb3c5a79ba6a"><div class="ttname"><a href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">glfwDestroyCursor</a></div><div class="ttdeci">void glfwDestroyCursor(GLFWcursor *cursor)</div><div class="ttdoc">Destroys a cursor.</div></div>
<div class="ttc" id="agroup__input_html_gadb3cbf44af90a1536f519659a53bddd6"><div class="ttname"><a href="group__input.html#gadb3cbf44af90a1536f519659a53bddd6">glfwGetJoystickButtons</a></div><div class="ttdeci">const unsigned char * glfwGetJoystickButtons(int jid, int *count)</div><div class="ttdoc">Returns the state of all buttons of the specified joystick.</div></div>
<div class="ttc" id="aglfw3_8h_html_a4d7ce8ce71030c3b04e2b78145bc59d1"><div class="ttname"><a href="glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1">GLFW_STICKY_MOUSE_BUTTONS</a></div><div class="ttdeci">#define GLFW_STICKY_MOUSE_BUTTONS</div><div class="ttdef"><b>Definition:</b> glfw3.h:1018</div></div>
<div class="ttc" id="agroup__input_html_gab25c4a220fd8f5717718dbc487828996"><div class="ttname"><a href="group__input.html#gab25c4a220fd8f5717718dbc487828996">glfwSetCharCallback</a></div><div class="ttdeci">GLFWcharfun glfwSetCharCallback(GLFWwindow *window, GLFWcharfun callback)</div><div class="ttdoc">Sets the Unicode character callback.</div></div>
<div class="ttc" id="agroup__input_html_ga5aba1d704d9ab539282b1fbe9f18bb94"><div class="ttname"><a href="group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94">glfwGetClipboardString</a></div><div class="ttdeci">const char * glfwGetClipboardString(GLFWwindow *window)</div><div class="ttdoc">Returns the contents of the clipboard as a string.</div></div>
<div class="ttc" id="agroup__input_html_gad27f8ad0142c038a281466c0966817d8"><div class="ttname"><a href="group__input.html#gad27f8ad0142c038a281466c0966817d8">glfwSetCursorEnterCallback</a></div><div class="ttdeci">GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow *window, GLFWcursorenterfun callback)</div><div class="ttdoc">Sets the cursor enter/leave callback.</div></div>
<div class="ttc" id="agroup__input_html_gad3b4f38c8d5dae036bc8fa959e18343e"><div class="ttname"><a href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a></div><div class="ttdeci">void glfwSetCursor(GLFWwindow *window, GLFWcursor *cursor)</div><div class="ttdoc">Sets the cursor for the window.</div></div>
<div class="ttc" id="agroup__input_html_gae4ee0dbd0d256183e1ea4026d897e1c2"><div class="ttname"><a href="group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2">glfwRawMouseMotionSupported</a></div><div class="ttdeci">int glfwRawMouseMotionSupported(void)</div><div class="ttdoc">Returns whether raw mouse motion is supported.</div></div>
<div class="ttc" id="astructGLFWimage_html_a0c532a5c2bb715555279b7817daba0fb"><div class="ttname"><a href="structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb">GLFWimage::pixels</a></div><div class="ttdeci">unsigned char * pixels</div><div class="ttdef"><b>Definition:</b> glfw3.h:1697</div></div>
<div class="ttc" id="agroup__gamepad__axes_html_ga121a7d5d20589a423cd1634dd6ee6eab"><div class="ttname"><a href="group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab">GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</a></div><div class="ttdeci">#define GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</div><div class="ttdef"><b>Definition:</b> glfw3.h:621</div></div>
<div class="ttc" id="agroup__joysticks_html_ga97ddbcad02b7f48d74fad4ddb08fff59"><div class="ttname"><a href="group__joysticks.html#ga97ddbcad02b7f48d74fad4ddb08fff59">GLFW_JOYSTICK_4</a></div><div class="ttdeci">#define GLFW_JOYSTICK_4</div><div class="ttdef"><b>Definition:</b> glfw3.h:563</div></div>
<div class="ttc" id="agroup__init_html_ga2744fbb29b5631bb28802dbe0cf36eba"><div class="ttname"><a href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a></div><div class="ttdeci">#define GLFW_TRUE</div><div class="ttdoc">One.</div><div class="ttdef"><b>Definition:</b> glfw3.h:280</div></div>
<div class="ttc" id="agroup__input_html_gaed0966cee139d815317f9ffcba64c9f1"><div class="ttname"><a href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a></div><div class="ttdeci">int glfwJoystickPresent(int jid)</div><div class="ttdoc">Returns whether the specified joystick is present.</div></div>
<div class="ttc" id="astructGLFWgamepadstate_html_a27e9896b51c65df15fba2c7139bfdb9a"><div class="ttname"><a href="structGLFWgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a">GLFWgamepadstate::buttons</a></div><div class="ttdeci">unsigned char buttons[15]</div><div class="ttdef"><b>Definition:</b> glfw3.h:1716</div></div>
<div class="ttc" id="aglfw3_8h_html_aab64b25921ef21d89252d6f0a71bfc32"><div class="ttname"><a href="glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32">GLFW_DISCONNECTED</a></div><div class="ttdeci">#define GLFW_DISCONNECTED</div><div class="ttdef"><b>Definition:</b> glfw3.h:1075</div></div>
<div class="ttc" id="agroup__gamepad__buttons_html_gae055a12fbf4b48b5954c8e1cd129b810"><div class="ttname"><a href="group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810">GLFW_GAMEPAD_BUTTON_A</a></div><div class="ttdeci">#define GLFW_GAMEPAD_BUTTON_A</div><div class="ttdef"><b>Definition:</b> glfw3.h:586</div></div>
<div class="ttc" id="agroup__input_html_ga09b2bd37d328e0b9456c7ec575cc26aa"><div class="ttname"><a href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a></div><div class="ttdeci">uint64_t glfwGetTimerValue(void)</div><div class="ttdoc">Returns the current value of the raw timer.</div></div>
<div class="ttc" id="agroup__input_html_gac1f879ab7435d54d4d79bb469fe225d7"><div class="ttname"><a href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">glfwSetCursorPosCallback</a></div><div class="ttdeci">GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow *window, GLFWcursorposfun callback)</div><div class="ttdoc">Sets the cursor position callback.</div></div>
<div class="ttc" id="agroup__input_html_ga3289ee876572f6e91f06df3a24824443"><div class="ttname"><a href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a></div><div class="ttdeci">uint64_t glfwGetTimerFrequency(void)</div><div class="ttdoc">Returns the frequency, in Hz, of the raw timer.</div></div>
<div class="ttc" id="agroup__buttons_html_gaf37100431dcd5082d48f95ee8bc8cd56"><div class="ttname"><a href="group__buttons.html#gaf37100431dcd5082d48f95ee8bc8cd56">GLFW_MOUSE_BUTTON_LEFT</a></div><div class="ttdeci">#define GLFW_MOUSE_BUTTON_LEFT</div><div class="ttdef"><b>Definition:</b> glfw3.h:548</div></div>
<div class="ttc" id="astructGLFWimage_html_af6a71cc999fe6d3aea31dd7e9687d835"><div class="ttname"><a href="structGLFWimage.html#af6a71cc999fe6d3aea31dd7e9687d835">GLFWimage::width</a></div><div class="ttdeci">int width</div><div class="ttdef"><b>Definition:</b> glfw3.h:1691</div></div>
<div class="ttc" id="agroup__window_html_ga605a178db92f1a7f1a925563ef3ea2cf"><div class="ttname"><a href="group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf">glfwWaitEventsTimeout</a></div><div class="ttdeci">void glfwWaitEventsTimeout(double timeout)</div><div class="ttdoc">Waits with timeout until events are queued and processes them.</div></div>
<div class="ttc" id="agroup__input_html_ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c"><div class="ttname"><a href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">glfwSetJoystickCallback</a></div><div class="ttdeci">GLFWjoystickfun glfwSetJoystickCallback(GLFWjoystickfun callback)</div><div class="ttdoc">Sets the joystick configuration callback.</div></div>
<div class="ttc" id="astructGLFWgamepadstate_html"><div class="ttname"><a href="structGLFWgamepadstate.html">GLFWgamepadstate</a></div><div class="ttdoc">Gamepad input state.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1711</div></div>
<div class="ttc" id="agroup__joysticks_html_gae6f3eedfeb42424c2f5e3161efb0b654"><div class="ttname"><a href="group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654">GLFW_JOYSTICK_3</a></div><div class="ttdeci">#define GLFW_JOYSTICK_3</div><div class="ttdef"><b>Definition:</b> glfw3.h:562</div></div>
<div class="ttc" id="agroup__input_html_ga89261ae18c75e863aaf2656ecdd238f4"><div class="ttname"><a href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a></div><div class="ttdeci">struct GLFWcursor GLFWcursor</div><div class="ttdoc">Opaque cursor object.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1164</div></div>
<div class="ttc" id="aglfw3_8h_html_aeeda1be76a44a1fc97c1282e06281fbb"><div class="ttname"><a href="glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb">GLFW_RAW_MOUSE_MOTION</a></div><div class="ttdeci">#define GLFW_RAW_MOUSE_MOTION</div><div class="ttdef"><b>Definition:</b> glfw3.h:1020</div></div>
<div class="ttc" id="agroup__input_html_gaa65f416d03ebbbb5b8db71a489fcb894"><div class="ttname"><a href="group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894">glfwCreateStandardCursor</a></div><div class="ttdeci">GLFWcursor * glfwCreateStandardCursor(int shape)</div><div class="ttdoc">Creates a cursor with a standard shape.</div></div>
<div class="ttc" id="astructGLFWgamepadstate_html_a8b2c8939b1d31458de5359998375c189"><div class="ttname"><a href="structGLFWgamepadstate.html#a8b2c8939b1d31458de5359998375c189">GLFWgamepadstate::axes</a></div><div class="ttdeci">float axes[6]</div><div class="ttdef"><b>Definition:</b> glfw3.h:1720</div></div>
<div class="ttc" id="astructGLFWimage_html"><div class="ttname"><a href="structGLFWimage.html">GLFWimage</a></div><div class="ttdoc">Image data.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1687</div></div>
<div class="ttc" id="agroup__shapes_html_gabb3eb0109f11bb808fc34659177ca962"><div class="ttname"><a href="group__shapes.html#gabb3eb0109f11bb808fc34659177ca962">GLFW_HRESIZE_CURSOR</a></div><div class="ttdeci">#define GLFW_HRESIZE_CURSOR</div><div class="ttdoc">The horizontal resize arrow shape.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1066</div></div>
<div class="ttc" id="aglfw3_8h_html_abe11513fd1ffbee5bb9b173f06028b9e"><div class="ttname"><a href="glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e">GLFW_CONNECTED</a></div><div class="ttdeci">#define GLFW_CONNECTED</div><div class="ttdef"><b>Definition:</b> glfw3.h:1074</div></div>
<div class="ttc" id="agroup__input_html_gab773f0ee0a07cff77a210cea40bc1f6b"><div class="ttname"><a href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">glfwSetDropCallback</a></div><div class="ttdeci">GLFWdropfun glfwSetDropCallback(GLFWwindow *window, GLFWdropfun callback)</div><div class="ttdoc">Sets the path drop callback.</div></div>
<div class="ttc" id="agroup__input_html_ga1caf18159767e761185e49a3be019f8d"><div class="ttname"><a href="group__input.html#ga1caf18159767e761185e49a3be019f8d">glfwSetKeyCallback</a></div><div class="ttdeci">GLFWkeyfun glfwSetKeyCallback(GLFWwindow *window, GLFWkeyfun callback)</div><div class="ttdoc">Sets the key callback.</div></div>
<div class="ttc" id="agroup__hat__state_html_ga252586e3bbde75f4b0e07ad3124867f5"><div class="ttname"><a href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a></div><div class="ttdeci">#define GLFW_HAT_RIGHT</div><div class="ttdef"><b>Definition:</b> glfw3.h:325</div></div>
<div class="ttc" id="agroup__joysticks_html_ga6eab65ec88e65e0850ef8413504cb50c"><div class="ttname"><a href="group__joysticks.html#ga6eab65ec88e65e0850ef8413504cb50c">GLFW_JOYSTICK_2</a></div><div class="ttdeci">#define GLFW_JOYSTICK_2</div><div class="ttdef"><b>Definition:</b> glfw3.h:561</div></div>
<div class="ttc" id="agroup__buttons_html_ga3e2f2cf3c4942df73cc094247d275e74"><div class="ttname"><a href="group__buttons.html#ga3e2f2cf3c4942df73cc094247d275e74">GLFW_MOUSE_BUTTON_RIGHT</a></div><div class="ttdeci">#define GLFW_MOUSE_BUTTON_RIGHT</div><div class="ttdef"><b>Definition:</b> glfw3.h:549</div></div>
<div class="ttc" id="agroup__window_html_gab5997a25187e9fd5c6f2ecbbc8dfd7e9"><div class="ttname"><a href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a></div><div class="ttdeci">void glfwPostEmptyEvent(void)</div><div class="ttdoc">Posts an empty event to the event queue.</div></div>
<div class="ttc" id="agroup__window_html_gacccb29947ea4b16860ebef42c2cb9337"><div class="ttname"><a href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a></div><div class="ttdeci">int glfwGetWindowAttrib(GLFWwindow *window, int attrib)</div><div class="ttdoc">Returns an attribute of the specified window.</div></div>
<div class="ttc" id="agroup__input_html_ga571e45a030ae4061f746ed56cb76aede"><div class="ttname"><a href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">glfwSetScrollCallback</a></div><div class="ttdeci">GLFWscrollfun glfwSetScrollCallback(GLFWwindow *window, GLFWscrollfun callback)</div><div class="ttdoc">Sets the scroll callback.</div></div>
<div class="ttc" id="agroup__input_html_gadd341da06bc8d418b4dc3a3518af9ad2"><div class="ttname"><a href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a></div><div class="ttdeci">int glfwGetKey(GLFWwindow *window, int key)</div><div class="ttdoc">Returns the last reported state of a keyboard key for the specified window.</div></div>
<div class="ttc" id="agroup__input_html_gaa8806536731e92c061bc70bcff6edbd0"><div class="ttname"><a href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">glfwGetJoystickAxes</a></div><div class="ttdeci">const float * glfwGetJoystickAxes(int jid, int *count)</div><div class="ttdoc">Returns the values of all axes of the specified joystick.</div></div>
<div class="ttc" id="agroup__input_html_gaba1f022c5eb07dfac421df34cdcd31dd"><div class="ttname"><a href="group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd">glfwSetClipboardString</a></div><div class="ttdeci">void glfwSetClipboardString(GLFWwindow *window, const char *string)</div><div class="ttdoc">Sets the clipboard to the specified string.</div></div>
<div class="ttc" id="agroup__keys_html_gac1c42c0bf4192cea713c55598b06b744"><div class="ttname"><a href="group__keys.html#gac1c42c0bf4192cea713c55598b06b744">GLFW_KEY_X</a></div><div class="ttdeci">#define GLFW_KEY_X</div><div class="ttdef"><b>Definition:</b> glfw3.h:403</div></div>
<div class="ttc" id="aglfw3_8h_html_a07b84de0b52143e1958f88a7d9105947"><div class="ttname"><a href="glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947">GLFW_LOCK_KEY_MODS</a></div><div class="ttdeci">#define GLFW_LOCK_KEY_MODS</div><div class="ttdef"><b>Definition:</b> glfw3.h:1019</div></div>
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: intro.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Introduction to the API</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -106,7 +106,7 @@ Initialization and termination</h1>
<li><a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a></li>
<li><a class="el" href="group__init.html#ga23d47dc013fce2bf58036da66079a657">glfwGetVersionString</a></li>
<li><a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a></li>
<li><a class="el" href="group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f">glfwSetErrorCallback</a></li>
<li><a class="el" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a></li>
<li><a class="el" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a></li>
<li><a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a></li>
<li><a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a></li>
@@ -115,12 +115,17 @@ Initialization and termination</h1>
<h2><a class="anchor" id="intro_init_init"></a>
Initializing GLFW</h2>
<p>The library is initialized with <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>, which returns <code>GLFW_FALSE</code> if an error occurred.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (!<a class="code" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>())</div><div class="line">{</div><div class="line"> <span class="comment">// Handle initialization failure</span></div><div class="line">}</div></div><!-- fragment --><p>If any part of initialization fails, any parts that succeeded are terminated as if <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> had been called. The library only needs to be initialized once and additional calls to an already initialized library will return <code>GLFW_TRUE</code> immediately.</p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (!<a class="code" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>())</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// Handle initialization failure</span></div>
<div class="line">}</div>
</div><!-- fragment --><p>If any part of initialization fails, any parts that succeeded are terminated as if <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> had been called. The library only needs to be initialized once and additional calls to an already initialized library will return <code>GLFW_TRUE</code> immediately.</p>
<p>Once the library has been successfully initialized, it should be terminated before the application exits. Modern systems are very good at freeing resources allocated by programs that exit, but GLFW sometimes has to change global system settings and these might not be restored without termination.</p>
<h2><a class="anchor" id="init_hints"></a>
Initialization hints</h2>
<p>Initialization hints are set before <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> and affect how the library behaves until termination. Hints are set with <a class="el" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a>(<a class="code" href="group__init.html#gab9c0534709fda03ec8959201da3a9a18">GLFW_JOYSTICK_HAT_BUTTONS</a>, <a class="code" href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a>);</div></div><!-- fragment --><p>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.</p>
<div class="fragment"><div class="line"><a class="code" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a>(<a class="code" href="group__init.html#gab9c0534709fda03ec8959201da3a9a18">GLFW_JOYSTICK_HAT_BUTTONS</a>, <a class="code" href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a>);</div>
</div><!-- fragment --><p>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.</p>
<p>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.</p>
<h3><a class="anchor" id="init_hints_shared"></a>
Shared init hints</h3>
@@ -144,27 +149,41 @@ Supported and default values</h3>
<h2><a class="anchor" id="intro_init_terminate"></a>
Terminating GLFW</h2>
<p>Before your application exits, you should terminate the GLFW library if it has been initialized. This is done with <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>();</div></div><!-- fragment --><p>This will destroy any remaining window, monitor and cursor objects, restore any modified gamma ramps, re-enable the screensaver if it had been disabled and free any other resources allocated by GLFW.</p>
<div class="fragment"><div class="line"><a class="code" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>();</div>
</div><!-- fragment --><p>This will destroy any remaining window, monitor and cursor objects, restore any modified gamma ramps, re-enable the screensaver if it had been disabled and free any other resources allocated by GLFW.</p>
<p>Once the library is terminated, it is as if it had never been initialized and you will need to initialize it again before being able to use GLFW. If the library was not initialized or had already been terminated, it return immediately.</p>
<h1><a class="anchor" id="error_handling"></a>
Error handling</h1>
<p>Some GLFW functions have return values that indicate an error, but this is often not very helpful when trying to figure out what happened or why it occurred. Other functions have no return value reserved for errors, so error notification needs a separate channel. Finally, far from all GLFW functions have return values.</p>
<p>The last <a class="el" href="group__errors.html">error code</a> for the calling thread can be queried at any time with <a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> code = <a class="code" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a>(NULL);</div><div class="line"></div><div class="line"><span class="keywordflow">if</span> (code != <a class="code" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a>)</div><div class="line"> handle_error(code);</div></div><!-- fragment --><p>If no error has occurred since the last call, <a class="el" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a> (zero) is returned. The error is cleared before the function returns.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> code = <a class="code" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a>(NULL);</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">if</span> (code != <a class="code" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a>)</div>
<div class="line"> handle_error(code);</div>
</div><!-- fragment --><p>If no error has occurred since the last call, <a class="el" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a> (zero) is returned. The error is cleared before the function returns.</p>
<p>The error code indicates the general category of the error. Some error codes, such as <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a> has only a single meaning, whereas others like <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a> are used for many different errors.</p>
<p>GLFW often has more information about an error than its general category. You can retrieve a UTF-8 encoded human-readable description along with the error code. If no error has occurred since the last call, the description is set to <code>NULL</code>.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* description;</div><div class="line"><span class="keywordtype">int</span> code = <a class="code" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a>(&amp;description);</div><div class="line"></div><div class="line"><span class="keywordflow">if</span> (description)</div><div class="line"> display_error_message(code, description);</div></div><!-- fragment --><p>The retrieved description string is only valid until the next error occurs. This means you must make a copy of it if you want to keep it.</p>
<p>You can also set an error callback, which will be called each time an error occurs. It is set with <a class="el" href="group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f">glfwSetErrorCallback</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f">glfwSetErrorCallback</a>(error_callback);</div></div><!-- fragment --><p>The error callback receives the same error code and human-readable description returned by <a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> error_callback(<span class="keywordtype">int</span> code, <span class="keyword">const</span> <span class="keywordtype">char</span>* description)</div><div class="line">{</div><div class="line"> display_error_message(code, description);</div><div class="line">}</div></div><!-- fragment --><p>The error callback is called after the error is stored, so calling <a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a> from within the error callback returns the same values as the callback argument.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* description;</div>
<div class="line"><span class="keywordtype">int</span> code = <a class="code" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a>(&amp;description);</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">if</span> (description)</div>
<div class="line"> display_error_message(code, description);</div>
</div><!-- fragment --><p>The retrieved description string is only valid until the next error occurs. This means you must make a copy of it if you want to keep it.</p>
<p>You can also set an error callback, which will be called each time an error occurs. It is set with <a class="el" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a>.</p>
<div class="fragment"><div class="line"><a class="code" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a>(error_callback);</div>
</div><!-- fragment --><p>The error callback receives the same error code and human-readable description returned by <a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> error_callback(<span class="keywordtype">int</span> code, <span class="keyword">const</span> <span class="keywordtype">char</span>* description)</div>
<div class="line">{</div>
<div class="line"> display_error_message(code, description);</div>
<div class="line">}</div>
</div><!-- fragment --><p>The error callback is called after the error is stored, so calling <a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a> from within the error callback returns the same values as the callback argument.</p>
<p>The description string passed to the callback is only valid until the error callback returns. This means you must make a copy of it if you want to keep it.</p>
<p><b>Reported errors are never fatal.</b> As long as GLFW was successfully initialized, it will remain initialized and in a safe state until terminated regardless of how many errors occur. If an error occurs during initialization that causes <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> to fail, any part of the library that was initialized will be safely terminated.</p>
<p>Do not rely on a currently invalid call to generate a specific error, as in the future that same call may generate a different error or become valid.</p>
<h1><a class="anchor" id="coordinate_systems"></a>
Coordinate systems</h1>
<p>GLFW has two primary coordinate systems: the <em>virtual screen</em> and the window <em>content area</em> or <em>content area</em>. Both use the same unit: <em>virtual screen coordinates</em>, or just <em>screen coordinates</em>, which don't necessarily correspond to pixels.</p>
<object type="image/svg+xml" data="spaces.svg" width="90%"></object>
/>
<p><img src="spaces.svg" alt="" width="90%" class="inline"/></p>
<p>Both the virtual screen and the content area coordinate systems have the X-axis pointing to the right and the Y-axis pointing down.</p>
<p>Window and monitor positions are specified as the position of the upper-left corners of their content areas relative to the virtual screen, while cursor positions are specified relative to a window's content area.</p>
<p>Because the origin of the window's content area coordinate system is also the point from which the window position is specified, you can translate content area coordinates to the virtual screen by adding the window position. The window frame, when present, extends out from the content area but does not affect the window position.</p>
@@ -262,10 +281,18 @@ Version management</h1>
<h2><a class="anchor" id="intro_version_compile"></a>
Compile-time version</h2>
<p>The compile-time version of GLFW is provided by the GLFW header with the <code>GLFW_VERSION_MAJOR</code>, <code>GLFW_VERSION_MINOR</code> and <code>GLFW_VERSION_REVISION</code> macros.</p>
<div class="fragment"><div class="line">printf(<span class="stringliteral">&quot;Compiled against GLFW %i.%i.%i\n&quot;</span>,</div><div class="line"> <a class="code" href="group__init.html#ga6337d9ea43b22fc529b2bba066b4a576">GLFW_VERSION_MAJOR</a>,</div><div class="line"> <a class="code" href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">GLFW_VERSION_MINOR</a>,</div><div class="line"> <a class="code" href="group__init.html#gab72ae2e2035d9ea461abc3495eac0502">GLFW_VERSION_REVISION</a>);</div></div><!-- fragment --><h2><a class="anchor" id="intro_version_runtime"></a>
<div class="fragment"><div class="line">printf(<span class="stringliteral">&quot;Compiled against GLFW %i.%i.%i\n&quot;</span>,</div>
<div class="line"> <a class="code" href="group__init.html#ga6337d9ea43b22fc529b2bba066b4a576">GLFW_VERSION_MAJOR</a>,</div>
<div class="line"> <a class="code" href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">GLFW_VERSION_MINOR</a>,</div>
<div class="line"> <a class="code" href="group__init.html#gab72ae2e2035d9ea461abc3495eac0502">GLFW_VERSION_REVISION</a>);</div>
</div><!-- fragment --><h2><a class="anchor" id="intro_version_runtime"></a>
Run-time version</h2>
<p>The run-time version can be retrieved with <a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a>, a function that may be called regardless of whether GLFW is initialized.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> major, minor, revision;</div><div class="line"><a class="code" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a>(&amp;major, &amp;minor, &amp;revision);</div><div class="line"></div><div class="line">printf(<span class="stringliteral">&quot;Running against GLFW %i.%i.%i\n&quot;</span>, major, minor, revision);</div></div><!-- fragment --><h2><a class="anchor" id="intro_version_string"></a>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> major, minor, revision;</div>
<div class="line"><a class="code" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a>(&amp;major, &amp;minor, &amp;revision);</div>
<div class="line"> </div>
<div class="line">printf(<span class="stringliteral">&quot;Running against GLFW %i.%i.%i\n&quot;</span>, major, minor, revision);</div>
</div><!-- fragment --><h2><a class="anchor" id="intro_version_string"></a>
Version string</h2>
<p>GLFW 3 also provides a compile-time generated version string that describes the version, platform, compiler and any platform-specific compile-time options. This is primarily intended for submitting bug reports, to allow developers to see which code paths are enabled in a binary.</p>
<p>The version string is returned by <a class="el" href="group__init.html#ga23d47dc013fce2bf58036da66079a657">glfwGetVersionString</a>, a function that may be called regardless of whether GLFW is initialized.</p>
@@ -277,11 +304,24 @@ Version string</h2>
<li>Any additional options or APIs</li>
</ul>
<p>For example, when compiling GLFW 3.0 with MinGW using the Win32 and WGL back ends, the version string may look something like this:</p>
<div class="fragment"><div class="line">3.0.0 Win32 WGL MinGW</div></div><!-- fragment --> </div></div><!-- PageDoc -->
</div><!-- contents -->
<div class="fragment"><div class="line">3.0.0 Win32 WGL MinGW</div>
</div><!-- fragment --> </div></div><!-- contents -->
</div><!-- PageDoc -->
<div class="ttc" id="agroup__init_html_ga944986b4ec0b928d488141f92982aa18"><div class="ttname"><a href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a></div><div class="ttdeci">int glfwGetError(const char **description)</div><div class="ttdoc">Returns and clears the last error for the calling thread.</div></div>
<div class="ttc" id="agroup__init_html_gaaae48c0a18607ea4a4ba951d939f0901"><div class="ttname"><a href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a></div><div class="ttdeci">void glfwTerminate(void)</div><div class="ttdoc">Terminates the GLFW library.</div></div>
<div class="ttc" id="agroup__init_html_ga110fd1d3f0412822b4f1908c026f724a"><div class="ttname"><a href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a></div><div class="ttdeci">void glfwInitHint(int hint, int value)</div><div class="ttdoc">Sets the specified init hint to the desired value.</div></div>
<div class="ttc" id="agroup__init_html_gac877fe3b627d21ef3a0a23e0a73ba8c5"><div class="ttname"><a href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a></div><div class="ttdeci">#define GLFW_FALSE</div><div class="ttdoc">Zero.</div><div class="ttdef"><b>Definition:</b> glfw3.h:289</div></div>
<div class="ttc" id="agroup__init_html_gaf80d40f0aea7088ff337606e9c48f7a3"><div class="ttname"><a href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">GLFW_VERSION_MINOR</a></div><div class="ttdeci">#define GLFW_VERSION_MINOR</div><div class="ttdoc">The minor version number of the GLFW library.</div><div class="ttdef"><b>Definition:</b> glfw3.h:262</div></div>
<div class="ttc" id="agroup__init_html_gab72ae2e2035d9ea461abc3495eac0502"><div class="ttname"><a href="group__init.html#gab72ae2e2035d9ea461abc3495eac0502">GLFW_VERSION_REVISION</a></div><div class="ttdeci">#define GLFW_VERSION_REVISION</div><div class="ttdoc">The revision number of the GLFW library.</div><div class="ttdef"><b>Definition:</b> glfw3.h:269</div></div>
<div class="ttc" id="agroup__init_html_gab9c0534709fda03ec8959201da3a9a18"><div class="ttname"><a href="group__init.html#gab9c0534709fda03ec8959201da3a9a18">GLFW_JOYSTICK_HAT_BUTTONS</a></div><div class="ttdeci">#define GLFW_JOYSTICK_HAT_BUTTONS</div><div class="ttdoc">Joystick hat buttons init hint.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1083</div></div>
<div class="ttc" id="agroup__init_html_ga317aac130a235ab08c6db0834907d85e"><div class="ttname"><a href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a></div><div class="ttdeci">int glfwInit(void)</div><div class="ttdoc">Initializes the GLFW library.</div></div>
<div class="ttc" id="agroup__init_html_ga6337d9ea43b22fc529b2bba066b4a576"><div class="ttname"><a href="group__init.html#ga6337d9ea43b22fc529b2bba066b4a576">GLFW_VERSION_MAJOR</a></div><div class="ttdeci">#define GLFW_VERSION_MAJOR</div><div class="ttdoc">The major version number of the GLFW library.</div><div class="ttdef"><b>Definition:</b> glfw3.h:255</div></div>
<div class="ttc" id="agroup__init_html_gaff45816610d53f0b83656092a4034f40"><div class="ttname"><a href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a></div><div class="ttdeci">GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback)</div><div class="ttdoc">Sets the error callback.</div></div>
<div class="ttc" id="agroup__init_html_ga9f8ffaacf3c269cc48eafbf8b9b71197"><div class="ttname"><a href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a></div><div class="ttdeci">void glfwGetVersion(int *major, int *minor, int *rev)</div><div class="ttdoc">Retrieves the version of the GLFW library.</div></div>
<div class="ttc" id="agroup__errors_html_gafa30deee5db4d69c4c93d116ed87dbf4"><div class="ttname"><a href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a></div><div class="ttdeci">#define GLFW_NO_ERROR</div><div class="ttdoc">No error has occurred.</div><div class="ttdef"><b>Definition:</b> glfw3.h:638</div></div>
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

File diff suppressed because one or more lines are too long

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: main.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -86,7 +86,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: monitor.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Monitor guide</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -97,41 +97,68 @@ Monitor objects</h1>
<h2><a class="anchor" id="monitor_monitors"></a>
Retrieving monitors</h2>
<p>The primary monitor is returned by <a class="el" href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a>. It is the user's preferred monitor and is usually the one with global UI elements like task bar or menu bar.</p>
<div class="fragment"><div class="line"><a class="code" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* primary = <a class="code" href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a>();</div></div><!-- fragment --><p>You can retrieve all currently connected monitors with <a class="el" href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">glfwGetMonitors</a>. See the reference documentation for the lifetime of the returned array.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div><div class="line"><a class="code" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>** monitors = <a class="code" href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">glfwGetMonitors</a>(&amp;count);</div></div><!-- fragment --><p>The primary monitor is always the first monitor in the returned array, but other monitors may be moved to a different index when a monitor is connected or disconnected.</p>
<div class="fragment"><div class="line"><a class="code" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* primary = <a class="code" href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a>();</div>
</div><!-- fragment --><p>You can retrieve all currently connected monitors with <a class="el" href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">glfwGetMonitors</a>. See the reference documentation for the lifetime of the returned array.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div>
<div class="line"><a class="code" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>** monitors = <a class="code" href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">glfwGetMonitors</a>(&amp;count);</div>
</div><!-- fragment --><p>The primary monitor is always the first monitor in the returned array, but other monitors may be moved to a different index when a monitor is connected or disconnected.</p>
<h2><a class="anchor" id="monitor_event"></a>
Monitor configuration changes</h2>
<p>If you wish to be notified when a monitor is connected or disconnected, set a monitor callback.</p>
<div class="fragment"><div class="line"><a class="code" href="group__monitor.html#gac3fe0f647f68b731f99756cd81897378">glfwSetMonitorCallback</a>(monitor_callback);</div></div><!-- fragment --><p>The callback function receives the handle for the monitor that has been connected or disconnected and the event that occurred.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> monitor_callback(<a class="code" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor, <span class="keywordtype">int</span> event)</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> (event == <a class="code" href="glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e">GLFW_CONNECTED</a>)</div><div class="line"> {</div><div class="line"> <span class="comment">// The monitor was connected</span></div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (event == <a class="code" href="glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32">GLFW_DISCONNECTED</a>)</div><div class="line"> {</div><div class="line"> <span class="comment">// The monitor was disconnected</span></div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --><p>If a monitor is disconnected, all windows that are full screen on it will be switched to windowed mode before the callback is called. Only <a class="el" href="group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf">glfwGetMonitorName</a> and <a class="el" href="group__monitor.html#gac2d4209016b049222877f620010ed0d8">glfwGetMonitorUserPointer</a> will return useful values for a disconnected monitor and only before the monitor callback returns.</p>
<div class="fragment"><div class="line"><a class="code" href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">glfwSetMonitorCallback</a>(monitor_callback);</div>
</div><!-- fragment --><p>The callback function receives the handle for the monitor that has been connected or disconnected and the event that occurred.</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> monitor_callback(<a class="code" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor, <span class="keywordtype">int</span> event)</div>
<div class="line">{</div>
<div class="line"> <span class="keywordflow">if</span> (event == <a class="code" href="glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e">GLFW_CONNECTED</a>)</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// The monitor was connected</span></div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (event == <a class="code" href="glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32">GLFW_DISCONNECTED</a>)</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// The monitor was disconnected</span></div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment --><p>If a monitor is disconnected, all windows that are full screen on it will be switched to windowed mode before the callback is called. Only <a class="el" href="group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf">glfwGetMonitorName</a> and <a class="el" href="group__monitor.html#gac2d4209016b049222877f620010ed0d8">glfwGetMonitorUserPointer</a> will return useful values for a disconnected monitor and only before the monitor callback returns.</p>
<h1><a class="anchor" id="monitor_properties"></a>
Monitor properties</h1>
<p>Each monitor has a current video mode, a list of supported video modes, a virtual position, a human-readable name, a user pointer, an estimated physical size and a gamma ramp.</p>
<p>Each monitor has a current video mode, a list of supported video modes, a virtual position, a content scale, a human-readable name, a user pointer, an estimated physical size and a gamma ramp.</p>
<h2><a class="anchor" id="monitor_modes"></a>
Video modes</h2>
<p>GLFW generally does a good job selecting a suitable video mode when you create a full screen window, change its video mode or make a windowed one full screen, but it is sometimes useful to know exactly which video modes are supported.</p>
<p>Video modes are represented as <a class="el" href="structGLFWvidmode.html">GLFWvidmode</a> structures. You can get an array of the video modes supported by a monitor with <a class="el" href="group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458">glfwGetVideoModes</a>. See the reference documentation for the lifetime of the returned array.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div><div class="line"><a class="code" href="structGLFWvidmode.html">GLFWvidmode</a>* modes = <a class="code" href="group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458">glfwGetVideoModes</a>(monitor, &amp;count);</div></div><!-- fragment --><p>To get the current video mode of a monitor call <a class="el" href="group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52">glfwGetVideoMode</a>. See the reference documentation for the lifetime of the returned pointer.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <a class="code" href="structGLFWvidmode.html">GLFWvidmode</a>* mode = <a class="code" href="group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52">glfwGetVideoMode</a>(monitor);</div></div><!-- fragment --><p>The resolution of a video mode is specified in <a class="el" href="intro_guide.html#coordinate_systems">screen coordinates</a>, not pixels.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> count;</div>
<div class="line"><a class="code" href="structGLFWvidmode.html">GLFWvidmode</a>* modes = <a class="code" href="group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458">glfwGetVideoModes</a>(monitor, &amp;count);</div>
</div><!-- fragment --><p>To get the current video mode of a monitor call <a class="el" href="group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52">glfwGetVideoMode</a>. See the reference documentation for the lifetime of the returned pointer.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <a class="code" href="structGLFWvidmode.html">GLFWvidmode</a>* mode = <a class="code" href="group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52">glfwGetVideoMode</a>(monitor);</div>
</div><!-- fragment --><p>The resolution of a video mode is specified in <a class="el" href="intro_guide.html#coordinate_systems">screen coordinates</a>, not pixels.</p>
<h2><a class="anchor" id="monitor_size"></a>
Physical size</h2>
<p>The physical size of a monitor in millimetres, or an estimation of it, can be retrieved with <a class="el" href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">glfwGetMonitorPhysicalSize</a>. This has no relation to its current <em>resolution</em>, i.e. the width and height of its current <a class="el" href="monitor_guide.html#monitor_modes">video mode</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> width_mm, height_mm;</div><div class="line"><a class="code" href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">glfwGetMonitorPhysicalSize</a>(monitor, &amp;width_mm, &amp;height_mm);</div></div><!-- fragment --><p>While this can be used to calculate the raw DPI of a monitor, this is often not useful. Instead use the <a class="el" href="monitor_guide.html#monitor_scale">monitor content scale</a> and <a class="el" href="window_guide.html#window_scale">window content scale</a> to scale your content.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> width_mm, height_mm;</div>
<div class="line"><a class="code" href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">glfwGetMonitorPhysicalSize</a>(monitor, &amp;width_mm, &amp;height_mm);</div>
</div><!-- fragment --><p>While this can be used to calculate the raw DPI of a monitor, this is often not useful. Instead use the <a class="el" href="monitor_guide.html#monitor_scale">monitor content scale</a> and <a class="el" href="window_guide.html#window_scale">window content scale</a> to scale your content.</p>
<h2><a class="anchor" id="monitor_scale"></a>
Content scale</h2>
<p>The content scale for a monitor can be retrieved with <a class="el" href="group__monitor.html#gad3152e84465fa620b601265ebfcdb21b">glfwGetMonitorContentScale</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">float</span> xscale, yscale;</div><div class="line"><a class="code" href="group__monitor.html#gad3152e84465fa620b601265ebfcdb21b">glfwGetMonitorContentScale</a>(monitor, &amp;xscale, &amp;yscale);</div></div><!-- fragment --><p>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.</p>
<div class="fragment"><div class="line"><span class="keywordtype">float</span> xscale, yscale;</div>
<div class="line"><a class="code" href="group__monitor.html#gad3152e84465fa620b601265ebfcdb21b">glfwGetMonitorContentScale</a>(monitor, &amp;xscale, &amp;yscale);</div>
</div><!-- fragment --><p>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.</p>
<p>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.</p>
<h2><a class="anchor" id="monitor_pos"></a>
Virtual position</h2>
<p>The position of the monitor on the virtual desktop, in <a class="el" href="intro_guide.html#coordinate_systems">screen coordinates</a>, can be retrieved with <a class="el" href="group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9">glfwGetMonitorPos</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> xpos, ypos;</div><div class="line"><a class="code" href="group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9">glfwGetMonitorPos</a>(monitor, &amp;xpos, &amp;ypos);</div></div><!-- fragment --><h2><a class="anchor" id="monitor_workarea"></a>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> xpos, ypos;</div>
<div class="line"><a class="code" href="group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9">glfwGetMonitorPos</a>(monitor, &amp;xpos, &amp;ypos);</div>
</div><!-- fragment --><h2><a class="anchor" id="monitor_workarea"></a>
Work area</h2>
<p>The area of a monitor not occupied by global task bars or menu bars is the work area. This is specified in <a class="el" href="intro_guide.html#coordinate_systems">screen coordinates</a> and can be retrieved with <a class="el" href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">glfwGetMonitorWorkarea</a>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> xpos, ypos, width, height;</div><div class="line"><a class="code" href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">glfwGetMonitorWorkarea</a>(monitor, &amp;xpos, &amp;ypos, &amp;width, &amp;height);</div></div><!-- fragment --><h2><a class="anchor" id="monitor_name"></a>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> xpos, ypos, width, height;</div>
<div class="line"><a class="code" href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">glfwGetMonitorWorkarea</a>(monitor, &amp;xpos, &amp;ypos, &amp;width, &amp;height);</div>
</div><!-- fragment --><h2><a class="anchor" id="monitor_name"></a>
Human-readable name</h2>
<p>The human-readable, UTF-8 encoded name of a monitor is returned by <a class="el" href="group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf">glfwGetMonitorName</a>. See the reference documentation for the lifetime of the returned string.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf">glfwGetMonitorName</a>(monitor);</div></div><!-- fragment --><p>Monitor names are not guaranteed to be unique. Two monitors of the same model and make may have the same name. Only the monitor handle is guaranteed to be unique, and only until that monitor is disconnected.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf">glfwGetMonitorName</a>(monitor);</div>
</div><!-- fragment --><p>Monitor names are not guaranteed to be unique. Two monitors of the same model and make may have the same name. Only the monitor handle is guaranteed to be unique, and only until that monitor is disconnected.</p>
<h2><a class="anchor" id="monitor_userptr"></a>
User pointer</h2>
<p>Each monitor has a user pointer that can be set with <a class="el" href="group__monitor.html#ga702750e24313a686d3637297b6e85fda">glfwSetMonitorUserPointer</a> and queried with <a class="el" href="group__monitor.html#gac2d4209016b049222877f620010ed0d8">glfwGetMonitorUserPointer</a>. This can be used for any purpose you need and will not be modified by GLFW. The value will be kept until the monitor is disconnected or until the library is terminated.</p>
@@ -139,17 +166,55 @@ User pointer</h2>
<h2><a class="anchor" id="monitor_gamma"></a>
Gamma ramp</h2>
<p>The gamma ramp of a monitor can be set with <a class="el" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a>, which accepts a monitor handle and a pointer to a <a class="el" href="structGLFWgammaramp.html">GLFWgammaramp</a> structure.</p>
<div class="fragment"><div class="line"><a class="code" href="structGLFWgammaramp.html">GLFWgammaramp</a> ramp;</div><div class="line"><span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> red[256], green[256], blue[256];</div><div class="line"></div><div class="line">ramp.<a class="code" href="structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5">size</a> = 256;</div><div class="line">ramp.<a class="code" href="structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138">red</a> = red;</div><div class="line">ramp.<a class="code" href="structGLFWgammaramp.html#affccc6f5df47820b6562d709da3a5a3a">green</a> = green;</div><div class="line">ramp.<a class="code" href="structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b">blue</a> = blue;</div><div class="line"></div><div class="line"><span class="keywordflow">for</span> (i = 0; i &lt; ramp.<a class="code" href="structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5">size</a>; i++)</div><div class="line">{</div><div class="line"> <span class="comment">// Fill out gamma ramp arrays as desired</span></div><div class="line">}</div><div class="line"></div><div class="line"><a class="code" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a>(monitor, &amp;ramp);</div></div><!-- fragment --><p>The gamma ramp data is copied before the function returns, so there is no need to keep it around once the ramp has been set.</p>
<div class="fragment"><div class="line"><a class="code" href="structGLFWgammaramp.html">GLFWgammaramp</a> ramp;</div>
<div class="line"><span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> red[256], green[256], blue[256];</div>
<div class="line"> </div>
<div class="line">ramp.<a class="code" href="structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5">size</a> = 256;</div>
<div class="line">ramp.<a class="code" href="structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138">red</a> = red;</div>
<div class="line">ramp.<a class="code" href="structGLFWgammaramp.html#affccc6f5df47820b6562d709da3a5a3a">green</a> = green;</div>
<div class="line">ramp.<a class="code" href="structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b">blue</a> = blue;</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">for</span> (i = 0; i &lt; ramp.<a class="code" href="structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5">size</a>; i++)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// Fill out gamma ramp arrays as desired</span></div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a>(monitor, &amp;ramp);</div>
</div><!-- fragment --><p>The gamma ramp data is copied before the function returns, so there is no need to keep it around once the ramp has been set.</p>
<p>It is recommended that your gamma ramp have the same size as the current gamma ramp for that monitor.</p>
<p>The current gamma ramp for a monitor is returned by <a class="el" href="group__monitor.html#gab7c41deb2219bde3e1eb756ddaa9ec80">glfwGetGammaRamp</a>. See the reference documentation for the lifetime of the returned structure.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <a class="code" href="structGLFWgammaramp.html">GLFWgammaramp</a>* ramp = <a class="code" href="group__monitor.html#gab7c41deb2219bde3e1eb756ddaa9ec80">glfwGetGammaRamp</a>(monitor);</div></div><!-- fragment --><p>If you wish to set a regular gamma ramp, you can have GLFW calculate it for you from the desired exponent with <a class="el" href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a>, which in turn calls <a class="el" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a> with the resulting ramp.</p>
<div class="fragment"><div class="line"><a class="code" href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a>(monitor, 1.0);</div></div><!-- fragment --><p>To experiment with gamma correction via the <a class="el" href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a> function, run the <code>gamma</code> test program.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <a class="code" href="structGLFWgammaramp.html">GLFWgammaramp</a>* ramp = <a class="code" href="group__monitor.html#gab7c41deb2219bde3e1eb756ddaa9ec80">glfwGetGammaRamp</a>(monitor);</div>
</div><!-- fragment --><p>If you wish to set a regular gamma ramp, you can have GLFW calculate it for you from the desired exponent with <a class="el" href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a>, which in turn calls <a class="el" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a> with the resulting ramp.</p>
<div class="fragment"><div class="line"><a class="code" href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a>(monitor, 1.0);</div>
</div><!-- fragment --><p>To experiment with gamma correction via the <a class="el" href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a> function, run the <code>gamma</code> test program.</p>
<dl class="section note"><dt>Note</dt><dd>The software controlled gamma ramp is applied <em>in addition</em> 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. </dd></dl>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div></div><!-- contents -->
</div><!-- PageDoc -->
<div class="ttc" id="agroup__monitor_html_gad3152e84465fa620b601265ebfcdb21b"><div class="ttname"><a href="group__monitor.html#gad3152e84465fa620b601265ebfcdb21b">glfwGetMonitorContentScale</a></div><div class="ttdeci">void glfwGetMonitorContentScale(GLFWmonitor *monitor, float *xscale, float *yscale)</div><div class="ttdoc">Retrieves the content scale for the specified monitor.</div></div>
<div class="ttc" id="agroup__monitor_html_gab39df645587c8518192aa746c2fb06c3"><div class="ttname"><a href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">glfwSetMonitorCallback</a></div><div class="ttdeci">GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback)</div><div class="ttdoc">Sets the monitor configuration callback.</div></div>
<div class="ttc" id="astructGLFWgammaramp_html"><div class="ttname"><a href="structGLFWgammaramp.html">GLFWgammaramp</a></div><div class="ttdoc">Gamma ramp.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1658</div></div>
<div class="ttc" id="agroup__monitor_html_ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><div class="ttname"><a href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">glfwGetMonitorWorkarea</a></div><div class="ttdeci">void glfwGetMonitorWorkarea(GLFWmonitor *monitor, int *xpos, int *ypos, int *width, int *height)</div><div class="ttdoc">Retrieves the work area of the monitor.</div></div>
<div class="ttc" id="agroup__monitor_html_ga583f0ffd0d29613d8cd172b996bbf0dd"><div class="ttname"><a href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a></div><div class="ttdeci">void glfwSetGammaRamp(GLFWmonitor *monitor, const GLFWgammaramp *ramp)</div><div class="ttdoc">Sets the current gamma ramp for the specified monitor.</div></div>
<div class="ttc" id="agroup__monitor_html_ga79a34ee22ff080ca954a9663e4679daf"><div class="ttname"><a href="group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf">glfwGetMonitorName</a></div><div class="ttdeci">const char * glfwGetMonitorName(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the name of the specified monitor.</div></div>
<div class="ttc" id="agroup__monitor_html_ga721867d84c6d18d6790d64d2847ca0b1"><div class="ttname"><a href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a></div><div class="ttdeci">GLFWmonitor * glfwGetPrimaryMonitor(void)</div><div class="ttdoc">Returns the primary monitor.</div></div>
<div class="ttc" id="agroup__monitor_html_ga3fba51c8bd36491d4712aa5bd074a537"><div class="ttname"><a href="group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537">glfwGetMonitors</a></div><div class="ttdeci">GLFWmonitor ** glfwGetMonitors(int *count)</div><div class="ttdoc">Returns the currently connected monitors.</div></div>
<div class="ttc" id="agroup__monitor_html_ga820b0ce9a5237d645ea7cbb4bd383458"><div class="ttname"><a href="group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458">glfwGetVideoModes</a></div><div class="ttdeci">const GLFWvidmode * glfwGetVideoModes(GLFWmonitor *monitor, int *count)</div><div class="ttdoc">Returns the available video modes for the specified monitor.</div></div>
<div class="ttc" id="astructGLFWgammaramp_html_affccc6f5df47820b6562d709da3a5a3a"><div class="ttname"><a href="structGLFWgammaramp.html#affccc6f5df47820b6562d709da3a5a3a">GLFWgammaramp::green</a></div><div class="ttdeci">unsigned short * green</div><div class="ttdef"><b>Definition:</b> glfw3.h:1665</div></div>
<div class="ttc" id="aglfw3_8h_html_aab64b25921ef21d89252d6f0a71bfc32"><div class="ttname"><a href="glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32">GLFW_DISCONNECTED</a></div><div class="ttdeci">#define GLFW_DISCONNECTED</div><div class="ttdef"><b>Definition:</b> glfw3.h:1075</div></div>
<div class="ttc" id="agroup__monitor_html_ga102f54e7acc9149edbcf0997152df8c9"><div class="ttname"><a href="group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9">glfwGetMonitorPos</a></div><div class="ttdeci">void glfwGetMonitorPos(GLFWmonitor *monitor, int *xpos, int *ypos)</div><div class="ttdoc">Returns the position of the monitor's viewport on the virtual screen.</div></div>
<div class="ttc" id="astructGLFWgammaramp_html_ad620e1cffbff9a32c51bca46301b59a5"><div class="ttname"><a href="structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5">GLFWgammaramp::size</a></div><div class="ttdeci">unsigned int size</div><div class="ttdef"><b>Definition:</b> glfw3.h:1671</div></div>
<div class="ttc" id="astructGLFWgammaramp_html_a2cce5d968734b685623eef913e635138"><div class="ttname"><a href="structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138">GLFWgammaramp::red</a></div><div class="ttdeci">unsigned short * red</div><div class="ttdef"><b>Definition:</b> glfw3.h:1662</div></div>
<div class="ttc" id="agroup__monitor_html_ga7d8bffc6c55539286a6bd20d32a8d7ea"><div class="ttname"><a href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">glfwGetMonitorPhysicalSize</a></div><div class="ttdeci">void glfwGetMonitorPhysicalSize(GLFWmonitor *monitor, int *widthMM, int *heightMM)</div><div class="ttdoc">Returns the physical size of the monitor.</div></div>
<div class="ttc" id="agroup__monitor_html_gab7c41deb2219bde3e1eb756ddaa9ec80"><div class="ttname"><a href="group__monitor.html#gab7c41deb2219bde3e1eb756ddaa9ec80">glfwGetGammaRamp</a></div><div class="ttdeci">const GLFWgammaramp * glfwGetGammaRamp(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the current gamma ramp for the specified monitor.</div></div>
<div class="ttc" id="aglfw3_8h_html_abe11513fd1ffbee5bb9b173f06028b9e"><div class="ttname"><a href="glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e">GLFW_CONNECTED</a></div><div class="ttdeci">#define GLFW_CONNECTED</div><div class="ttdef"><b>Definition:</b> glfw3.h:1074</div></div>
<div class="ttc" id="astructGLFWgammaramp_html_acf0c836d0efe29c392fe8d1a1042744b"><div class="ttname"><a href="structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b">GLFWgammaramp::blue</a></div><div class="ttdeci">unsigned short * blue</div><div class="ttdef"><b>Definition:</b> glfw3.h:1668</div></div>
<div class="ttc" id="astructGLFWvidmode_html"><div class="ttname"><a href="structGLFWvidmode.html">GLFWvidmode</a></div><div class="ttdoc">Video mode type.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1624</div></div>
<div class="ttc" id="agroup__monitor_html_ga6ac582625c990220785ddd34efa3169a"><div class="ttname"><a href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a></div><div class="ttdeci">void glfwSetGamma(GLFWmonitor *monitor, float gamma)</div><div class="ttdoc">Generates a gamma ramp and sets it for the specified monitor.</div></div>
<div class="ttc" id="agroup__monitor_html_gafc1bb972a921ad5b3bd5d63a95fc2d52"><div class="ttname"><a href="group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52">glfwGetVideoMode</a></div><div class="ttdeci">const GLFWvidmode * glfwGetVideoMode(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the current mode of the specified monitor.</div></div>
<div class="ttc" id="agroup__monitor_html_ga8d9efd1cde9426692c73fe40437d0ae3"><div class="ttname"><a href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a></div><div class="ttdeci">struct GLFWmonitor GLFWmonitor</div><div class="ttdoc">Opaque monitor object.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1140</div></div>
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: moving.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Moving from GLFW 2 to 3</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -102,8 +102,10 @@ Changed and removed features</h1>
<h2><a class="anchor" id="moving_renamed_files"></a>
Renamed library and header file</h2>
<p>The GLFW 3 header is named <a class="el" href="glfw3_8h.html">glfw3.h</a> and moved to the <code>GLFW</code> directory, to avoid collisions with the headers of other major versions. Similarly, the GLFW 3 library is named <code>glfw3,</code> except when it's installed as a shared library on Unix-like systems, where it uses the <a href="https://en.wikipedia.org/wiki/soname">soname</a> <code>libglfw.so.3</code>.</p>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;GL/glfw.h&gt;</span></div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;GL/glfw.h&gt;</span></div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>&gt;</span></div>
</div><!-- fragment --></dd></dl>
<h2><a class="anchor" id="moving_threads"></a>
Removal of threading functions</h2>
<p>The threading functions have been removed, including the per-thread sleep function. They were fairly primitive, under-used, poorly integrated and took time away from the focus of GLFW (i.e. context, input and window). There are better threading libraries available and native threading support is available in both <a href="https://en.cppreference.com/w/cpp/thread">C++11</a> and <a href="https://en.cppreference.com/w/c/thread">C11</a>, both of which are gaining traction.</p>
@@ -119,43 +121,76 @@ Removal of image and texture loading</h2>
<h2><a class="anchor" id="moving_stdcall"></a>
Removal of GLFWCALL macro</h2>
<p>The <code>GLFWCALL</code> macro, which made callback functions use <a href="https://msdn.microsoft.com/en-us/library/zxk0tw93.aspx">__stdcall</a> on Windows, has been removed. GLFW is written in C, not Pascal. Removing this macro means there's one less thing for application programmers to remember, i.e. the requirement to mark all callback functions with <code>GLFWCALL</code>. It also simplifies the creation of DLLs and DLL link libraries, as there's no need to explicitly disable <code>@n</code> entry point suffixes.</p>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> GLFWCALL callback_function(...);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> callback_function(...);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> GLFWCALL callback_function(...);</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> callback_function(...);</div>
</div><!-- fragment --></dd></dl>
<h2><a class="anchor" id="moving_window_handles"></a>
Window handle parameters</h2>
<p>Because GLFW 3 supports multiple windows, window handle parameters have been added to all window-related GLFW functions and callbacks. The handle of a newly created window is returned by <a class="el" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a> (formerly <code>glfwOpenWindow</code>). Window handles are pointers to the <a href="https://en.wikipedia.org/wiki/Opaque_data_type">opaque</a> type <a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>.</p>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><a class="code" href="group__window.html#ga5d877f09e968cef7a360b513306f17ff">glfwSetWindowTitle</a>(<span class="stringliteral">&quot;New Window Title&quot;</span>);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><a class="code" href="group__window.html#ga5d877f09e968cef7a360b513306f17ff">glfwSetWindowTitle</a>(window, <span class="stringliteral">&quot;New Window Title&quot;</span>);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><a class="code" href="group__window.html#ga5d877f09e968cef7a360b513306f17ff">glfwSetWindowTitle</a>(<span class="stringliteral">&quot;New Window Title&quot;</span>);</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><a class="code" href="group__window.html#ga5d877f09e968cef7a360b513306f17ff">glfwSetWindowTitle</a>(window, <span class="stringliteral">&quot;New Window Title&quot;</span>);</div>
</div><!-- fragment --></dd></dl>
<h2><a class="anchor" id="moving_monitor"></a>
Explicit monitor selection</h2>
<p>GLFW 3 provides support for multiple monitors. To request a full screen mode window, instead of passing <code>GLFW_FULLSCREEN</code> you specify which monitor you wish the window to use. The <a class="el" href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a> function returns the monitor that GLFW 2 would have selected, but there are many other <a class="el" href="monitor_guide.html">monitor functions</a>. Monitor handles are pointers to the <a href="https://en.wikipedia.org/wiki/Opaque_data_type">opaque</a> type <a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>.</p>
<dl class="section user"><dt>Old basic full screen</dt><dd><div class="fragment"><div class="line">glfwOpenWindow(640, 480, 8, 8, 8, 0, 24, 0, GLFW_FULLSCREEN);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New basic full screen</dt><dd><div class="fragment"><div class="line">window = <a class="code" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>(640, 480, <span class="stringliteral">&quot;My Window&quot;</span>, <a class="code" href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a>(), NULL);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old basic full screen</dt><dd><div class="fragment"><div class="line">glfwOpenWindow(640, 480, 8, 8, 8, 0, 24, 0, GLFW_FULLSCREEN);</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New basic full screen</dt><dd><div class="fragment"><div class="line">window = <a class="code" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>(640, 480, <span class="stringliteral">&quot;My Window&quot;</span>, <a class="code" href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a>(), NULL);</div>
</div><!-- fragment --></dd></dl>
<dl class="section note"><dt>Note</dt><dd>The framebuffer bit depth parameters of <code>glfwOpenWindow</code> have been turned into <a class="el" href="window_guide.html#window_hints">window hints</a>, but as they have been given <a class="el" href="window_guide.html#window_hints_values">sane defaults</a> you rarely need to set these hints.</dd></dl>
<h2><a class="anchor" id="moving_autopoll"></a>
Removal of automatic event polling</h2>
<p>GLFW 3 does not automatically poll for events in <a class="el" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>, meaning you need to call <a class="el" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a> or <a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a> yourself. Unlike buffer swap, which acts on a single window, the event processing functions act on all windows at once.</p>
<dl class="section user"><dt>Old basic main loop</dt><dd><div class="fragment"><div class="line"><span class="keywordflow">while</span> (...)</div><div class="line">{</div><div class="line"> <span class="comment">// Process input</span></div><div class="line"> <span class="comment">// Render output</span></div><div class="line"> <a class="code" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>();</div><div class="line">}</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New basic main loop</dt><dd><div class="fragment"><div class="line"><span class="keywordflow">while</span> (...)</div><div class="line">{</div><div class="line"> <span class="comment">// Process input</span></div><div class="line"> <span class="comment">// Render output</span></div><div class="line"> <a class="code" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>(window);</div><div class="line"> <a class="code" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>();</div><div class="line">}</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old basic main loop</dt><dd><div class="fragment"><div class="line"><span class="keywordflow">while</span> (...)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// Process input</span></div>
<div class="line"> <span class="comment">// Render output</span></div>
<div class="line"> <a class="code" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>();</div>
<div class="line">}</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New basic main loop</dt><dd><div class="fragment"><div class="line"><span class="keywordflow">while</span> (...)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// Process input</span></div>
<div class="line"> <span class="comment">// Render output</span></div>
<div class="line"> <a class="code" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>(window);</div>
<div class="line"> <a class="code" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>();</div>
<div class="line">}</div>
</div><!-- fragment --></dd></dl>
<h2><a class="anchor" id="moving_context"></a>
Explicit context management</h2>
<p>Each GLFW 3 window has its own OpenGL context and only you, the application programmer, can know which context should be current on which thread at any given time. Therefore, GLFW 3 leaves that decision to you.</p>
<p>This means that you need to call <a class="el" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a> after creating a window before you can call any OpenGL functions.</p>
<h2><a class="anchor" id="moving_hidpi"></a>
Separation of window and framebuffer sizes</h2>
<p>Window positions and sizes now use screen coordinates, which may not be the same as pixels on machines with high-DPI monitors. This is important as OpenGL uses pixels, not screen coordinates. For example, the rectangle specified with <code>glViewport</code> needs to use pixels. Therefore, framebuffer size functions have been added. You can retrieve the size of the framebuffer of a window with <a class="el" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a> function. A framebuffer size callback has also been added, which can be set with <a class="el" href="group__window.html#ga3203461a5303bf289f2e05f854b2f7cf">glfwSetFramebufferSizeCallback</a>.</p>
<dl class="section user"><dt>Old basic viewport setup</dt><dd><div class="fragment"><div class="line"><a class="code" href="group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6">glfwGetWindowSize</a>(&amp;width, &amp;height);</div><div class="line">glViewport(0, 0, width, height);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New basic viewport setup</dt><dd><div class="fragment"><div class="line"><a class="code" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a>(window, &amp;width, &amp;height);</div><div class="line">glViewport(0, 0, width, height);</div></div><!-- fragment --></dd></dl>
<p>Window positions and sizes now use screen coordinates, which may not be the same as pixels on machines with high-DPI monitors. This is important as OpenGL uses pixels, not screen coordinates. For example, the rectangle specified with <code>glViewport</code> needs to use pixels. Therefore, framebuffer size functions have been added. You can retrieve the size of the framebuffer of a window with <a class="el" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a> function. A framebuffer size callback has also been added, which can be set with <a class="el" href="group__window.html#gab3fb7c3366577daef18c0023e2a8591f">glfwSetFramebufferSizeCallback</a>.</p>
<dl class="section user"><dt>Old basic viewport setup</dt><dd><div class="fragment"><div class="line"><a class="code" href="group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6">glfwGetWindowSize</a>(&amp;width, &amp;height);</div>
<div class="line">glViewport(0, 0, width, height);</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New basic viewport setup</dt><dd><div class="fragment"><div class="line"><a class="code" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a>(window, &amp;width, &amp;height);</div>
<div class="line">glViewport(0, 0, width, height);</div>
</div><!-- fragment --></dd></dl>
<h2><a class="anchor" id="moving_window_close"></a>
Window closing changes</h2>
<p>The <code>GLFW_OPENED</code> window parameter has been removed. As long as the window has not been destroyed, whether through <a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a> or <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>, the window is "open".</p>
<p>A user attempting to close a window is now just an event like any other. Unlike GLFW 2, windows and contexts created with GLFW 3 will never be destroyed unless you choose them to be. Each window now has a close flag that is set to <code>GLFW_TRUE</code> when the user attempts to close that window. By default, nothing else happens and the window stays visible. It is then up to you to either destroy the window, take some other action or ignore the request.</p>
<p>You can query the close flag at any time with <a class="el" href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a> and set it at any time with <a class="el" href="group__window.html#ga49c449dde2a6f87d996f4daaa09d6708">glfwSetWindowShouldClose</a>.</p>
<dl class="section user"><dt>Old basic main loop</dt><dd><div class="fragment"><div class="line"><span class="keywordflow">while</span> (glfwGetWindowParam(GLFW_OPENED))</div><div class="line">{</div><div class="line"> ...</div><div class="line">}</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New basic main loop</dt><dd><div class="fragment"><div class="line"><span class="keywordflow">while</span> (!<a class="code" href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a>(window))</div><div class="line">{</div><div class="line"> ...</div><div class="line">}</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old basic main loop</dt><dd><div class="fragment"><div class="line"><span class="keywordflow">while</span> (glfwGetWindowParam(GLFW_OPENED))</div>
<div class="line">{</div>
<div class="line"> ...</div>
<div class="line">}</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New basic main loop</dt><dd><div class="fragment"><div class="line"><span class="keywordflow">while</span> (!<a class="code" href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a>(window))</div>
<div class="line">{</div>
<div class="line"> ...</div>
<div class="line">}</div>
</div><!-- fragment --></dd></dl>
<p>The close callback no longer returns a value. Instead, it is called after the close flag has been set so it can override its value, if it chooses to, before event processing completes. You may however not call <a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a> from the close callback (or any other window related callback).</p>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">int</span> GLFWCALL window_close_callback(<span class="keywordtype">void</span>);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> window_close_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">int</span> GLFWCALL window_close_callback(<span class="keywordtype">void</span>);</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> window_close_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
</div><!-- fragment --></dd></dl>
<dl class="section note"><dt>Note</dt><dd>GLFW never clears the close flag to <code>GLFW_FALSE</code>, meaning you can use it for other reasons to close the window as well, for example the user choosing Quit from an in-game menu.</dd></dl>
<h2><a class="anchor" id="moving_hints"></a>
Persistent window hints</h2>
@@ -167,18 +202,22 @@ Video mode enumeration</h2>
<h2><a class="anchor" id="moving_char_up"></a>
Removal of character actions</h2>
<p>The action parameter of the <a class="el" href="group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f">character callback</a> has been removed. This was an artefact of the origin of GLFW, i.e. being developed in English by a Swede. However, many keyboard layouts require more than one key to produce characters with diacritical marks. Even the Swedish keyboard layout requires this for uncommon cases like ü.</p>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> GLFWCALL character_callback(<span class="keywordtype">int</span> character, <span class="keywordtype">int</span> action);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> character_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> character);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> GLFWCALL character_callback(<span class="keywordtype">int</span> character, <span class="keywordtype">int</span> action);</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> character_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span> character);</div>
</div><!-- fragment --></dd></dl>
<h2><a class="anchor" id="moving_cursorpos"></a>
Cursor position changes</h2>
<p>The <code>glfwGetMousePos</code> function has been renamed to <a class="el" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a>, <code>glfwSetMousePos</code> to <a class="el" href="group__input.html#ga04b03af936d906ca123c8f4ee08b39e7">glfwSetCursorPos</a> and <code>glfwSetMousePosCallback</code> to <a class="el" href="group__input.html#ga7dad39486f2c7591af7fb25134a2501d">glfwSetCursorPosCallback</a>.</p>
<p>The <code>glfwGetMousePos</code> function has been renamed to <a class="el" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a>, <code>glfwSetMousePos</code> to <a class="el" href="group__input.html#ga04b03af936d906ca123c8f4ee08b39e7">glfwSetCursorPos</a> and <code>glfwSetMousePosCallback</code> to <a class="el" href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">glfwSetCursorPosCallback</a>.</p>
<p>The cursor position is now <code>double</code> instead of <code>int</code>, both for the direct functions and for the callback. Some platforms can provide sub-pixel cursor movement and this data is now passed on to the application where available. On platforms where this is not provided, the decimal part is zero.</p>
<p>GLFW 3 only allows you to position the cursor within a window using <a class="el" href="group__input.html#ga04b03af936d906ca123c8f4ee08b39e7">glfwSetCursorPos</a> (formerly <code>glfwSetMousePos</code>) when that window is active. Unless the window is active, the function fails silently.</p>
<h2><a class="anchor" id="moving_wheel"></a>
Wheel position replaced by scroll offsets</h2>
<p>The <code>glfwGetMouseWheel</code> function has been removed. Scrolling is the input of offsets and has no absolute position. The mouse wheel callback has been replaced by a <a class="el" href="group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9">scroll callback</a> that receives two-dimensional floating point scroll offsets. This allows you to receive precise scroll data from for example modern touchpads.</p>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> GLFWCALL mouse_wheel_callback(<span class="keywordtype">int</span> position);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> scroll_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xoffset, <span class="keywordtype">double</span> yoffset);</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> GLFWCALL mouse_wheel_callback(<span class="keywordtype">int</span> position);</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> scroll_callback(<a class="code" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">double</span> xoffset, <span class="keywordtype">double</span> yoffset);</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Removed functions</dt><dd><code>glfwGetMouseWheel</code></dd></dl>
<h2><a class="anchor" id="moving_repeat"></a>
Key repeat action</h2>
@@ -210,8 +249,11 @@ Automatic termination</h2>
<h2><a class="anchor" id="moving_glu"></a>
GLU header inclusion</h2>
<p>GLFW 3 does not by default include the GLU header and GLU itself has been deprecated by <a href="https://en.wikipedia.org/wiki/Khronos_Group">Khronos</a>. <b>New projects should not use GLU</b>, but if you need it for legacy code that has been moved to GLFW 3, you can request that the GLFW header includes it by defining <a class="el" href="build_guide.html#GLFW_INCLUDE_GLU">GLFW_INCLUDE_GLU</a> before the inclusion of the GLFW header.</p>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;GL/glfw.h&gt;</span></div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_GLU</span></div><div class="line"><span class="preprocessor">#include &lt;GLFW/glfw3.h&gt;</span></div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Old syntax</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;GL/glfw.h&gt;</span></div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_GLU</span></div>
<div class="line"><span class="preprocessor">#include &lt;GLFW/glfw3.h&gt;</span></div>
</div><!-- fragment --></dd></dl>
<p>There are many libraries that offer replacements for the functionality offered by GLU. For the matrix helper functions, see math libraries like <a href="https://github.com/g-truc/glm">GLM</a> (for C++), <a href="https://github.com/datenwolf/linmath.h">linmath.h</a> (for C) and others. For the tessellation functions, see for example <a href="https://github.com/memononen/libtess2">libtess2</a>.</p>
<h1><a class="anchor" id="moving_tables"></a>
Name change tables</h1>
@@ -235,9 +277,9 @@ Renamed functions</h2>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><code>glfwSetMousePos</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#ga04b03af936d906ca123c8f4ee08b39e7">glfwSetCursorPos</a> </td><td class="markdownTableBodyNone"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><code>glfwSetMousePosCallback</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#ga7dad39486f2c7591af7fb25134a2501d">glfwSetCursorPosCallback</a> </td><td class="markdownTableBodyNone"></td></tr>
<td class="markdownTableBodyNone"><code>glfwSetMousePosCallback</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">glfwSetCursorPosCallback</a> </td><td class="markdownTableBodyNone"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><code>glfwSetMouseWheelCallback</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#gacf02eb10504352f16efda4593c3ce60e">glfwSetScrollCallback</a> </td><td class="markdownTableBodyNone">Accepts two-dimensional scroll offsets as doubles </td></tr>
<td class="markdownTableBodyNone"><code>glfwSetMouseWheelCallback</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">glfwSetScrollCallback</a> </td><td class="markdownTableBodyNone">Accepts two-dimensional scroll offsets as doubles </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><code>glfwGetJoystickPos</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#gaa8806536731e92c061bc70bcff6edbd0">glfwGetJoystickAxes</a> </td><td class="markdownTableBodyNone"></td></tr>
<tr class="markdownTableRowOdd">
@@ -303,11 +345,21 @@ Renamed tokens</h2>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><code>GLFW_KEY_RSUPER</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_RIGHT_SUPER</code> </td><td class="markdownTableBodyNone"></td></tr>
</table>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div></div><!-- contents -->
</div><!-- PageDoc -->
<div class="ttc" id="aglfw3_8h_html"><div class="ttname"><a href="glfw3_8h.html">glfw3.h</a></div><div class="ttdoc">The header of the GLFW 3 API.</div></div>
<div class="ttc" id="agroup__window_html_ga5d877f09e968cef7a360b513306f17ff"><div class="ttname"><a href="group__window.html#ga5d877f09e968cef7a360b513306f17ff">glfwSetWindowTitle</a></div><div class="ttdeci">void glfwSetWindowTitle(GLFWwindow *window, const char *title)</div><div class="ttdoc">Sets the title of the specified window.</div></div>
<div class="ttc" id="agroup__window_html_ga3c96d80d363e67d13a41b5d1821f3242"><div class="ttname"><a href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a></div><div class="ttdeci">struct GLFWwindow GLFWwindow</div><div class="ttdoc">Opaque window object.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1152</div></div>
<div class="ttc" id="agroup__window_html_ga15a5a1ee5b3c2ca6b15ca209a12efd14"><div class="ttname"><a href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a></div><div class="ttdeci">void glfwSwapBuffers(GLFWwindow *window)</div><div class="ttdoc">Swaps the front and back buffers of the specified window.</div></div>
<div class="ttc" id="agroup__window_html_ga24e02fbfefbb81fc45320989f8140ab5"><div class="ttname"><a href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a></div><div class="ttdeci">int glfwWindowShouldClose(GLFWwindow *window)</div><div class="ttdoc">Checks the close flag of the specified window.</div></div>
<div class="ttc" id="agroup__window_html_ga37bd57223967b4211d60ca1a0bf3c832"><div class="ttname"><a href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a></div><div class="ttdeci">void glfwPollEvents(void)</div><div class="ttdoc">Processes all pending events.</div></div>
<div class="ttc" id="agroup__monitor_html_ga721867d84c6d18d6790d64d2847ca0b1"><div class="ttname"><a href="group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1">glfwGetPrimaryMonitor</a></div><div class="ttdeci">GLFWmonitor * glfwGetPrimaryMonitor(void)</div><div class="ttdoc">Returns the primary monitor.</div></div>
<div class="ttc" id="agroup__window_html_ga5c336fddf2cbb5b92f65f10fb6043344"><div class="ttname"><a href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a></div><div class="ttdeci">GLFWwindow * glfwCreateWindow(int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)</div><div class="ttdoc">Creates a window and its associated context.</div></div>
<div class="ttc" id="agroup__window_html_gaeea7cbc03373a41fb51cfbf9f2a5d4c6"><div class="ttname"><a href="group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6">glfwGetWindowSize</a></div><div class="ttdeci">void glfwGetWindowSize(GLFWwindow *window, int *width, int *height)</div><div class="ttdoc">Retrieves the size of the content area of the specified window.</div></div>
<div class="ttc" id="agroup__window_html_ga0e2637a4161afb283f5300c7f94785c9"><div class="ttname"><a href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a></div><div class="ttdeci">void glfwGetFramebufferSize(GLFWwindow *window, int *width, int *height)</div><div class="ttdoc">Retrieves the size of the framebuffer of the specified window.</div></div>
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Release notes</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -194,7 +194,7 @@ Support for Vulkan on macOS via MoltenVK</h3>
<h3><a class="anchor" id="content_scale_33"></a>
Content scale queries for DPI-aware rendering</h3>
<p>GLFW now provides content scales for windows and monitors, i.e. the ratio between their current DPI and the platform's default DPI, with <a class="el" href="group__window.html#gaf5d31de9c19c4f994facea64d2b3106c">glfwGetWindowContentScale</a> and <a class="el" href="group__monitor.html#gad3152e84465fa620b601265ebfcdb21b">glfwGetMonitorContentScale</a>.</p>
<p>Changes of the content scale of a window can be received with the window content scale callback, set with <a class="el" href="group__window.html#gabf3622cde4c10fac35875e24992ec26d">glfwSetWindowContentScaleCallback</a>.</p>
<p>Changes of the content scale of a window can be received with the window content scale callback, set with <a class="el" href="group__window.html#gaf2832ebb5aa6c252a2d261de002c92d6">glfwSetWindowContentScaleCallback</a>.</p>
<p>The <a class="el" href="window_guide.html#GLFW_SCALE_TO_MONITOR">GLFW_SCALE_TO_MONITOR</a> window hint enables automatic resizing of a window by the content scale of the monitor it is placed, on platforms like Windows where this is necessary. This takes effect both on creation and when the window is moved between monitors. It is related to but different from <a class="el" href="window_guide.html#GLFW_COCOA_RETINA_FRAMEBUFFER_hint">GLFW_COCOA_RETINA_FRAMEBUFFER</a>.</p>
<p>For more information see <a class="el" href="window_guide.html#window_scale">Window content scale</a>.</p>
<h3><a class="anchor" id="setwindowattrib_33"></a>
@@ -223,7 +223,7 @@ User attention request</h3>
<p>For more information see <a class="el" href="window_guide.html#window_attention">Window attention request</a>.</p>
<h3><a class="anchor" id="maximize_33"></a>
Window maximization callback</h3>
<p>GLFW now supports notifying the application that the window has been maximized <a class="el" href="group__window.html#gaf8548ef61cb09150e09a6d33ddfa705e">glfwSetWindowMaximizeCallback</a>. This is called both when the window was maximized by the user and when it was done with <a class="el" href="group__window.html#ga3f541387449d911274324ae7f17ec56b">glfwMaximizeWindow</a>.</p>
<p>GLFW now supports notifying the application that the window has been maximized <a class="el" href="group__window.html#gacbe64c339fbd94885e62145563b6dc93">glfwSetWindowMaximizeCallback</a>. This is called both when the window was maximized by the user and when it was done with <a class="el" href="group__window.html#ga3f541387449d911274324ae7f17ec56b">glfwMaximizeWindow</a>.</p>
<p>For more information see <a class="el" href="window_guide.html#window_maximize">Window maximization</a>.</p>
<h3><a class="anchor" id="workarea_33"></a>
Query for the monitor work area</h3>
@@ -295,7 +295,7 @@ CMake 3.0 or later is required</h3>
Deprecations in version 3.3</h2>
<h3><a class="anchor" id="charmods_callback_33"></a>
Character with modifiers callback</h3>
<p>The character with modifiers callback set with <a class="el" href="group__input.html#ga3f55ef5dc03a374e567f068b13c94afc">glfwSetCharModsCallback</a> has been deprecated and should if possible not be used.</p>
<p>The character with modifiers callback set with <a class="el" href="group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">glfwSetCharModsCallback</a> has been deprecated and should if possible not be used.</p>
<p>Existing code should still work but further bug fixes will likely not be made. The callback will be removed in the next major version.</p>
<h3><a class="anchor" id="clipboard_window_33"></a>
Window parameter to clipboard functions</h3>
@@ -337,8 +337,8 @@ New functions in version 3.3</h3>
<li><a class="el" href="group__window.html#gac31caeb3d1088831b13d2c8a156802e9">glfwSetWindowOpacity</a></li>
<li><a class="el" href="group__window.html#ga2f8d59323fc4692c1d54ba08c863a703">glfwRequestWindowAttention</a></li>
<li><a class="el" href="group__window.html#gace2afda29b4116ec012e410a6819033e">glfwSetWindowAttrib</a></li>
<li><a class="el" href="group__window.html#gaf8548ef61cb09150e09a6d33ddfa705e">glfwSetWindowMaximizeCallback</a></li>
<li><a class="el" href="group__window.html#gabf3622cde4c10fac35875e24992ec26d">glfwSetWindowContentScaleCallback</a></li>
<li><a class="el" href="group__window.html#gacbe64c339fbd94885e62145563b6dc93">glfwSetWindowMaximizeCallback</a></li>
<li><a class="el" href="group__window.html#gaf2832ebb5aa6c252a2d261de002c92d6">glfwSetWindowContentScaleCallback</a></li>
<li><a class="el" href="group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2">glfwRawMouseMotionSupported</a></li>
<li><a class="el" href="group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a">glfwGetKeyScancode</a></li>
<li><a class="el" href="group__input.html#ga2d8d0634bb81c180899aeb07477a67ea">glfwGetJoystickHats</a></li>
@@ -450,7 +450,7 @@ Raw timer access</h3>
<p>GLFW now supports raw timer values with <a class="el" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a> and <a class="el" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a>.</p>
<h3><a class="anchor" id="news_32_joystick"></a>
Joystick connection callback</h3>
<p>GLFW now supports notifying when a joystick has been connected or disconnected with <a class="el" href="group__input.html#gab1dc8379f1b82bb660a6b9c9fa06ca07">glfwSetJoystickCallback</a>.</p>
<p>GLFW now supports notifying when a joystick has been connected or disconnected with <a class="el" href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">glfwSetJoystickCallback</a>.</p>
<h3><a class="anchor" id="news_32_noapi"></a>
Context-less windows</h3>
<p>GLFW now supports creating windows without a OpenGL or OpenGL ES context by setting the <a class="el" href="window_guide.html#GLFW_CLIENT_API_hint">GLFW_CLIENT_API</a> hint to <code>GLFW_NO_API</code>.</p>
@@ -474,7 +474,7 @@ Custom mouse cursor images</h3>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#cursor_object">Cursor objects</a></dd></dl>
<h3><a class="anchor" id="news_31_drop"></a>
Path drop event</h3>
<p>GLFW now provides a callback for receiving the paths of files and directories dropped onto GLFW windows. The callback is set with <a class="el" href="group__input.html#ga41291bf15dd3ff564b3143aa6dc74a4b">glfwSetDropCallback</a>.</p>
<p>GLFW now provides a callback for receiving the paths of files and directories dropped onto GLFW windows. The callback is set with <a class="el" href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">glfwSetDropCallback</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#path_drop">Path drop input</a></dd></dl>
<h3><a class="anchor" id="news_31_emptyevent"></a>
Main thread wake-up</h3>
@@ -498,7 +498,7 @@ Direct access for window attributes and cursor position</h3>
<p>GLFW now queries the window input focus, visibility and iconification attributes and the cursor position directly instead of returning cached data.</p>
<h3><a class="anchor" id="news_31_charmods"></a>
Character with modifiers callback</h3>
<p>GLFW now provides a callback for character events with modifier key bits. The callback is set with <a class="el" href="group__input.html#ga3f55ef5dc03a374e567f068b13c94afc">glfwSetCharModsCallback</a>. Unlike the regular character callback, this will report character events that will not result in a character being input, for example if the Control key is held down.</p>
<p>GLFW now provides a callback for character events with modifier key bits. The callback is set with <a class="el" href="group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">glfwSetCharModsCallback</a>. Unlike the regular character callback, this will report character events that will not result in a character being input, for example if the Control key is held down.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="input_guide.html#input_char">Text input</a></dd></dl>
<h3><a class="anchor" id="news_31_single"></a>
Single buffered framebuffers</h3>
@@ -547,7 +547,7 @@ OpenGL ES support</h3>
<p>GLFW now has an experimental EGL context creation back end that can be selected through CMake options.</p>
<h3><a class="anchor" id="news_30_hidpi"></a>
High-DPI support</h3>
<p>GLFW now supports high-DPI monitors on both Windows and macOS, giving windows full resolution framebuffers where other UI elements are scaled up. To achieve this, <a class="el" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a> and <a class="el" href="group__window.html#ga3203461a5303bf289f2e05f854b2f7cf">glfwSetFramebufferSizeCallback</a> have been added. These work with pixels, while the rest of the GLFW API works with screen coordinates. This is important as OpenGL uses pixels, not screen coordinates.</p>
<p>GLFW now supports high-DPI monitors on both Windows and macOS, giving windows full resolution framebuffers where other UI elements are scaled up. To achieve this, <a class="el" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a> and <a class="el" href="group__window.html#gab3fb7c3366577daef18c0023e2a8591f">glfwSetFramebufferSizeCallback</a> have been added. These work with pixels, while the rest of the GLFW API works with screen coordinates. This is important as OpenGL uses pixels, not screen coordinates.</p>
<h3><a class="anchor" id="news_30_error"></a>
Error callback</h3>
<p>GLFW now has an error callback, which can provide your application with much more detailed diagnostics than was previously possible. The callback is passed an error code and a description string.</p>
@@ -556,19 +556,19 @@ Per-window user pointer</h3>
<p>Each window now has a user-defined pointer, retrieved with <a class="el" href="group__window.html#ga17807ce0f45ac3f8bb50d6dcc59a4e06">glfwGetWindowUserPointer</a> and set with <a class="el" href="group__window.html#ga3d2fc6026e690ab31a13f78bc9fd3651">glfwSetWindowUserPointer</a>, to make it easier to integrate GLFW into C++ code.</p>
<h3><a class="anchor" id="news_30_iconifyfun"></a>
Window iconification callback</h3>
<p>Each window now has a callback for iconification and restoration events, which is set with <a class="el" href="group__window.html#gab1ea7263081c0e073b8d5b91d6ffd367">glfwSetWindowIconifyCallback</a>.</p>
<p>Each window now has a callback for iconification and restoration events, which is set with <a class="el" href="group__window.html#gac793e9efd255567b5fb8b445052cfd3e">glfwSetWindowIconifyCallback</a>.</p>
<h3><a class="anchor" id="news_30_wndposfun"></a>
Window position callback</h3>
<p>Each window now has a callback for position events, which is set with <a class="el" href="group__window.html#ga2837d4d240659feb4268fcb6530a6ba1">glfwSetWindowPosCallback</a>.</p>
<p>Each window now has a callback for position events, which is set with <a class="el" href="group__window.html#ga08bdfbba88934f9c4f92fd757979ac74">glfwSetWindowPosCallback</a>.</p>
<h3><a class="anchor" id="news_30_wndpos"></a>
Window position query</h3>
<p>The position of a window can now be retrieved using <a class="el" href="group__window.html#ga73cb526c000876fd8ddf571570fdb634">glfwGetWindowPos</a>.</p>
<h3><a class="anchor" id="news_30_focusfun"></a>
Window focus callback</h3>
<p>Each windows now has a callback for focus events, which is set with <a class="el" href="group__window.html#ga25d1c584edb375d7711c5c3548ba711f">glfwSetWindowFocusCallback</a>.</p>
<p>Each windows now has a callback for focus events, which is set with <a class="el" href="group__window.html#gac2d83c4a10f071baf841f6730528e66c">glfwSetWindowFocusCallback</a>.</p>
<h3><a class="anchor" id="news_30_enterleave"></a>
Cursor enter/leave callback</h3>
<p>Each window now has a callback for when the mouse cursor enters or leaves its content area, which is set with <a class="el" href="group__input.html#gaa299c41dd0a3d171d166354e01279e04">glfwSetCursorEnterCallback</a>.</p>
<p>Each window now has a callback for when the mouse cursor enters or leaves its content area, which is set with <a class="el" href="group__input.html#gad27f8ad0142c038a281466c0966817d8">glfwSetCursorEnterCallback</a>.</p>
<h3><a class="anchor" id="news_30_wndtitle"></a>
Initial window title</h3>
<p>The title of a window is now specified at creation time, as one of the arguments to <a class="el" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>.</p>
@@ -590,11 +590,11 @@ Joystick names</h3>
<h3><a class="anchor" id="news_30_doxygen"></a>
Doxygen documentation</h3>
<p>You are reading it. </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div></div><!-- contents -->
</div><!-- PageDoc -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: news.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: Guides</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -85,7 +85,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>GLFW: quick.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
@@ -27,7 +27,7 @@
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -66,7 +66,7 @@ $(function() {
</div><!-- contents -->
<address class="footer">
<p>
Last update on Tue Apr 16 2019 for GLFW 3.3.0
Last update on Mon Jan 20 2020 for GLFW 3.3.2
</p>
</address>
</body>

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['axes',['axes',['../structGLFWgamepadstate.html#a8b2c8939b1d31458de5359998375c189',1,'GLFWgamepadstate']]]
['axes_0',['axes',['../structGLFWgamepadstate.html#a8b2c8939b1d31458de5359998375c189',1,'GLFWgamepadstate']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,9 +1,9 @@
var searchData=
[
['blue',['blue',['../structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]],
['bluebits',['blueBits',['../structGLFWvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]],
['bug_20list',['Bug List',['../bug.html',1,'']]],
['build_2edox',['build.dox',['../build_8dox.html',1,'']]],
['building_20applications',['Building applications',['../build_guide.html',1,'']]],
['buttons',['buttons',['../structGLFWgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a',1,'GLFWgamepadstate']]]
['blue_1',['blue',['../structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]],
['bluebits_2',['blueBits',['../structGLFWvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]],
['bug_20list_3',['Bug List',['../bug.html',1,'']]],
['build_2edox_4',['build.dox',['../build_8dox.html',1,'']]],
['building_20applications_5',['Building applications',['../build_guide.html',1,'']]],
['buttons_6',['buttons',['../structGLFWgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a',1,'GLFWgamepadstate']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,9 +1,9 @@
var searchData=
[
['compat_2edox',['compat.dox',['../compat_8dox.html',1,'']]],
['compile_2edox',['compile.dox',['../compile_8dox.html',1,'']]],
['compiling_20glfw',['Compiling GLFW',['../compile_guide.html',1,'']]],
['context_20reference',['Context reference',['../group__context.html',1,'']]],
['context_2edox',['context.dox',['../context_8dox.html',1,'']]],
['context_20guide',['Context guide',['../context_guide.html',1,'']]]
['compat_2edox_7',['compat.dox',['../compat_8dox.html',1,'']]],
['compile_2edox_8',['compile.dox',['../compile_8dox.html',1,'']]],
['compiling_20glfw_9',['Compiling GLFW',['../compile_guide.html',1,'']]],
['context_20reference_10',['Context reference',['../group__context.html',1,'']]],
['context_2edox_11',['context.dox',['../context_8dox.html',1,'']]],
['context_20guide_12',['Context guide',['../context_guide.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]]
['deprecated_20list_13',['Deprecated List',['../deprecated.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['error_20codes',['Error codes',['../group__errors.html',1,'']]]
['error_20codes_14',['Error codes',['../group__errors.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,476 +1,476 @@
var searchData=
[
['gamepad_20axes',['Gamepad axes',['../group__gamepad__axes.html',1,'']]],
['gamepad_20buttons',['Gamepad buttons',['../group__gamepad__buttons.html',1,'']]],
['glapientry',['GLAPIENTRY',['../glfw3_8h.html#aa97755eb47e4bf2727ad45d610e18206',1,'glfw3.h']]],
['glfw3_2eh',['glfw3.h',['../glfw3_8h.html',1,'']]],
['glfw3native_2eh',['glfw3native.h',['../glfw3native_8h.html',1,'']]],
['glfw_5faccum_5falpha_5fbits',['GLFW_ACCUM_ALPHA_BITS',['../group__window.html#gae829b55591c18169a40ab4067a041b1f',1,'glfw3.h']]],
['glfw_5faccum_5fblue_5fbits',['GLFW_ACCUM_BLUE_BITS',['../group__window.html#ga22bbe9104a8ce1f8b88fb4f186aa36ce',1,'glfw3.h']]],
['glfw_5faccum_5fgreen_5fbits',['GLFW_ACCUM_GREEN_BITS',['../group__window.html#ga65713cee1326f8e9d806fdf93187b471',1,'glfw3.h']]],
['glfw_5faccum_5fred_5fbits',['GLFW_ACCUM_RED_BITS',['../group__window.html#gaead34a9a683b2bc20eecf30ba738bfc6',1,'glfw3.h']]],
['glfw_5falpha_5fbits',['GLFW_ALPHA_BITS',['../group__window.html#gafed79a3f468997877da86c449bd43e8c',1,'glfw3.h']]],
['glfw_5fany_5frelease_5fbehavior',['GLFW_ANY_RELEASE_BEHAVIOR',['../glfw3_8h.html#a6b47d806f285efe9bfd7aeec667297ee',1,'glfw3.h']]],
['glfw_5fapi_5funavailable',['GLFW_API_UNAVAILABLE',['../group__errors.html#ga56882b290db23261cc6c053c40c2d08e',1,'glfw3.h']]],
['glfw_5fapientry_5fdefined',['GLFW_APIENTRY_DEFINED',['../glfw3_8h.html#a8a8538c5500308b4211844f2fb26c7b9',1,'glfw3.h']]],
['glfw_5farrow_5fcursor',['GLFW_ARROW_CURSOR',['../group__shapes.html#ga8ab0e717245b85506cb0eaefdea39d0a',1,'glfw3.h']]],
['glfw_5fauto_5ficonify',['GLFW_AUTO_ICONIFY',['../group__window.html#ga9d9874fc928200136a6dcdad726aa252',1,'glfw3.h']]],
['glfw_5faux_5fbuffers',['GLFW_AUX_BUFFERS',['../group__window.html#gab05108c5029443b371112b031d1fa174',1,'glfw3.h']]],
['glfw_5fblue_5fbits',['GLFW_BLUE_BITS',['../group__window.html#gab292ea403db6d514537b515311bf9ae3',1,'glfw3.h']]],
['glfw_5fcenter_5fcursor',['GLFW_CENTER_CURSOR',['../group__window.html#ga5ac0847c0aa0b3619f2855707b8a7a77',1,'glfw3.h']]],
['glfw_5fclient_5fapi',['GLFW_CLIENT_API',['../group__window.html#ga649309cf72a3d3de5b1348ca7936c95b',1,'glfw3.h']]],
['glfw_5fcocoa_5fchdir_5fresources',['GLFW_COCOA_CHDIR_RESOURCES',['../group__init.html#gab937983147a3158d45f88fad7129d9f2',1,'glfw3.h']]],
['glfw_5fcocoa_5fframe_5fname',['GLFW_COCOA_FRAME_NAME',['../group__window.html#ga70fa0fbc745de6aa824df79a580e84b5',1,'glfw3.h']]],
['glfw_5fcocoa_5fgraphics_5fswitching',['GLFW_COCOA_GRAPHICS_SWITCHING',['../group__window.html#ga53c84ed2ddd94e15bbd44b1f6f7feafc',1,'glfw3.h']]],
['glfw_5fcocoa_5fmenubar',['GLFW_COCOA_MENUBAR',['../group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf',1,'glfw3.h']]],
['glfw_5fcocoa_5fretina_5fframebuffer',['GLFW_COCOA_RETINA_FRAMEBUFFER',['../group__window.html#gab6ef2d02eb55800d249ccf1af253c35e',1,'glfw3.h']]],
['glfw_5fconnected',['GLFW_CONNECTED',['../glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e',1,'glfw3.h']]],
['glfw_5fcontext_5fcreation_5fapi',['GLFW_CONTEXT_CREATION_API',['../group__window.html#ga5154cebfcd831c1cc63a4d5ac9bb4486',1,'glfw3.h']]],
['glfw_5fcontext_5fno_5ferror',['GLFW_CONTEXT_NO_ERROR',['../group__window.html#ga5a52fdfd46d8249c211f923675728082',1,'glfw3.h']]],
['glfw_5fcontext_5frelease_5fbehavior',['GLFW_CONTEXT_RELEASE_BEHAVIOR',['../group__window.html#ga72b648a8378fe3310c7c7bbecc0f7be6',1,'glfw3.h']]],
['glfw_5fcontext_5frevision',['GLFW_CONTEXT_REVISION',['../group__window.html#gafb9475071aa77c6fb05ca5a5c8678a08',1,'glfw3.h']]],
['glfw_5fcontext_5frobustness',['GLFW_CONTEXT_ROBUSTNESS',['../group__window.html#gade3593916b4c507900aa2d6844810e00',1,'glfw3.h']]],
['glfw_5fcontext_5fversion_5fmajor',['GLFW_CONTEXT_VERSION_MAJOR',['../group__window.html#gafe5e4922de1f9932d7e9849bb053b0c0',1,'glfw3.h']]],
['glfw_5fcontext_5fversion_5fminor',['GLFW_CONTEXT_VERSION_MINOR',['../group__window.html#ga31aca791e4b538c4e4a771eb95cc2d07',1,'glfw3.h']]],
['glfw_5fcrosshair_5fcursor',['GLFW_CROSSHAIR_CURSOR',['../group__shapes.html#ga8af88c0ea05ab9e8f9ac1530e8873c22',1,'glfw3.h']]],
['glfw_5fcursor',['GLFW_CURSOR',['../glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c',1,'glfw3.h']]],
['glfw_5fcursor_5fdisabled',['GLFW_CURSOR_DISABLED',['../glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88',1,'glfw3.h']]],
['glfw_5fcursor_5fhidden',['GLFW_CURSOR_HIDDEN',['../glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11',1,'glfw3.h']]],
['glfw_5fcursor_5fnormal',['GLFW_CURSOR_NORMAL',['../glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68',1,'glfw3.h']]],
['glfw_5fdecorated',['GLFW_DECORATED',['../group__window.html#ga21b854d36314c94d65aed84405b2f25e',1,'glfw3.h']]],
['glfw_5fdepth_5fbits',['GLFW_DEPTH_BITS',['../group__window.html#ga318a55eac1fee57dfe593b6d38149d07',1,'glfw3.h']]],
['glfw_5fdisconnected',['GLFW_DISCONNECTED',['../glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32',1,'glfw3.h']]],
['glfw_5fdont_5fcare',['GLFW_DONT_CARE',['../glfw3_8h.html#a7a2edf2c18446833d27d07f1b7f3d571',1,'glfw3.h']]],
['glfw_5fdoublebuffer',['GLFW_DOUBLEBUFFER',['../group__window.html#ga714a5d569e8a274ea58fdfa020955339',1,'glfw3.h']]],
['glfw_5fegl_5fcontext_5fapi',['GLFW_EGL_CONTEXT_API',['../glfw3_8h.html#a03cf65c9ab01fc8b872ba58842c531c9',1,'glfw3.h']]],
['glfw_5ffalse',['GLFW_FALSE',['../group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5',1,'glfw3.h']]],
['glfw_5ffloating',['GLFW_FLOATING',['../group__window.html#ga7fb0be51407783b41adbf5bec0b09d80',1,'glfw3.h']]],
['glfw_5ffocus_5fon_5fshow',['GLFW_FOCUS_ON_SHOW',['../group__window.html#gafa94b1da34bfd6488c0d709761504dfc',1,'glfw3.h']]],
['glfw_5ffocused',['GLFW_FOCUSED',['../group__window.html#ga54ddb14825a1541a56e22afb5f832a9e',1,'glfw3.h']]],
['glfw_5fformat_5funavailable',['GLFW_FORMAT_UNAVAILABLE',['../group__errors.html#ga196e125ef261d94184e2b55c05762f14',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5flast',['GLFW_GAMEPAD_AXIS_LAST',['../group__gamepad__axes.html#ga0818fd9433e1359692b7443293e5ac86',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fleft_5ftrigger',['GLFW_GAMEPAD_AXIS_LEFT_TRIGGER',['../group__gamepad__axes.html#ga6d79561dd8907c37354426242901b86e',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fleft_5fx',['GLFW_GAMEPAD_AXIS_LEFT_X',['../group__gamepad__axes.html#ga544e396d092036a7d80c1e5f233f7a38',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fleft_5fy',['GLFW_GAMEPAD_AXIS_LEFT_Y',['../group__gamepad__axes.html#ga64dcf2c6e9be50b7c556ff7671996dd5',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fright_5ftrigger',['GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER',['../group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fright_5fx',['GLFW_GAMEPAD_AXIS_RIGHT_X',['../group__gamepad__axes.html#gabd6785106cd3c5a044a6e49a395ee2fc',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fright_5fy',['GLFW_GAMEPAD_AXIS_RIGHT_Y',['../group__gamepad__axes.html#ga1cc20566d44d521b7183681a8e88e2e4',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fa',['GLFW_GAMEPAD_BUTTON_A',['../group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fb',['GLFW_GAMEPAD_BUTTON_B',['../group__gamepad__buttons.html#ga2228a6512fd5950cdb51ba07846546fa',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fback',['GLFW_GAMEPAD_BUTTON_BACK',['../group__gamepad__buttons.html#gabc7c0264ce778835b516a472b47f6caf',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fcircle',['GLFW_GAMEPAD_BUTTON_CIRCLE',['../group__gamepad__buttons.html#gaaef094b3dacbf15f272b274516839b82',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fcross',['GLFW_GAMEPAD_BUTTON_CROSS',['../group__gamepad__buttons.html#gaf08d0df26527c9305253422bd98ed63a',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fdpad_5fdown',['GLFW_GAMEPAD_BUTTON_DPAD_DOWN',['../group__gamepad__buttons.html#ga8f2b731b97d80f90f11967a83207665c',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fdpad_5fleft',['GLFW_GAMEPAD_BUTTON_DPAD_LEFT',['../group__gamepad__buttons.html#gaf0697e0e8607b2ebe1c93b0c6befe301',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fdpad_5fright',['GLFW_GAMEPAD_BUTTON_DPAD_RIGHT',['../group__gamepad__buttons.html#gae2a780d2a8c79e0b77c0b7b601ca57c6',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fdpad_5fup',['GLFW_GAMEPAD_BUTTON_DPAD_UP',['../group__gamepad__buttons.html#ga4f1ed6f974a47bc8930d4874a283476a',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fguide',['GLFW_GAMEPAD_BUTTON_GUIDE',['../group__gamepad__buttons.html#ga7fa48c32e5b2f5db2f080aa0b8b573dc',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5flast',['GLFW_GAMEPAD_BUTTON_LAST',['../group__gamepad__buttons.html#ga5cc98882f4f81dacf761639a567f61eb',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fleft_5fbumper',['GLFW_GAMEPAD_BUTTON_LEFT_BUMPER',['../group__gamepad__buttons.html#ga17d67b4f39a39d6b813bd1567a3507c3',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fleft_5fthumb',['GLFW_GAMEPAD_BUTTON_LEFT_THUMB',['../group__gamepad__buttons.html#ga3e089787327454f7bfca7364d6ca206a',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fright_5fbumper',['GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER',['../group__gamepad__buttons.html#gadfbc9ea9bf3aae896b79fa49fdc85c7f',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fright_5fthumb',['GLFW_GAMEPAD_BUTTON_RIGHT_THUMB',['../group__gamepad__buttons.html#ga1c003f52b5aebb45272475b48953b21a',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fsquare',['GLFW_GAMEPAD_BUTTON_SQUARE',['../group__gamepad__buttons.html#gafc7821e87d77d41ed2cd3e1f726ec35f',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fstart',['GLFW_GAMEPAD_BUTTON_START',['../group__gamepad__buttons.html#ga04606949dd9139434b8a1bedf4ac1021',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5ftriangle',['GLFW_GAMEPAD_BUTTON_TRIANGLE',['../group__gamepad__buttons.html#ga3a7ef6bcb768a08cd3bf142f7f09f802',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fx',['GLFW_GAMEPAD_BUTTON_X',['../group__gamepad__buttons.html#ga52cc94785cf3fe9a12e246539259887c',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fy',['GLFW_GAMEPAD_BUTTON_Y',['../group__gamepad__buttons.html#gafc931248bda494b530cbe057f386a5ed',1,'glfw3.h']]],
['glfw_5fgreen_5fbits',['GLFW_GREEN_BITS',['../group__window.html#gafba3b72638c914e5fb8a237dd4c50d4d',1,'glfw3.h']]],
['glfw_5fhand_5fcursor',['GLFW_HAND_CURSOR',['../group__shapes.html#ga1db35e20849e0837c82e3dc1fd797263',1,'glfw3.h']]],
['glfw_5fhat_5fcentered',['GLFW_HAT_CENTERED',['../group__hat__state.html#gae2c0bcb7aec609e4736437554f6638fd',1,'glfw3.h']]],
['glfw_5fhat_5fdown',['GLFW_HAT_DOWN',['../group__hat__state.html#gad60d1fd0dc85c18f2642cbae96d3deff',1,'glfw3.h']]],
['glfw_5fhat_5fleft',['GLFW_HAT_LEFT',['../group__hat__state.html#gac775f4b3154fdf5db93eb432ba546dff',1,'glfw3.h']]],
['glfw_5fhat_5fleft_5fdown',['GLFW_HAT_LEFT_DOWN',['../group__hat__state.html#ga76c02baf1ea345fcbe3e8ff176a73e19',1,'glfw3.h']]],
['glfw_5fhat_5fleft_5fup',['GLFW_HAT_LEFT_UP',['../group__hat__state.html#ga638f0e20dc5de90de21a33564e8ce129',1,'glfw3.h']]],
['glfw_5fhat_5fright',['GLFW_HAT_RIGHT',['../group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5',1,'glfw3.h']]],
['glfw_5fhat_5fright_5fdown',['GLFW_HAT_RIGHT_DOWN',['../group__hat__state.html#gad7f0e4f52fd68d734863aaeadab3a3f5',1,'glfw3.h']]],
['glfw_5fhat_5fright_5fup',['GLFW_HAT_RIGHT_UP',['../group__hat__state.html#ga94aea0ae241a8b902883536c592ee693',1,'glfw3.h']]],
['glfw_5fhat_5fup',['GLFW_HAT_UP',['../group__hat__state.html#ga8c9720c76cd1b912738159ed74c85b36',1,'glfw3.h']]],
['glfw_5fhovered',['GLFW_HOVERED',['../group__window.html#ga8665c71c6fa3d22425c6a0e8a3f89d8a',1,'glfw3.h']]],
['glfw_5fhresize_5fcursor',['GLFW_HRESIZE_CURSOR',['../group__shapes.html#gabb3eb0109f11bb808fc34659177ca962',1,'glfw3.h']]],
['glfw_5fibeam_5fcursor',['GLFW_IBEAM_CURSOR',['../group__shapes.html#ga36185f4375eaada1b04e431244774c86',1,'glfw3.h']]],
['glfw_5ficonified',['GLFW_ICONIFIED',['../group__window.html#ga39d44b7c056e55e581355a92d240b58a',1,'glfw3.h']]],
['glfw_5finvalid_5fenum',['GLFW_INVALID_ENUM',['../group__errors.html#ga76f6bb9c4eea73db675f096b404593ce',1,'glfw3.h']]],
['glfw_5finvalid_5fvalue',['GLFW_INVALID_VALUE',['../group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687',1,'glfw3.h']]],
['glfw_5fjoystick_5f1',['GLFW_JOYSTICK_1',['../group__joysticks.html#ga34a0443d059e9f22272cd4669073f73d',1,'glfw3.h']]],
['glfw_5fjoystick_5f10',['GLFW_JOYSTICK_10',['../group__joysticks.html#gaef55389ee605d6dfc31aef6fe98c54ec',1,'glfw3.h']]],
['glfw_5fjoystick_5f11',['GLFW_JOYSTICK_11',['../group__joysticks.html#gae7d26e3df447c2c14a569fcc18516af4',1,'glfw3.h']]],
['glfw_5fjoystick_5f12',['GLFW_JOYSTICK_12',['../group__joysticks.html#gab91bbf5b7ca6be8d3ac5c4d89ff48ac7',1,'glfw3.h']]],
['glfw_5fjoystick_5f13',['GLFW_JOYSTICK_13',['../group__joysticks.html#ga5c84fb4e49bf661d7d7c78eb4018c508',1,'glfw3.h']]],
['glfw_5fjoystick_5f14',['GLFW_JOYSTICK_14',['../group__joysticks.html#ga89540873278ae5a42b3e70d64164dc74',1,'glfw3.h']]],
['glfw_5fjoystick_5f15',['GLFW_JOYSTICK_15',['../group__joysticks.html#ga7b02ab70daf7a78bcc942d5d4cc1dcf9',1,'glfw3.h']]],
['glfw_5fjoystick_5f16',['GLFW_JOYSTICK_16',['../group__joysticks.html#ga453edeeabf350827646b6857df4f80ce',1,'glfw3.h']]],
['glfw_5fjoystick_5f2',['GLFW_JOYSTICK_2',['../group__joysticks.html#ga6eab65ec88e65e0850ef8413504cb50c',1,'glfw3.h']]],
['glfw_5fjoystick_5f3',['GLFW_JOYSTICK_3',['../group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654',1,'glfw3.h']]],
['glfw_5fjoystick_5f4',['GLFW_JOYSTICK_4',['../group__joysticks.html#ga97ddbcad02b7f48d74fad4ddb08fff59',1,'glfw3.h']]],
['glfw_5fjoystick_5f5',['GLFW_JOYSTICK_5',['../group__joysticks.html#gae43281bc66d3fa5089fb50c3e7a28695',1,'glfw3.h']]],
['glfw_5fjoystick_5f6',['GLFW_JOYSTICK_6',['../group__joysticks.html#ga74771620aa53bd68a487186dea66fd77',1,'glfw3.h']]],
['glfw_5fjoystick_5f7',['GLFW_JOYSTICK_7',['../group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87',1,'glfw3.h']]],
['glfw_5fjoystick_5f8',['GLFW_JOYSTICK_8',['../group__joysticks.html#ga21a934c940bcf25db0e4c8fe9b364bdb',1,'glfw3.h']]],
['glfw_5fjoystick_5f9',['GLFW_JOYSTICK_9',['../group__joysticks.html#ga87689d47df0ba6f9f5fcbbcaf7b3cecf',1,'glfw3.h']]],
['glfw_5fjoystick_5fhat_5fbuttons',['GLFW_JOYSTICK_HAT_BUTTONS',['../group__init.html#gab9c0534709fda03ec8959201da3a9a18',1,'glfw3.h']]],
['glfw_5fjoystick_5flast',['GLFW_JOYSTICK_LAST',['../group__joysticks.html#ga9ca13ebf24c331dd98df17d84a4b72c9',1,'glfw3.h']]],
['glfw_5fkey_5f0',['GLFW_KEY_0',['../group__keys.html#ga50391730e9d7112ad4fd42d0bd1597c1',1,'glfw3.h']]],
['glfw_5fkey_5f1',['GLFW_KEY_1',['../group__keys.html#ga05e4cae9ddb8d40cf6d82c8f11f2502f',1,'glfw3.h']]],
['glfw_5fkey_5f2',['GLFW_KEY_2',['../group__keys.html#gadc8e66b3a4c4b5c39ad1305cf852863c',1,'glfw3.h']]],
['glfw_5fkey_5f3',['GLFW_KEY_3',['../group__keys.html#ga812f0273fe1a981e1fa002ae73e92271',1,'glfw3.h']]],
['glfw_5fkey_5f4',['GLFW_KEY_4',['../group__keys.html#ga9e14b6975a9cc8f66cdd5cb3d3861356',1,'glfw3.h']]],
['glfw_5fkey_5f5',['GLFW_KEY_5',['../group__keys.html#ga4d74ddaa5d4c609993b4d4a15736c924',1,'glfw3.h']]],
['glfw_5fkey_5f6',['GLFW_KEY_6',['../group__keys.html#ga9ea4ab80c313a227b14d0a7c6f810b5d',1,'glfw3.h']]],
['glfw_5fkey_5f7',['GLFW_KEY_7',['../group__keys.html#gab79b1cfae7bd630cfc4604c1f263c666',1,'glfw3.h']]],
['glfw_5fkey_5f8',['GLFW_KEY_8',['../group__keys.html#gadeaa109a0f9f5afc94fe4a108e686f6f',1,'glfw3.h']]],
['glfw_5fkey_5f9',['GLFW_KEY_9',['../group__keys.html#ga2924cb5349ebbf97c8987f3521c44f39',1,'glfw3.h']]],
['glfw_5fkey_5fa',['GLFW_KEY_A',['../group__keys.html#ga03e842608e1ea323370889d33b8f70ff',1,'glfw3.h']]],
['glfw_5fkey_5fapostrophe',['GLFW_KEY_APOSTROPHE',['../group__keys.html#ga6059b0b048ba6980b6107fffbd3b4b24',1,'glfw3.h']]],
['glfw_5fkey_5fb',['GLFW_KEY_B',['../group__keys.html#ga8e3fb647ff3aca9e8dbf14fe66332941',1,'glfw3.h']]],
['glfw_5fkey_5fbackslash',['GLFW_KEY_BACKSLASH',['../group__keys.html#gab8155ea99d1ab27ff56f24f8dc73f8d1',1,'glfw3.h']]],
['glfw_5fkey_5fbackspace',['GLFW_KEY_BACKSPACE',['../group__keys.html#ga6c0df1fe2f156bbd5a98c66d76ff3635',1,'glfw3.h']]],
['glfw_5fkey_5fc',['GLFW_KEY_C',['../group__keys.html#ga00ccf3475d9ee2e679480d540d554669',1,'glfw3.h']]],
['glfw_5fkey_5fcaps_5flock',['GLFW_KEY_CAPS_LOCK',['../group__keys.html#ga92c1d2c9d63485f3d70f94f688d48672',1,'glfw3.h']]],
['glfw_5fkey_5fcomma',['GLFW_KEY_COMMA',['../group__keys.html#gab3d5d72e59d3055f494627b0a524926c',1,'glfw3.h']]],
['glfw_5fkey_5fd',['GLFW_KEY_D',['../group__keys.html#ga011f7cdc9a654da984a2506479606933',1,'glfw3.h']]],
['glfw_5fkey_5fdelete',['GLFW_KEY_DELETE',['../group__keys.html#gadb111e4df74b8a715f2c05dad58d2682',1,'glfw3.h']]],
['glfw_5fkey_5fdown',['GLFW_KEY_DOWN',['../group__keys.html#gae2e3958c71595607416aa7bf082be2f9',1,'glfw3.h']]],
['glfw_5fkey_5fe',['GLFW_KEY_E',['../group__keys.html#gabf48fcc3afbe69349df432b470c96ef2',1,'glfw3.h']]],
['glfw_5fkey_5fend',['GLFW_KEY_END',['../group__keys.html#ga86587ea1df19a65978d3e3b8439bedd9',1,'glfw3.h']]],
['glfw_5fkey_5fenter',['GLFW_KEY_ENTER',['../group__keys.html#ga9555a92ecbecdbc1f3435219c571d667',1,'glfw3.h']]],
['glfw_5fkey_5fequal',['GLFW_KEY_EQUAL',['../group__keys.html#gae1a2de47240d6664423c204bdd91bd17',1,'glfw3.h']]],
['glfw_5fkey_5fescape',['GLFW_KEY_ESCAPE',['../group__keys.html#gaac6596c350b635c245113b81c2123b93',1,'glfw3.h']]],
['glfw_5fkey_5ff',['GLFW_KEY_F',['../group__keys.html#ga5df402e02aca08444240058fd9b42a55',1,'glfw3.h']]],
['glfw_5fkey_5ff1',['GLFW_KEY_F1',['../group__keys.html#gafb8d66c573acf22e364049477dcbea30',1,'glfw3.h']]],
['glfw_5fkey_5ff10',['GLFW_KEY_F10',['../group__keys.html#ga718d11d2f7d57471a2f6a894235995b1',1,'glfw3.h']]],
['glfw_5fkey_5ff11',['GLFW_KEY_F11',['../group__keys.html#ga0bc04b11627e7d69339151e7306b2832',1,'glfw3.h']]],
['glfw_5fkey_5ff12',['GLFW_KEY_F12',['../group__keys.html#gaf5908fa9b0a906ae03fc2c61ac7aa3e2',1,'glfw3.h']]],
['glfw_5fkey_5ff13',['GLFW_KEY_F13',['../group__keys.html#gad637f4308655e1001bd6ad942bc0fd4b',1,'glfw3.h']]],
['glfw_5fkey_5ff14',['GLFW_KEY_F14',['../group__keys.html#gaf14c66cff3396e5bd46e803c035e6c1f',1,'glfw3.h']]],
['glfw_5fkey_5ff15',['GLFW_KEY_F15',['../group__keys.html#ga7f70970db6e8be1794da8516a6d14058',1,'glfw3.h']]],
['glfw_5fkey_5ff16',['GLFW_KEY_F16',['../group__keys.html#gaa582dbb1d2ba2050aa1dca0838095b27',1,'glfw3.h']]],
['glfw_5fkey_5ff17',['GLFW_KEY_F17',['../group__keys.html#ga972ce5c365e2394b36104b0e3125c748',1,'glfw3.h']]],
['glfw_5fkey_5ff18',['GLFW_KEY_F18',['../group__keys.html#gaebf6391058d5566601e357edc5ea737c',1,'glfw3.h']]],
['glfw_5fkey_5ff19',['GLFW_KEY_F19',['../group__keys.html#gaec011d9ba044058cb54529da710e9791',1,'glfw3.h']]],
['glfw_5fkey_5ff2',['GLFW_KEY_F2',['../group__keys.html#ga0900750aff94889b940f5e428c07daee',1,'glfw3.h']]],
['glfw_5fkey_5ff20',['GLFW_KEY_F20',['../group__keys.html#ga82b9c721ada04cd5ca8de767da38022f',1,'glfw3.h']]],
['glfw_5fkey_5ff21',['GLFW_KEY_F21',['../group__keys.html#ga356afb14d3440ff2bb378f74f7ebc60f',1,'glfw3.h']]],
['glfw_5fkey_5ff22',['GLFW_KEY_F22',['../group__keys.html#ga90960bd2a155f2b09675324d3dff1565',1,'glfw3.h']]],
['glfw_5fkey_5ff23',['GLFW_KEY_F23',['../group__keys.html#ga43c21099aac10952d1be909a8ddee4d5',1,'glfw3.h']]],
['glfw_5fkey_5ff24',['GLFW_KEY_F24',['../group__keys.html#ga8150374677b5bed3043408732152dea2',1,'glfw3.h']]],
['glfw_5fkey_5ff25',['GLFW_KEY_F25',['../group__keys.html#gaa4bbd93ed73bb4c6ae7d83df880b7199',1,'glfw3.h']]],
['glfw_5fkey_5ff3',['GLFW_KEY_F3',['../group__keys.html#gaed7cd729c0147a551bb8b7bb36c17015',1,'glfw3.h']]],
['glfw_5fkey_5ff4',['GLFW_KEY_F4',['../group__keys.html#ga9b61ebd0c63b44b7332fda2c9763eaa6',1,'glfw3.h']]],
['glfw_5fkey_5ff5',['GLFW_KEY_F5',['../group__keys.html#gaf258dda9947daa428377938ed577c8c2',1,'glfw3.h']]],
['glfw_5fkey_5ff6',['GLFW_KEY_F6',['../group__keys.html#ga6dc2d3f87b9d51ffbbbe2ef0299d8e1d',1,'glfw3.h']]],
['glfw_5fkey_5ff7',['GLFW_KEY_F7',['../group__keys.html#gacca6ef8a2162c52a0ac1d881e8d9c38a',1,'glfw3.h']]],
['glfw_5fkey_5ff8',['GLFW_KEY_F8',['../group__keys.html#gac9d39390336ae14e4a93e295de43c7e8',1,'glfw3.h']]],
['glfw_5fkey_5ff9',['GLFW_KEY_F9',['../group__keys.html#gae40de0de1c9f21cd26c9afa3d7050851',1,'glfw3.h']]],
['glfw_5fkey_5fg',['GLFW_KEY_G',['../group__keys.html#gae74ecddf7cc96104ab23989b1cdab536',1,'glfw3.h']]],
['glfw_5fkey_5fgrave_5faccent',['GLFW_KEY_GRAVE_ACCENT',['../group__keys.html#ga7a3701fb4e2a0b136ff4b568c3c8d668',1,'glfw3.h']]],
['glfw_5fkey_5fh',['GLFW_KEY_H',['../group__keys.html#gad4cc98fc8f35f015d9e2fb94bf136076',1,'glfw3.h']]],
['glfw_5fkey_5fhome',['GLFW_KEY_HOME',['../group__keys.html#ga41452c7287195d481e43207318c126a7',1,'glfw3.h']]],
['glfw_5fkey_5fi',['GLFW_KEY_I',['../group__keys.html#ga274655c8bfe39742684ca393cf8ed093',1,'glfw3.h']]],
['glfw_5fkey_5finsert',['GLFW_KEY_INSERT',['../group__keys.html#ga373ac7365435d6b0eb1068f470e34f47',1,'glfw3.h']]],
['glfw_5fkey_5fj',['GLFW_KEY_J',['../group__keys.html#ga65ff2aedb129a3149ad9cb3e4159a75f',1,'glfw3.h']]],
['glfw_5fkey_5fk',['GLFW_KEY_K',['../group__keys.html#ga4ae8debadf6d2a691badae0b53ea3ba0',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f0',['GLFW_KEY_KP_0',['../group__keys.html#ga10515dafc55b71e7683f5b4fedd1c70d',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f1',['GLFW_KEY_KP_1',['../group__keys.html#gaf3a29a334402c5eaf0b3439edf5587c3',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f2',['GLFW_KEY_KP_2',['../group__keys.html#gaf82d5a802ab8213c72653d7480c16f13',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f3',['GLFW_KEY_KP_3',['../group__keys.html#ga7e25ff30d56cd512828c1d4ae8d54ef2',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f4',['GLFW_KEY_KP_4',['../group__keys.html#gada7ec86778b85e0b4de0beea72234aea',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f5',['GLFW_KEY_KP_5',['../group__keys.html#ga9a5be274434866c51738cafbb6d26b45',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f6',['GLFW_KEY_KP_6',['../group__keys.html#gafc141b0f8450519084c01092a3157faa',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f7',['GLFW_KEY_KP_7',['../group__keys.html#ga8882f411f05d04ec77a9563974bbfa53',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f8',['GLFW_KEY_KP_8',['../group__keys.html#gab2ea2e6a12f89d315045af520ac78cec',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f9',['GLFW_KEY_KP_9',['../group__keys.html#gafb21426b630ed4fcc084868699ba74c1',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fadd',['GLFW_KEY_KP_ADD',['../group__keys.html#gad09c7c98acc79e89aa6a0a91275becac',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fdecimal',['GLFW_KEY_KP_DECIMAL',['../group__keys.html#ga4e231d968796331a9ea0dbfb98d4005b',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fdivide',['GLFW_KEY_KP_DIVIDE',['../group__keys.html#gabca1733780a273d549129ad0f250d1e5',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fenter',['GLFW_KEY_KP_ENTER',['../group__keys.html#ga4f728f8738f2986bd63eedd3d412e8cf',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fequal',['GLFW_KEY_KP_EQUAL',['../group__keys.html#gaebdc76d4a808191e6d21b7e4ad2acd97',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fmultiply',['GLFW_KEY_KP_MULTIPLY',['../group__keys.html#ga9ada267eb0e78ed2ada8701dd24a56ef',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fsubtract',['GLFW_KEY_KP_SUBTRACT',['../group__keys.html#gaa3dbd60782ff93d6082a124bce1fa236',1,'glfw3.h']]],
['glfw_5fkey_5fl',['GLFW_KEY_L',['../group__keys.html#gaaa8b54a13f6b1eed85ac86f82d550db2',1,'glfw3.h']]],
['glfw_5fkey_5flast',['GLFW_KEY_LAST',['../group__keys.html#ga442cbaef7bfb9a4ba13594dd7fbf2789',1,'glfw3.h']]],
['glfw_5fkey_5fleft',['GLFW_KEY_LEFT',['../group__keys.html#gae12a010d33c309a67ab9460c51eb2462',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5falt',['GLFW_KEY_LEFT_ALT',['../group__keys.html#ga7f27dabf63a7789daa31e1c96790219b',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5fbracket',['GLFW_KEY_LEFT_BRACKET',['../group__keys.html#gad1c8d9adac53925276ecb1d592511d8a',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5fcontrol',['GLFW_KEY_LEFT_CONTROL',['../group__keys.html#ga9f97b743e81460ac4b2deddecd10a464',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5fshift',['GLFW_KEY_LEFT_SHIFT',['../group__keys.html#ga8a530a28a65c44ab5d00b759b756d3f6',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5fsuper',['GLFW_KEY_LEFT_SUPER',['../group__keys.html#gafb1207c91997fc295afd1835fbc5641a',1,'glfw3.h']]],
['glfw_5fkey_5fm',['GLFW_KEY_M',['../group__keys.html#ga4d7f0260c82e4ea3d6ebc7a21d6e3716',1,'glfw3.h']]],
['glfw_5fkey_5fmenu',['GLFW_KEY_MENU',['../group__keys.html#ga9845be48a745fc232045c9ec174d8820',1,'glfw3.h']]],
['glfw_5fkey_5fminus',['GLFW_KEY_MINUS',['../group__keys.html#gac556b360f7f6fca4b70ba0aecf313fd4',1,'glfw3.h']]],
['glfw_5fkey_5fn',['GLFW_KEY_N',['../group__keys.html#gae00856dfeb5d13aafebf59d44de5cdda',1,'glfw3.h']]],
['glfw_5fkey_5fnum_5flock',['GLFW_KEY_NUM_LOCK',['../group__keys.html#ga3946edc362aeff213b2be6304296cf43',1,'glfw3.h']]],
['glfw_5fkey_5fo',['GLFW_KEY_O',['../group__keys.html#gaecbbb79130df419d58dd7f09a169efe9',1,'glfw3.h']]],
['glfw_5fkey_5fp',['GLFW_KEY_P',['../group__keys.html#ga8fc15819c1094fb2afa01d84546b33e1',1,'glfw3.h']]],
['glfw_5fkey_5fpage_5fdown',['GLFW_KEY_PAGE_DOWN',['../group__keys.html#gaee0a8fa442001cc2147812f84b59041c',1,'glfw3.h']]],
['glfw_5fkey_5fpage_5fup',['GLFW_KEY_PAGE_UP',['../group__keys.html#ga3ab731f9622f0db280178a5f3cc6d586',1,'glfw3.h']]],
['glfw_5fkey_5fpause',['GLFW_KEY_PAUSE',['../group__keys.html#ga8116b9692d87382afb5849b6d8907f18',1,'glfw3.h']]],
['glfw_5fkey_5fperiod',['GLFW_KEY_PERIOD',['../group__keys.html#ga37e296b650eab419fc474ff69033d927',1,'glfw3.h']]],
['glfw_5fkey_5fprint_5fscreen',['GLFW_KEY_PRINT_SCREEN',['../group__keys.html#gaf964c2e65e97d0cf785a5636ee8df642',1,'glfw3.h']]],
['glfw_5fkey_5fq',['GLFW_KEY_Q',['../group__keys.html#gafdd01e38b120d67cf51e348bb47f3964',1,'glfw3.h']]],
['glfw_5fkey_5fr',['GLFW_KEY_R',['../group__keys.html#ga4ce6c70a0c98c50b3fe4ab9a728d4d36',1,'glfw3.h']]],
['glfw_5fkey_5fright',['GLFW_KEY_RIGHT',['../group__keys.html#ga06ba07662e8c291a4a84535379ffc7ac',1,'glfw3.h']]],
['glfw_5fkey_5fright_5falt',['GLFW_KEY_RIGHT_ALT',['../group__keys.html#ga687b38009131cfdd07a8d05fff8fa446',1,'glfw3.h']]],
['glfw_5fkey_5fright_5fbracket',['GLFW_KEY_RIGHT_BRACKET',['../group__keys.html#ga86ef225fd6a66404caae71044cdd58d8',1,'glfw3.h']]],
['glfw_5fkey_5fright_5fcontrol',['GLFW_KEY_RIGHT_CONTROL',['../group__keys.html#gad1ca2094b2694e7251d0ab1fd34f8519',1,'glfw3.h']]],
['glfw_5fkey_5fright_5fshift',['GLFW_KEY_RIGHT_SHIFT',['../group__keys.html#gaffca36b99c9dce1a19cb9befbadce691',1,'glfw3.h']]],
['glfw_5fkey_5fright_5fsuper',['GLFW_KEY_RIGHT_SUPER',['../group__keys.html#gad4547a3e8e247594acb60423fe6502db',1,'glfw3.h']]],
['glfw_5fkey_5fs',['GLFW_KEY_S',['../group__keys.html#ga1570e2ccaab036ea82bed66fc1dab2a9',1,'glfw3.h']]],
['glfw_5fkey_5fscroll_5flock',['GLFW_KEY_SCROLL_LOCK',['../group__keys.html#gaf622b63b9537f7084c2ab649b8365630',1,'glfw3.h']]],
['glfw_5fkey_5fsemicolon',['GLFW_KEY_SEMICOLON',['../group__keys.html#ga84233de9ee5bb3e8788a5aa07d80af7d',1,'glfw3.h']]],
['glfw_5fkey_5fslash',['GLFW_KEY_SLASH',['../group__keys.html#gadf3d753b2d479148d711de34b83fd0db',1,'glfw3.h']]],
['glfw_5fkey_5fspace',['GLFW_KEY_SPACE',['../group__keys.html#gaddb2c23772b97fd7e26e8ee66f1ad014',1,'glfw3.h']]],
['glfw_5fkey_5ft',['GLFW_KEY_T',['../group__keys.html#ga90e0560422ec7a30e7f3f375bc9f37f9',1,'glfw3.h']]],
['glfw_5fkey_5ftab',['GLFW_KEY_TAB',['../group__keys.html#ga6908a4bda9950a3e2b73f794bbe985df',1,'glfw3.h']]],
['glfw_5fkey_5fu',['GLFW_KEY_U',['../group__keys.html#gacad52f3bf7d378fc0ffa72a76769256d',1,'glfw3.h']]],
['glfw_5fkey_5funknown',['GLFW_KEY_UNKNOWN',['../group__keys.html#ga99aacc875b6b27a072552631e13775c7',1,'glfw3.h']]],
['glfw_5fkey_5fup',['GLFW_KEY_UP',['../group__keys.html#ga2f3342b194020d3544c67e3506b6f144',1,'glfw3.h']]],
['glfw_5fkey_5fv',['GLFW_KEY_V',['../group__keys.html#ga22c7763899ecf7788862e5f90eacce6b',1,'glfw3.h']]],
['glfw_5fkey_5fw',['GLFW_KEY_W',['../group__keys.html#gaa06a712e6202661fc03da5bdb7b6e545',1,'glfw3.h']]],
['glfw_5fkey_5fworld_5f1',['GLFW_KEY_WORLD_1',['../group__keys.html#gadc78dad3dab76bcd4b5c20114052577a',1,'glfw3.h']]],
['glfw_5fkey_5fworld_5f2',['GLFW_KEY_WORLD_2',['../group__keys.html#ga20494bfebf0bb4fc9503afca18ab2c5e',1,'glfw3.h']]],
['glfw_5fkey_5fx',['GLFW_KEY_X',['../group__keys.html#gac1c42c0bf4192cea713c55598b06b744',1,'glfw3.h']]],
['glfw_5fkey_5fy',['GLFW_KEY_Y',['../group__keys.html#gafd9f115a549effdf8e372a787c360313',1,'glfw3.h']]],
['glfw_5fkey_5fz',['GLFW_KEY_Z',['../group__keys.html#gac489e208c26afda8d4938ed88718760a',1,'glfw3.h']]],
['glfw_5flock_5fkey_5fmods',['GLFW_LOCK_KEY_MODS',['../glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947',1,'glfw3.h']]],
['glfw_5flose_5fcontext_5fon_5freset',['GLFW_LOSE_CONTEXT_ON_RESET',['../glfw3_8h.html#aec1132f245143fc915b2f0995228564c',1,'glfw3.h']]],
['glfw_5fmaximized',['GLFW_MAXIMIZED',['../group__window.html#gad8ccb396253ad0b72c6d4c917eb38a03',1,'glfw3.h']]],
['glfw_5fmod_5falt',['GLFW_MOD_ALT',['../group__mods.html#gad2acd5633463c29e07008687ea73c0f4',1,'glfw3.h']]],
['glfw_5fmod_5fcaps_5flock',['GLFW_MOD_CAPS_LOCK',['../group__mods.html#gaefeef8fcf825a6e43e241b337897200f',1,'glfw3.h']]],
['glfw_5fmod_5fcontrol',['GLFW_MOD_CONTROL',['../group__mods.html#ga6ed94871c3208eefd85713fa929d45aa',1,'glfw3.h']]],
['glfw_5fmod_5fnum_5flock',['GLFW_MOD_NUM_LOCK',['../group__mods.html#ga64e020b8a42af8376e944baf61feecbe',1,'glfw3.h']]],
['glfw_5fmod_5fshift',['GLFW_MOD_SHIFT',['../group__mods.html#ga14994d3196c290aaa347248e51740274',1,'glfw3.h']]],
['glfw_5fmod_5fsuper',['GLFW_MOD_SUPER',['../group__mods.html#ga6b64ba10ea0227cf6f42efd0a220aba1',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f1',['GLFW_MOUSE_BUTTON_1',['../group__buttons.html#ga181a6e875251fd8671654eff00f9112e',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f2',['GLFW_MOUSE_BUTTON_2',['../group__buttons.html#ga604b39b92c88ce9bd332e97fc3f4156c',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f3',['GLFW_MOUSE_BUTTON_3',['../group__buttons.html#ga0130d505563d0236a6f85545f19e1721',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f4',['GLFW_MOUSE_BUTTON_4',['../group__buttons.html#ga53f4097bb01d5521c7d9513418c91ca9',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f5',['GLFW_MOUSE_BUTTON_5',['../group__buttons.html#gaf08c4ddecb051d3d9667db1d5e417c9c',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f6',['GLFW_MOUSE_BUTTON_6',['../group__buttons.html#gae8513e06aab8aa393b595f22c6d8257a',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f7',['GLFW_MOUSE_BUTTON_7',['../group__buttons.html#ga8b02a1ab55dde45b3a3883d54ffd7dc7',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f8',['GLFW_MOUSE_BUTTON_8',['../group__buttons.html#ga35d5c4263e0dc0d0a4731ca6c562f32c',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5flast',['GLFW_MOUSE_BUTTON_LAST',['../group__buttons.html#gab1fd86a4518a9141ec7bcde2e15a2fdf',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5fleft',['GLFW_MOUSE_BUTTON_LEFT',['../group__buttons.html#gaf37100431dcd5082d48f95ee8bc8cd56',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5fmiddle',['GLFW_MOUSE_BUTTON_MIDDLE',['../group__buttons.html#ga34a4d2a701434f763fd93a2ff842b95a',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5fright',['GLFW_MOUSE_BUTTON_RIGHT',['../group__buttons.html#ga3e2f2cf3c4942df73cc094247d275e74',1,'glfw3.h']]],
['glfw_5fnative_5fcontext_5fapi',['GLFW_NATIVE_CONTEXT_API',['../glfw3_8h.html#a0494c9bfd3f584ab41e6dbeeaa0e6a19',1,'glfw3.h']]],
['glfw_5fno_5fapi',['GLFW_NO_API',['../glfw3_8h.html#a8f6dcdc968d214ff14779564f1389264',1,'glfw3.h']]],
['glfw_5fno_5fcurrent_5fcontext',['GLFW_NO_CURRENT_CONTEXT',['../group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0',1,'glfw3.h']]],
['glfw_5fno_5ferror',['GLFW_NO_ERROR',['../group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4',1,'glfw3.h']]],
['glfw_5fno_5freset_5fnotification',['GLFW_NO_RESET_NOTIFICATION',['../glfw3_8h.html#aee84a679230d205005e22487ff678a85',1,'glfw3.h']]],
['glfw_5fno_5frobustness',['GLFW_NO_ROBUSTNESS',['../glfw3_8h.html#a8b306cb27f5bb0d6d67c7356a0e0fc34',1,'glfw3.h']]],
['glfw_5fno_5fwindow_5fcontext',['GLFW_NO_WINDOW_CONTEXT',['../group__errors.html#gacff24d2757da752ae4c80bf452356487',1,'glfw3.h']]],
['glfw_5fnot_5finitialized',['GLFW_NOT_INITIALIZED',['../group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a',1,'glfw3.h']]],
['glfw_5fopengl_5fany_5fprofile',['GLFW_OPENGL_ANY_PROFILE',['../glfw3_8h.html#ad6f2335d6f21cc9bab96633b1c111d5f',1,'glfw3.h']]],
['glfw_5fopengl_5fapi',['GLFW_OPENGL_API',['../glfw3_8h.html#a01b3f66db266341425e9abee6b257db2',1,'glfw3.h']]],
['glfw_5fopengl_5fcompat_5fprofile',['GLFW_OPENGL_COMPAT_PROFILE',['../glfw3_8h.html#ac06b663d79c8fcf04669cc8fcc0b7670',1,'glfw3.h']]],
['glfw_5fopengl_5fcore_5fprofile',['GLFW_OPENGL_CORE_PROFILE',['../glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8',1,'glfw3.h']]],
['glfw_5fopengl_5fdebug_5fcontext',['GLFW_OPENGL_DEBUG_CONTEXT',['../group__window.html#ga87ec2df0b915201e950ca42d5d0831e1',1,'glfw3.h']]],
['glfw_5fopengl_5fes_5fapi',['GLFW_OPENGL_ES_API',['../glfw3_8h.html#a28d9b3bc6c2a522d815c8e146595051f',1,'glfw3.h']]],
['glfw_5fopengl_5fforward_5fcompat',['GLFW_OPENGL_FORWARD_COMPAT',['../group__window.html#ga13d24b12465da8b28985f46c8557925b',1,'glfw3.h']]],
['glfw_5fopengl_5fprofile',['GLFW_OPENGL_PROFILE',['../group__window.html#ga44f3a6b4261fbe351e0b950b0f372e12',1,'glfw3.h']]],
['glfw_5fosmesa_5fcontext_5fapi',['GLFW_OSMESA_CONTEXT_API',['../glfw3_8h.html#afd34a473af9fa81f317910ea371b19e3',1,'glfw3.h']]],
['glfw_5fout_5fof_5fmemory',['GLFW_OUT_OF_MEMORY',['../group__errors.html#ga9023953a2bcb98c2906afd071d21ee7f',1,'glfw3.h']]],
['glfw_5fplatform_5ferror',['GLFW_PLATFORM_ERROR',['../group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1',1,'glfw3.h']]],
['glfw_5fpress',['GLFW_PRESS',['../group__input.html#ga2485743d0b59df3791c45951c4195265',1,'glfw3.h']]],
['glfw_5fraw_5fmouse_5fmotion',['GLFW_RAW_MOUSE_MOTION',['../glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb',1,'glfw3.h']]],
['glfw_5fred_5fbits',['GLFW_RED_BITS',['../group__window.html#gaf78ed8e417dbcc1e354906cc2708c982',1,'glfw3.h']]],
['glfw_5frefresh_5frate',['GLFW_REFRESH_RATE',['../group__window.html#ga0f20825e6e47ee8ba389024519682212',1,'glfw3.h']]],
['glfw_5frelease',['GLFW_RELEASE',['../group__input.html#gada11d965c4da13090ad336e030e4d11f',1,'glfw3.h']]],
['glfw_5frelease_5fbehavior_5fflush',['GLFW_RELEASE_BEHAVIOR_FLUSH',['../glfw3_8h.html#a999961d391db49cb4f949c1dece0e13b',1,'glfw3.h']]],
['glfw_5frelease_5fbehavior_5fnone',['GLFW_RELEASE_BEHAVIOR_NONE',['../glfw3_8h.html#afca09088eccacdce4b59036cfae349c5',1,'glfw3.h']]],
['glfw_5frepeat',['GLFW_REPEAT',['../group__input.html#gac96fd3b9fc66c6f0eebaf6532595338f',1,'glfw3.h']]],
['glfw_5fresizable',['GLFW_RESIZABLE',['../group__window.html#gadba13c7a1b3aa40831eb2beedbd5bd1d',1,'glfw3.h']]],
['glfw_5fsamples',['GLFW_SAMPLES',['../group__window.html#ga2cdf86fdcb7722fb8829c4e201607535',1,'glfw3.h']]],
['glfw_5fscale_5fto_5fmonitor',['GLFW_SCALE_TO_MONITOR',['../group__window.html#ga620bc4280c7eab81ac9f02204500ed47',1,'glfw3.h']]],
['glfw_5fsrgb_5fcapable',['GLFW_SRGB_CAPABLE',['../group__window.html#ga444a8f00414a63220591f9fdb7b5642b',1,'glfw3.h']]],
['glfw_5fstencil_5fbits',['GLFW_STENCIL_BITS',['../group__window.html#ga5339890a45a1fb38e93cb9fcc5fd069d',1,'glfw3.h']]],
['glfw_5fstereo',['GLFW_STEREO',['../group__window.html#ga83d991efca02537e2d69969135b77b03',1,'glfw3.h']]],
['glfw_5fsticky_5fkeys',['GLFW_STICKY_KEYS',['../glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc',1,'glfw3.h']]],
['glfw_5fsticky_5fmouse_5fbuttons',['GLFW_STICKY_MOUSE_BUTTONS',['../glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1',1,'glfw3.h']]],
['glfw_5ftransparent_5fframebuffer',['GLFW_TRANSPARENT_FRAMEBUFFER',['../group__window.html#ga60a0578c3b9449027d683a9c6abb9f14',1,'glfw3.h']]],
['glfw_5ftrue',['GLFW_TRUE',['../group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba',1,'glfw3.h']]],
['glfw_5fversion_5fmajor',['GLFW_VERSION_MAJOR',['../group__init.html#ga6337d9ea43b22fc529b2bba066b4a576',1,'glfw3.h']]],
['glfw_5fversion_5fminor',['GLFW_VERSION_MINOR',['../group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3',1,'glfw3.h']]],
['glfw_5fversion_5frevision',['GLFW_VERSION_REVISION',['../group__init.html#gab72ae2e2035d9ea461abc3495eac0502',1,'glfw3.h']]],
['glfw_5fversion_5funavailable',['GLFW_VERSION_UNAVAILABLE',['../group__errors.html#gad16c5565b4a69f9c2a9ac2c0dbc89462',1,'glfw3.h']]],
['glfw_5fvisible',['GLFW_VISIBLE',['../group__window.html#gafb3cdc45297e06d8f1eb13adc69ca6c4',1,'glfw3.h']]],
['glfw_5fvresize_5fcursor',['GLFW_VRESIZE_CURSOR',['../group__shapes.html#gaf024f0e1ff8366fb2b5c260509a1fce5',1,'glfw3.h']]],
['glfw_5fx11_5fclass_5fname',['GLFW_X11_CLASS_NAME',['../group__window.html#gae5a9ea2fccccd92edbd343fc56461114',1,'glfw3.h']]],
['glfw_5fx11_5finstance_5fname',['GLFW_X11_INSTANCE_NAME',['../group__window.html#ga494c3c0d911e4b860b946530a3e389e8',1,'glfw3.h']]],
['glfwcharfun',['GLFWcharfun',['../group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f',1,'glfw3.h']]],
['glfwcharmodsfun',['GLFWcharmodsfun',['../group__input.html#gae36fb6897d2b7df9b128900c8ce9c507',1,'glfw3.h']]],
['glfwcreatecursor',['glfwCreateCursor',['../group__input.html#gafca356935e10135016aa49ffa464c355',1,'glfw3.h']]],
['glfwcreatestandardcursor',['glfwCreateStandardCursor',['../group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894',1,'glfw3.h']]],
['glfwcreatewindow',['glfwCreateWindow',['../group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344',1,'glfw3.h']]],
['glfwcreatewindowsurface',['glfwCreateWindowSurface',['../group__vulkan.html#ga1a24536bec3f80b08ead18e28e6ae965',1,'glfw3.h']]],
['glfwcursor',['GLFWcursor',['../group__input.html#ga89261ae18c75e863aaf2656ecdd238f4',1,'glfw3.h']]],
['glfwcursorenterfun',['GLFWcursorenterfun',['../group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840',1,'glfw3.h']]],
['glfwcursorposfun',['GLFWcursorposfun',['../group__input.html#ga4cfad918fa836f09541e7b9acd36686c',1,'glfw3.h']]],
['glfwdefaultwindowhints',['glfwDefaultWindowHints',['../group__window.html#gaa77c4898dfb83344a6b4f76aa16b9a4a',1,'glfw3.h']]],
['glfwdestroycursor',['glfwDestroyCursor',['../group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a',1,'glfw3.h']]],
['glfwdestroywindow',['glfwDestroyWindow',['../group__window.html#gacdf43e51376051d2c091662e9fe3d7b2',1,'glfw3.h']]],
['glfwdropfun',['GLFWdropfun',['../group__input.html#gab71f4ca80b651462852e601caf308c4a',1,'glfw3.h']]],
['glfwerrorfun',['GLFWerrorfun',['../group__init.html#ga6b8a2639706d5c409fc1287e8f55e928',1,'glfw3.h']]],
['glfwextensionsupported',['glfwExtensionSupported',['../group__context.html#ga87425065c011cef1ebd6aac75e059dfa',1,'glfw3.h']]],
['glfwfocuswindow',['glfwFocusWindow',['../group__window.html#ga873780357abd3f3a081d71a40aae45a1',1,'glfw3.h']]],
['glfwframebuffersizefun',['GLFWframebuffersizefun',['../group__window.html#ga3e218ef9ff826129c55a7d5f6971a285',1,'glfw3.h']]],
['glfwgamepadstate',['GLFWgamepadstate',['../structGLFWgamepadstate.html',1,'GLFWgamepadstate'],['../group__input.html#ga0b86867abb735af3b959f61c44b1d029',1,'GLFWgamepadstate():&#160;glfw3.h']]],
['glfwgammaramp',['GLFWgammaramp',['../structGLFWgammaramp.html',1,'GLFWgammaramp'],['../group__monitor.html#gaec0bd37af673be8813592849f13e02f0',1,'GLFWgammaramp():&#160;glfw3.h']]],
['glfwgetclipboardstring',['glfwGetClipboardString',['../group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94',1,'glfw3.h']]],
['glfwgetcocoamonitor',['glfwGetCocoaMonitor',['../group__native.html#gaf22f429aec4b1aab316142d66d9be3e6',1,'glfw3native.h']]],
['glfwgetcocoawindow',['glfwGetCocoaWindow',['../group__native.html#gac3ed9d495d0c2bb9652de5a50c648715',1,'glfw3native.h']]],
['glfwgetcurrentcontext',['glfwGetCurrentContext',['../group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d',1,'glfw3.h']]],
['glfwgetcursorpos',['glfwGetCursorPos',['../group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc',1,'glfw3.h']]],
['glfwgeteglcontext',['glfwGetEGLContext',['../group__native.html#ga671c5072becd085f4ab5771a9c8efcf1',1,'glfw3native.h']]],
['glfwgetegldisplay',['glfwGetEGLDisplay',['../group__native.html#ga1cd8d973f47aacb5532d368147cc3138',1,'glfw3native.h']]],
['glfwgeteglsurface',['glfwGetEGLSurface',['../group__native.html#ga2199b36117a6a695fec8441d8052eee6',1,'glfw3native.h']]],
['glfwgeterror',['glfwGetError',['../group__init.html#ga944986b4ec0b928d488141f92982aa18',1,'glfw3.h']]],
['glfwgetframebuffersize',['glfwGetFramebufferSize',['../group__window.html#ga0e2637a4161afb283f5300c7f94785c9',1,'glfw3.h']]],
['glfwgetgamepadname',['glfwGetGamepadName',['../group__input.html#ga5c71e3533b2d384db9317fcd7661b210',1,'glfw3.h']]],
['glfwgetgamepadstate',['glfwGetGamepadState',['../group__input.html#gadccddea8bce6113fa459de379ddaf051',1,'glfw3.h']]],
['glfwgetgammaramp',['glfwGetGammaRamp',['../group__monitor.html#gab7c41deb2219bde3e1eb756ddaa9ec80',1,'glfw3.h']]],
['glfwgetglxcontext',['glfwGetGLXContext',['../group__native.html#ga62d884114b0abfcdc2930e89f20867e2',1,'glfw3native.h']]],
['glfwgetglxwindow',['glfwGetGLXWindow',['../group__native.html#ga1ed27b8766e859a21381e8f8ce18d049',1,'glfw3native.h']]],
['glfwgetinputmode',['glfwGetInputMode',['../group__input.html#gaf5b859dbe19bdf434e42695ea45cc5f4',1,'glfw3.h']]],
['glfwgetinstanceprocaddress',['glfwGetInstanceProcAddress',['../group__vulkan.html#gadf228fac94c5fd8f12423ec9af9ff1e9',1,'glfw3.h']]],
['glfwgetjoystickaxes',['glfwGetJoystickAxes',['../group__input.html#gaa8806536731e92c061bc70bcff6edbd0',1,'glfw3.h']]],
['glfwgetjoystickbuttons',['glfwGetJoystickButtons',['../group__input.html#gadb3cbf44af90a1536f519659a53bddd6',1,'glfw3.h']]],
['glfwgetjoystickguid',['glfwGetJoystickGUID',['../group__input.html#gae168c2c0b8cf2a1cb67c6b3c00bdd543',1,'glfw3.h']]],
['glfwgetjoystickhats',['glfwGetJoystickHats',['../group__input.html#ga2d8d0634bb81c180899aeb07477a67ea',1,'glfw3.h']]],
['glfwgetjoystickname',['glfwGetJoystickName',['../group__input.html#gafbe3e51f670320908cfe4e20d3e5559e',1,'glfw3.h']]],
['glfwgetjoystickuserpointer',['glfwGetJoystickUserPointer',['../group__input.html#ga06290acb7ed23895bf26b8e981827ebd',1,'glfw3.h']]],
['glfwgetkey',['glfwGetKey',['../group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2',1,'glfw3.h']]],
['glfwgetkeyname',['glfwGetKeyName',['../group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be',1,'glfw3.h']]],
['glfwgetkeyscancode',['glfwGetKeyScancode',['../group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a',1,'glfw3.h']]],
['glfwgetmonitorcontentscale',['glfwGetMonitorContentScale',['../group__monitor.html#gad3152e84465fa620b601265ebfcdb21b',1,'glfw3.h']]],
['glfwgetmonitorname',['glfwGetMonitorName',['../group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf',1,'glfw3.h']]],
['glfwgetmonitorphysicalsize',['glfwGetMonitorPhysicalSize',['../group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea',1,'glfw3.h']]],
['glfwgetmonitorpos',['glfwGetMonitorPos',['../group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9',1,'glfw3.h']]],
['glfwgetmonitors',['glfwGetMonitors',['../group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537',1,'glfw3.h']]],
['glfwgetmonitoruserpointer',['glfwGetMonitorUserPointer',['../group__monitor.html#gac2d4209016b049222877f620010ed0d8',1,'glfw3.h']]],
['glfwgetmonitorworkarea',['glfwGetMonitorWorkarea',['../group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0',1,'glfw3.h']]],
['glfwgetmousebutton',['glfwGetMouseButton',['../group__input.html#gac1473feacb5996c01a7a5a33b5066704',1,'glfw3.h']]],
['glfwgetnsglcontext',['glfwGetNSGLContext',['../group__native.html#ga559e002e3cd63c979881770cd4dc63bc',1,'glfw3native.h']]],
['glfwgetosmesacolorbuffer',['glfwGetOSMesaColorBuffer',['../group__native.html#ga3b36e3e3dcf308b776427b6bd73cc132',1,'glfw3native.h']]],
['glfwgetosmesacontext',['glfwGetOSMesaContext',['../group__native.html#ga9e47700080094eb569cb053afaa88773',1,'glfw3native.h']]],
['glfwgetosmesadepthbuffer',['glfwGetOSMesaDepthBuffer',['../group__native.html#ga6b64039ffc88a7a2f57f0956c0c75d53',1,'glfw3native.h']]],
['glfwgetphysicaldevicepresentationsupport',['glfwGetPhysicalDevicePresentationSupport',['../group__vulkan.html#gaff3823355cdd7e2f3f9f4d9ea9518d92',1,'glfw3.h']]],
['glfwgetprimarymonitor',['glfwGetPrimaryMonitor',['../group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1',1,'glfw3.h']]],
['glfwgetprocaddress',['glfwGetProcAddress',['../group__context.html#ga35f1837e6f666781842483937612f163',1,'glfw3.h']]],
['glfwgetrequiredinstanceextensions',['glfwGetRequiredInstanceExtensions',['../group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1',1,'glfw3.h']]],
['glfwgettime',['glfwGetTime',['../group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a',1,'glfw3.h']]],
['glfwgettimerfrequency',['glfwGetTimerFrequency',['../group__input.html#ga3289ee876572f6e91f06df3a24824443',1,'glfw3.h']]],
['glfwgettimervalue',['glfwGetTimerValue',['../group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa',1,'glfw3.h']]],
['glfwgetversion',['glfwGetVersion',['../group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197',1,'glfw3.h']]],
['glfwgetversionstring',['glfwGetVersionString',['../group__init.html#ga23d47dc013fce2bf58036da66079a657',1,'glfw3.h']]],
['glfwgetvideomode',['glfwGetVideoMode',['../group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52',1,'glfw3.h']]],
['glfwgetvideomodes',['glfwGetVideoModes',['../group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458',1,'glfw3.h']]],
['glfwgetwaylanddisplay',['glfwGetWaylandDisplay',['../group__native.html#gaaf8118a3c877f3a6bc8e7a649519de5e',1,'glfw3native.h']]],
['glfwgetwaylandmonitor',['glfwGetWaylandMonitor',['../group__native.html#gab10427a667b6cd91eec7709f7a906bd3',1,'glfw3native.h']]],
['glfwgetwaylandwindow',['glfwGetWaylandWindow',['../group__native.html#ga4738d7aca4191363519a9a641c3ab64c',1,'glfw3native.h']]],
['glfwgetwglcontext',['glfwGetWGLContext',['../group__native.html#gadc4010d91d9cc1134d040eeb1202a143',1,'glfw3native.h']]],
['glfwgetwin32adapter',['glfwGetWin32Adapter',['../group__native.html#gac84f63a3f9db145b9435e5e0dbc4183d',1,'glfw3native.h']]],
['glfwgetwin32monitor',['glfwGetWin32Monitor',['../group__native.html#gac408b09a330749402d5d1fa1f5894dd9',1,'glfw3native.h']]],
['glfwgetwin32window',['glfwGetWin32Window',['../group__native.html#gafe5079aa79038b0079fc09d5f0a8e667',1,'glfw3native.h']]],
['glfwgetwindowattrib',['glfwGetWindowAttrib',['../group__window.html#gacccb29947ea4b16860ebef42c2cb9337',1,'glfw3.h']]],
['glfwgetwindowcontentscale',['glfwGetWindowContentScale',['../group__window.html#gaf5d31de9c19c4f994facea64d2b3106c',1,'glfw3.h']]],
['glfwgetwindowframesize',['glfwGetWindowFrameSize',['../group__window.html#ga1a9fd382058c53101b21cf211898f1f1',1,'glfw3.h']]],
['glfwgetwindowmonitor',['glfwGetWindowMonitor',['../group__window.html#gaeac25e64789974ccbe0811766bd91a16',1,'glfw3.h']]],
['glfwgetwindowopacity',['glfwGetWindowOpacity',['../group__window.html#gad09f0bd7a6307c4533b7061828480a84',1,'glfw3.h']]],
['glfwgetwindowpos',['glfwGetWindowPos',['../group__window.html#ga73cb526c000876fd8ddf571570fdb634',1,'glfw3.h']]],
['glfwgetwindowsize',['glfwGetWindowSize',['../group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6',1,'glfw3.h']]],
['glfwgetwindowuserpointer',['glfwGetWindowUserPointer',['../group__window.html#ga17807ce0f45ac3f8bb50d6dcc59a4e06',1,'glfw3.h']]],
['glfwgetx11adapter',['glfwGetX11Adapter',['../group__native.html#ga088fbfa80f50569402b41be71ad66e40',1,'glfw3native.h']]],
['glfwgetx11display',['glfwGetX11Display',['../group__native.html#ga8519b66594ea3ef6eeafaa2e3ee37406',1,'glfw3native.h']]],
['glfwgetx11monitor',['glfwGetX11Monitor',['../group__native.html#gab2f8cc043905e9fa9b12bfdbbcfe874c',1,'glfw3native.h']]],
['glfwgetx11selectionstring',['glfwGetX11SelectionString',['../group__native.html#ga72f23e3980b83788c70aa854eca31430',1,'glfw3native.h']]],
['glfwgetx11window',['glfwGetX11Window',['../group__native.html#ga90ca676322740842db446999a1b1f21d',1,'glfw3native.h']]],
['glfwglproc',['GLFWglproc',['../group__context.html#ga3d47c2d2fbe0be9c505d0e04e91a133c',1,'glfw3.h']]],
['glfwhidewindow',['glfwHideWindow',['../group__window.html#ga49401f82a1ba5f15db5590728314d47c',1,'glfw3.h']]],
['glfwiconifywindow',['glfwIconifyWindow',['../group__window.html#ga1bb559c0ebaad63c5c05ad2a066779c4',1,'glfw3.h']]],
['glfwimage',['GLFWimage',['../structGLFWimage.html',1,'GLFWimage'],['../group__window.html#gac81c32f4437de7b3aa58ab62c3d9e5b1',1,'GLFWimage():&#160;glfw3.h']]],
['glfwinit',['glfwInit',['../group__init.html#ga317aac130a235ab08c6db0834907d85e',1,'glfw3.h']]],
['glfwinithint',['glfwInitHint',['../group__init.html#ga110fd1d3f0412822b4f1908c026f724a',1,'glfw3.h']]],
['glfwjoystickfun',['GLFWjoystickfun',['../group__input.html#gaa67aa597e974298c748bfe4fb17d406d',1,'glfw3.h']]],
['glfwjoystickisgamepad',['glfwJoystickIsGamepad',['../group__input.html#gad0f676860f329d80f7e47e9f06a96f00',1,'glfw3.h']]],
['glfwjoystickpresent',['glfwJoystickPresent',['../group__input.html#gaed0966cee139d815317f9ffcba64c9f1',1,'glfw3.h']]],
['glfwkeyfun',['GLFWkeyfun',['../group__input.html#ga0192a232a41e4e82948217c8ba94fdfd',1,'glfw3.h']]],
['glfwmakecontextcurrent',['glfwMakeContextCurrent',['../group__context.html#ga1c04dc242268f827290fe40aa1c91157',1,'glfw3.h']]],
['glfwmaximizewindow',['glfwMaximizeWindow',['../group__window.html#ga3f541387449d911274324ae7f17ec56b',1,'glfw3.h']]],
['glfwmonitor',['GLFWmonitor',['../group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3',1,'glfw3.h']]],
['glfwmonitorfun',['GLFWmonitorfun',['../group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63',1,'glfw3.h']]],
['glfwmousebuttonfun',['GLFWmousebuttonfun',['../group__input.html#ga39893a4a7e7c3239c98d29c9e084350c',1,'glfw3.h']]],
['glfwpollevents',['glfwPollEvents',['../group__window.html#ga37bd57223967b4211d60ca1a0bf3c832',1,'glfw3.h']]],
['glfwpostemptyevent',['glfwPostEmptyEvent',['../group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9',1,'glfw3.h']]],
['glfwrawmousemotionsupported',['glfwRawMouseMotionSupported',['../group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2',1,'glfw3.h']]],
['glfwrequestwindowattention',['glfwRequestWindowAttention',['../group__window.html#ga2f8d59323fc4692c1d54ba08c863a703',1,'glfw3.h']]],
['glfwrestorewindow',['glfwRestoreWindow',['../group__window.html#ga52527a5904b47d802b6b4bb519cdebc7',1,'glfw3.h']]],
['glfwscrollfun',['GLFWscrollfun',['../group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9',1,'glfw3.h']]],
['glfwsetcharcallback',['glfwSetCharCallback',['../group__input.html#ga556239421c6a5a243c66fca28da9f742',1,'glfw3.h']]],
['glfwsetcharmodscallback',['glfwSetCharModsCallback',['../group__input.html#ga3f55ef5dc03a374e567f068b13c94afc',1,'glfw3.h']]],
['glfwsetclipboardstring',['glfwSetClipboardString',['../group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd',1,'glfw3.h']]],
['glfwsetcursor',['glfwSetCursor',['../group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e',1,'glfw3.h']]],
['glfwsetcursorentercallback',['glfwSetCursorEnterCallback',['../group__input.html#gaa299c41dd0a3d171d166354e01279e04',1,'glfw3.h']]],
['glfwsetcursorpos',['glfwSetCursorPos',['../group__input.html#ga04b03af936d906ca123c8f4ee08b39e7',1,'glfw3.h']]],
['glfwsetcursorposcallback',['glfwSetCursorPosCallback',['../group__input.html#ga7dad39486f2c7591af7fb25134a2501d',1,'glfw3.h']]],
['glfwsetdropcallback',['glfwSetDropCallback',['../group__input.html#ga41291bf15dd3ff564b3143aa6dc74a4b',1,'glfw3.h']]],
['glfwseterrorcallback',['glfwSetErrorCallback',['../group__init.html#gaa5d796c3cf7c1a7f02f845486333fb5f',1,'glfw3.h']]],
['glfwsetframebuffersizecallback',['glfwSetFramebufferSizeCallback',['../group__window.html#ga3203461a5303bf289f2e05f854b2f7cf',1,'glfw3.h']]],
['glfwsetgamma',['glfwSetGamma',['../group__monitor.html#ga6ac582625c990220785ddd34efa3169a',1,'glfw3.h']]],
['glfwsetgammaramp',['glfwSetGammaRamp',['../group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd',1,'glfw3.h']]],
['glfwsetinputmode',['glfwSetInputMode',['../group__input.html#gaa92336e173da9c8834558b54ee80563b',1,'glfw3.h']]],
['glfwsetjoystickcallback',['glfwSetJoystickCallback',['../group__input.html#gab1dc8379f1b82bb660a6b9c9fa06ca07',1,'glfw3.h']]],
['glfwsetjoystickuserpointer',['glfwSetJoystickUserPointer',['../group__input.html#ga6b2f72d64d636b48a727b437cbb7489e',1,'glfw3.h']]],
['glfwsetkeycallback',['glfwSetKeyCallback',['../group__input.html#ga7e496507126f35ea72f01b2e6ef6d155',1,'glfw3.h']]],
['glfwsetmonitorcallback',['glfwSetMonitorCallback',['../group__monitor.html#gac3fe0f647f68b731f99756cd81897378',1,'glfw3.h']]],
['glfwsetmonitoruserpointer',['glfwSetMonitorUserPointer',['../group__monitor.html#ga702750e24313a686d3637297b6e85fda',1,'glfw3.h']]],
['glfwsetmousebuttoncallback',['glfwSetMouseButtonCallback',['../group__input.html#gaef49b72d84d615bca0a6ed65485e035d',1,'glfw3.h']]],
['glfwsetscrollcallback',['glfwSetScrollCallback',['../group__input.html#gacf02eb10504352f16efda4593c3ce60e',1,'glfw3.h']]],
['glfwsettime',['glfwSetTime',['../group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0',1,'glfw3.h']]],
['glfwsetwindowaspectratio',['glfwSetWindowAspectRatio',['../group__window.html#ga72ac8cb1ee2e312a878b55153d81b937',1,'glfw3.h']]],
['glfwsetwindowattrib',['glfwSetWindowAttrib',['../group__window.html#gace2afda29b4116ec012e410a6819033e',1,'glfw3.h']]],
['glfwsetwindowclosecallback',['glfwSetWindowCloseCallback',['../group__window.html#gaade9264e79fae52bdb78e2df11ee8d6a',1,'glfw3.h']]],
['glfwsetwindowcontentscalecallback',['glfwSetWindowContentScaleCallback',['../group__window.html#gabf3622cde4c10fac35875e24992ec26d',1,'glfw3.h']]],
['glfwsetwindowfocuscallback',['glfwSetWindowFocusCallback',['../group__window.html#ga25d1c584edb375d7711c5c3548ba711f',1,'glfw3.h']]],
['glfwsetwindowicon',['glfwSetWindowIcon',['../group__window.html#gadd7ccd39fe7a7d1f0904666ae5932dc5',1,'glfw3.h']]],
['glfwsetwindowiconifycallback',['glfwSetWindowIconifyCallback',['../group__window.html#gab1ea7263081c0e073b8d5b91d6ffd367',1,'glfw3.h']]],
['glfwsetwindowmaximizecallback',['glfwSetWindowMaximizeCallback',['../group__window.html#gaf8548ef61cb09150e09a6d33ddfa705e',1,'glfw3.h']]],
['glfwsetwindowmonitor',['glfwSetWindowMonitor',['../group__window.html#ga81c76c418af80a1cce7055bccb0ae0a7',1,'glfw3.h']]],
['glfwsetwindowopacity',['glfwSetWindowOpacity',['../group__window.html#gac31caeb3d1088831b13d2c8a156802e9',1,'glfw3.h']]],
['glfwsetwindowpos',['glfwSetWindowPos',['../group__window.html#ga1abb6d690e8c88e0c8cd1751356dbca8',1,'glfw3.h']]],
['glfwsetwindowposcallback',['glfwSetWindowPosCallback',['../group__window.html#ga2837d4d240659feb4268fcb6530a6ba1',1,'glfw3.h']]],
['glfwsetwindowrefreshcallback',['glfwSetWindowRefreshCallback',['../group__window.html#ga4569b76e8ac87c55b53199e6becd97eb',1,'glfw3.h']]],
['glfwsetwindowshouldclose',['glfwSetWindowShouldClose',['../group__window.html#ga49c449dde2a6f87d996f4daaa09d6708',1,'glfw3.h']]],
['glfwsetwindowsize',['glfwSetWindowSize',['../group__window.html#ga371911f12c74c504dd8d47d832d095cb',1,'glfw3.h']]],
['glfwsetwindowsizecallback',['glfwSetWindowSizeCallback',['../group__window.html#gaa40cd24840daa8c62f36cafc847c72b6',1,'glfw3.h']]],
['glfwsetwindowsizelimits',['glfwSetWindowSizeLimits',['../group__window.html#gac314fa6cec7d2d307be9963e2709cc90',1,'glfw3.h']]],
['glfwsetwindowtitle',['glfwSetWindowTitle',['../group__window.html#ga5d877f09e968cef7a360b513306f17ff',1,'glfw3.h']]],
['glfwsetwindowuserpointer',['glfwSetWindowUserPointer',['../group__window.html#ga3d2fc6026e690ab31a13f78bc9fd3651',1,'glfw3.h']]],
['glfwsetx11selectionstring',['glfwSetX11SelectionString',['../group__native.html#ga55f879ab02d93367f966186b6f0133f7',1,'glfw3native.h']]],
['glfwshowwindow',['glfwShowWindow',['../group__window.html#ga61be47917b72536a148300f46494fc66',1,'glfw3.h']]],
['glfwswapbuffers',['glfwSwapBuffers',['../group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14',1,'glfw3.h']]],
['glfwswapinterval',['glfwSwapInterval',['../group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed',1,'glfw3.h']]],
['glfwterminate',['glfwTerminate',['../group__init.html#gaaae48c0a18607ea4a4ba951d939f0901',1,'glfw3.h']]],
['glfwupdategamepadmappings',['glfwUpdateGamepadMappings',['../group__input.html#gaed5104612f2fa8e66aa6e846652ad00f',1,'glfw3.h']]],
['glfwvidmode',['GLFWvidmode',['../structGLFWvidmode.html',1,'GLFWvidmode'],['../group__monitor.html#gae48aadf4ea0967e6605c8f58fa5daccb',1,'GLFWvidmode():&#160;glfw3.h']]],
['glfwvkproc',['GLFWvkproc',['../group__vulkan.html#ga70c01918dc9d233a4fbe0681a43018af',1,'glfw3.h']]],
['glfwvulkansupported',['glfwVulkanSupported',['../group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b',1,'glfw3.h']]],
['glfwwaitevents',['glfwWaitEvents',['../group__window.html#ga554e37d781f0a997656c26b2c56c835e',1,'glfw3.h']]],
['glfwwaiteventstimeout',['glfwWaitEventsTimeout',['../group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf',1,'glfw3.h']]],
['glfwwindow',['GLFWwindow',['../group__window.html#ga3c96d80d363e67d13a41b5d1821f3242',1,'glfw3.h']]],
['glfwwindowclosefun',['GLFWwindowclosefun',['../group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e',1,'glfw3.h']]],
['glfwwindowcontentscalefun',['GLFWwindowcontentscalefun',['../group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd',1,'glfw3.h']]],
['glfwwindowfocusfun',['GLFWwindowfocusfun',['../group__window.html#ga58be2061828dd35080bb438405d3a7e2',1,'glfw3.h']]],
['glfwwindowhint',['glfwWindowHint',['../group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033',1,'glfw3.h']]],
['glfwwindowhintstring',['glfwWindowHintString',['../group__window.html#ga8cb2782861c9d997bcf2dea97f363e5f',1,'glfw3.h']]],
['glfwwindowiconifyfun',['GLFWwindowiconifyfun',['../group__window.html#gad2d4e4c3d28b1242e742e8268b9528af',1,'glfw3.h']]],
['glfwwindowmaximizefun',['GLFWwindowmaximizefun',['../group__window.html#ga7269a3d1cb100c0081f95fc09afa4949',1,'glfw3.h']]],
['glfwwindowposfun',['GLFWwindowposfun',['../group__window.html#gafd8db81fdb0e850549dc6bace5ed697a',1,'glfw3.h']]],
['glfwwindowrefreshfun',['GLFWwindowrefreshfun',['../group__window.html#ga7a56f9e0227e2cd9470d80d919032e08',1,'glfw3.h']]],
['glfwwindowshouldclose',['glfwWindowShouldClose',['../group__window.html#ga24e02fbfefbb81fc45320989f8140ab5',1,'glfw3.h']]],
['glfwwindowsizefun',['GLFWwindowsizefun',['../group__window.html#gae49ee6ebc03fa2da024b89943a331355',1,'glfw3.h']]],
['green',['green',['../structGLFWgammaramp.html#affccc6f5df47820b6562d709da3a5a3a',1,'GLFWgammaramp']]],
['greenbits',['greenBits',['../structGLFWvidmode.html#a292fdd281f3485fb3ff102a5bda43faa',1,'GLFWvidmode']]],
['getting_20started',['Getting started',['../quick_guide.html',1,'']]]
['gamepad_20axes_15',['Gamepad axes',['../group__gamepad__axes.html',1,'']]],
['gamepad_20buttons_16',['Gamepad buttons',['../group__gamepad__buttons.html',1,'']]],
['glapientry_17',['GLAPIENTRY',['../glfw3_8h.html#aa97755eb47e4bf2727ad45d610e18206',1,'glfw3.h']]],
['glfw3_2eh_18',['glfw3.h',['../glfw3_8h.html',1,'']]],
['glfw3native_2eh_19',['glfw3native.h',['../glfw3native_8h.html',1,'']]],
['glfw_5faccum_5falpha_5fbits_20',['GLFW_ACCUM_ALPHA_BITS',['../group__window.html#gae829b55591c18169a40ab4067a041b1f',1,'glfw3.h']]],
['glfw_5faccum_5fblue_5fbits_21',['GLFW_ACCUM_BLUE_BITS',['../group__window.html#ga22bbe9104a8ce1f8b88fb4f186aa36ce',1,'glfw3.h']]],
['glfw_5faccum_5fgreen_5fbits_22',['GLFW_ACCUM_GREEN_BITS',['../group__window.html#ga65713cee1326f8e9d806fdf93187b471',1,'glfw3.h']]],
['glfw_5faccum_5fred_5fbits_23',['GLFW_ACCUM_RED_BITS',['../group__window.html#gaead34a9a683b2bc20eecf30ba738bfc6',1,'glfw3.h']]],
['glfw_5falpha_5fbits_24',['GLFW_ALPHA_BITS',['../group__window.html#gafed79a3f468997877da86c449bd43e8c',1,'glfw3.h']]],
['glfw_5fany_5frelease_5fbehavior_25',['GLFW_ANY_RELEASE_BEHAVIOR',['../glfw3_8h.html#a6b47d806f285efe9bfd7aeec667297ee',1,'glfw3.h']]],
['glfw_5fapi_5funavailable_26',['GLFW_API_UNAVAILABLE',['../group__errors.html#ga56882b290db23261cc6c053c40c2d08e',1,'glfw3.h']]],
['glfw_5fapientry_5fdefined_27',['GLFW_APIENTRY_DEFINED',['../glfw3_8h.html#a8a8538c5500308b4211844f2fb26c7b9',1,'glfw3.h']]],
['glfw_5farrow_5fcursor_28',['GLFW_ARROW_CURSOR',['../group__shapes.html#ga8ab0e717245b85506cb0eaefdea39d0a',1,'glfw3.h']]],
['glfw_5fauto_5ficonify_29',['GLFW_AUTO_ICONIFY',['../group__window.html#ga9d9874fc928200136a6dcdad726aa252',1,'glfw3.h']]],
['glfw_5faux_5fbuffers_30',['GLFW_AUX_BUFFERS',['../group__window.html#gab05108c5029443b371112b031d1fa174',1,'glfw3.h']]],
['glfw_5fblue_5fbits_31',['GLFW_BLUE_BITS',['../group__window.html#gab292ea403db6d514537b515311bf9ae3',1,'glfw3.h']]],
['glfw_5fcenter_5fcursor_32',['GLFW_CENTER_CURSOR',['../group__window.html#ga5ac0847c0aa0b3619f2855707b8a7a77',1,'glfw3.h']]],
['glfw_5fclient_5fapi_33',['GLFW_CLIENT_API',['../group__window.html#ga649309cf72a3d3de5b1348ca7936c95b',1,'glfw3.h']]],
['glfw_5fcocoa_5fchdir_5fresources_34',['GLFW_COCOA_CHDIR_RESOURCES',['../group__init.html#gab937983147a3158d45f88fad7129d9f2',1,'glfw3.h']]],
['glfw_5fcocoa_5fframe_5fname_35',['GLFW_COCOA_FRAME_NAME',['../group__window.html#ga70fa0fbc745de6aa824df79a580e84b5',1,'glfw3.h']]],
['glfw_5fcocoa_5fgraphics_5fswitching_36',['GLFW_COCOA_GRAPHICS_SWITCHING',['../group__window.html#ga53c84ed2ddd94e15bbd44b1f6f7feafc',1,'glfw3.h']]],
['glfw_5fcocoa_5fmenubar_37',['GLFW_COCOA_MENUBAR',['../group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf',1,'glfw3.h']]],
['glfw_5fcocoa_5fretina_5fframebuffer_38',['GLFW_COCOA_RETINA_FRAMEBUFFER',['../group__window.html#gab6ef2d02eb55800d249ccf1af253c35e',1,'glfw3.h']]],
['glfw_5fconnected_39',['GLFW_CONNECTED',['../glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e',1,'glfw3.h']]],
['glfw_5fcontext_5fcreation_5fapi_40',['GLFW_CONTEXT_CREATION_API',['../group__window.html#ga5154cebfcd831c1cc63a4d5ac9bb4486',1,'glfw3.h']]],
['glfw_5fcontext_5fno_5ferror_41',['GLFW_CONTEXT_NO_ERROR',['../group__window.html#ga5a52fdfd46d8249c211f923675728082',1,'glfw3.h']]],
['glfw_5fcontext_5frelease_5fbehavior_42',['GLFW_CONTEXT_RELEASE_BEHAVIOR',['../group__window.html#ga72b648a8378fe3310c7c7bbecc0f7be6',1,'glfw3.h']]],
['glfw_5fcontext_5frevision_43',['GLFW_CONTEXT_REVISION',['../group__window.html#gafb9475071aa77c6fb05ca5a5c8678a08',1,'glfw3.h']]],
['glfw_5fcontext_5frobustness_44',['GLFW_CONTEXT_ROBUSTNESS',['../group__window.html#gade3593916b4c507900aa2d6844810e00',1,'glfw3.h']]],
['glfw_5fcontext_5fversion_5fmajor_45',['GLFW_CONTEXT_VERSION_MAJOR',['../group__window.html#gafe5e4922de1f9932d7e9849bb053b0c0',1,'glfw3.h']]],
['glfw_5fcontext_5fversion_5fminor_46',['GLFW_CONTEXT_VERSION_MINOR',['../group__window.html#ga31aca791e4b538c4e4a771eb95cc2d07',1,'glfw3.h']]],
['glfw_5fcrosshair_5fcursor_47',['GLFW_CROSSHAIR_CURSOR',['../group__shapes.html#ga8af88c0ea05ab9e8f9ac1530e8873c22',1,'glfw3.h']]],
['glfw_5fcursor_48',['GLFW_CURSOR',['../glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c',1,'glfw3.h']]],
['glfw_5fcursor_5fdisabled_49',['GLFW_CURSOR_DISABLED',['../glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88',1,'glfw3.h']]],
['glfw_5fcursor_5fhidden_50',['GLFW_CURSOR_HIDDEN',['../glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11',1,'glfw3.h']]],
['glfw_5fcursor_5fnormal_51',['GLFW_CURSOR_NORMAL',['../glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68',1,'glfw3.h']]],
['glfw_5fdecorated_52',['GLFW_DECORATED',['../group__window.html#ga21b854d36314c94d65aed84405b2f25e',1,'glfw3.h']]],
['glfw_5fdepth_5fbits_53',['GLFW_DEPTH_BITS',['../group__window.html#ga318a55eac1fee57dfe593b6d38149d07',1,'glfw3.h']]],
['glfw_5fdisconnected_54',['GLFW_DISCONNECTED',['../glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32',1,'glfw3.h']]],
['glfw_5fdont_5fcare_55',['GLFW_DONT_CARE',['../glfw3_8h.html#a7a2edf2c18446833d27d07f1b7f3d571',1,'glfw3.h']]],
['glfw_5fdoublebuffer_56',['GLFW_DOUBLEBUFFER',['../group__window.html#ga714a5d569e8a274ea58fdfa020955339',1,'glfw3.h']]],
['glfw_5fegl_5fcontext_5fapi_57',['GLFW_EGL_CONTEXT_API',['../glfw3_8h.html#a03cf65c9ab01fc8b872ba58842c531c9',1,'glfw3.h']]],
['glfw_5ffalse_58',['GLFW_FALSE',['../group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5',1,'glfw3.h']]],
['glfw_5ffloating_59',['GLFW_FLOATING',['../group__window.html#ga7fb0be51407783b41adbf5bec0b09d80',1,'glfw3.h']]],
['glfw_5ffocus_5fon_5fshow_60',['GLFW_FOCUS_ON_SHOW',['../group__window.html#gafa94b1da34bfd6488c0d709761504dfc',1,'glfw3.h']]],
['glfw_5ffocused_61',['GLFW_FOCUSED',['../group__window.html#ga54ddb14825a1541a56e22afb5f832a9e',1,'glfw3.h']]],
['glfw_5fformat_5funavailable_62',['GLFW_FORMAT_UNAVAILABLE',['../group__errors.html#ga196e125ef261d94184e2b55c05762f14',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5flast_63',['GLFW_GAMEPAD_AXIS_LAST',['../group__gamepad__axes.html#ga0818fd9433e1359692b7443293e5ac86',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fleft_5ftrigger_64',['GLFW_GAMEPAD_AXIS_LEFT_TRIGGER',['../group__gamepad__axes.html#ga6d79561dd8907c37354426242901b86e',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fleft_5fx_65',['GLFW_GAMEPAD_AXIS_LEFT_X',['../group__gamepad__axes.html#ga544e396d092036a7d80c1e5f233f7a38',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fleft_5fy_66',['GLFW_GAMEPAD_AXIS_LEFT_Y',['../group__gamepad__axes.html#ga64dcf2c6e9be50b7c556ff7671996dd5',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fright_5ftrigger_67',['GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER',['../group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fright_5fx_68',['GLFW_GAMEPAD_AXIS_RIGHT_X',['../group__gamepad__axes.html#gabd6785106cd3c5a044a6e49a395ee2fc',1,'glfw3.h']]],
['glfw_5fgamepad_5faxis_5fright_5fy_69',['GLFW_GAMEPAD_AXIS_RIGHT_Y',['../group__gamepad__axes.html#ga1cc20566d44d521b7183681a8e88e2e4',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fa_70',['GLFW_GAMEPAD_BUTTON_A',['../group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fb_71',['GLFW_GAMEPAD_BUTTON_B',['../group__gamepad__buttons.html#ga2228a6512fd5950cdb51ba07846546fa',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fback_72',['GLFW_GAMEPAD_BUTTON_BACK',['../group__gamepad__buttons.html#gabc7c0264ce778835b516a472b47f6caf',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fcircle_73',['GLFW_GAMEPAD_BUTTON_CIRCLE',['../group__gamepad__buttons.html#gaaef094b3dacbf15f272b274516839b82',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fcross_74',['GLFW_GAMEPAD_BUTTON_CROSS',['../group__gamepad__buttons.html#gaf08d0df26527c9305253422bd98ed63a',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fdpad_5fdown_75',['GLFW_GAMEPAD_BUTTON_DPAD_DOWN',['../group__gamepad__buttons.html#ga8f2b731b97d80f90f11967a83207665c',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fdpad_5fleft_76',['GLFW_GAMEPAD_BUTTON_DPAD_LEFT',['../group__gamepad__buttons.html#gaf0697e0e8607b2ebe1c93b0c6befe301',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fdpad_5fright_77',['GLFW_GAMEPAD_BUTTON_DPAD_RIGHT',['../group__gamepad__buttons.html#gae2a780d2a8c79e0b77c0b7b601ca57c6',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fdpad_5fup_78',['GLFW_GAMEPAD_BUTTON_DPAD_UP',['../group__gamepad__buttons.html#ga4f1ed6f974a47bc8930d4874a283476a',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fguide_79',['GLFW_GAMEPAD_BUTTON_GUIDE',['../group__gamepad__buttons.html#ga7fa48c32e5b2f5db2f080aa0b8b573dc',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5flast_80',['GLFW_GAMEPAD_BUTTON_LAST',['../group__gamepad__buttons.html#ga5cc98882f4f81dacf761639a567f61eb',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fleft_5fbumper_81',['GLFW_GAMEPAD_BUTTON_LEFT_BUMPER',['../group__gamepad__buttons.html#ga17d67b4f39a39d6b813bd1567a3507c3',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fleft_5fthumb_82',['GLFW_GAMEPAD_BUTTON_LEFT_THUMB',['../group__gamepad__buttons.html#ga3e089787327454f7bfca7364d6ca206a',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fright_5fbumper_83',['GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER',['../group__gamepad__buttons.html#gadfbc9ea9bf3aae896b79fa49fdc85c7f',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fright_5fthumb_84',['GLFW_GAMEPAD_BUTTON_RIGHT_THUMB',['../group__gamepad__buttons.html#ga1c003f52b5aebb45272475b48953b21a',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fsquare_85',['GLFW_GAMEPAD_BUTTON_SQUARE',['../group__gamepad__buttons.html#gafc7821e87d77d41ed2cd3e1f726ec35f',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fstart_86',['GLFW_GAMEPAD_BUTTON_START',['../group__gamepad__buttons.html#ga04606949dd9139434b8a1bedf4ac1021',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5ftriangle_87',['GLFW_GAMEPAD_BUTTON_TRIANGLE',['../group__gamepad__buttons.html#ga3a7ef6bcb768a08cd3bf142f7f09f802',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fx_88',['GLFW_GAMEPAD_BUTTON_X',['../group__gamepad__buttons.html#ga52cc94785cf3fe9a12e246539259887c',1,'glfw3.h']]],
['glfw_5fgamepad_5fbutton_5fy_89',['GLFW_GAMEPAD_BUTTON_Y',['../group__gamepad__buttons.html#gafc931248bda494b530cbe057f386a5ed',1,'glfw3.h']]],
['glfw_5fgreen_5fbits_90',['GLFW_GREEN_BITS',['../group__window.html#gafba3b72638c914e5fb8a237dd4c50d4d',1,'glfw3.h']]],
['glfw_5fhand_5fcursor_91',['GLFW_HAND_CURSOR',['../group__shapes.html#ga1db35e20849e0837c82e3dc1fd797263',1,'glfw3.h']]],
['glfw_5fhat_5fcentered_92',['GLFW_HAT_CENTERED',['../group__hat__state.html#gae2c0bcb7aec609e4736437554f6638fd',1,'glfw3.h']]],
['glfw_5fhat_5fdown_93',['GLFW_HAT_DOWN',['../group__hat__state.html#gad60d1fd0dc85c18f2642cbae96d3deff',1,'glfw3.h']]],
['glfw_5fhat_5fleft_94',['GLFW_HAT_LEFT',['../group__hat__state.html#gac775f4b3154fdf5db93eb432ba546dff',1,'glfw3.h']]],
['glfw_5fhat_5fleft_5fdown_95',['GLFW_HAT_LEFT_DOWN',['../group__hat__state.html#ga76c02baf1ea345fcbe3e8ff176a73e19',1,'glfw3.h']]],
['glfw_5fhat_5fleft_5fup_96',['GLFW_HAT_LEFT_UP',['../group__hat__state.html#ga638f0e20dc5de90de21a33564e8ce129',1,'glfw3.h']]],
['glfw_5fhat_5fright_97',['GLFW_HAT_RIGHT',['../group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5',1,'glfw3.h']]],
['glfw_5fhat_5fright_5fdown_98',['GLFW_HAT_RIGHT_DOWN',['../group__hat__state.html#gad7f0e4f52fd68d734863aaeadab3a3f5',1,'glfw3.h']]],
['glfw_5fhat_5fright_5fup_99',['GLFW_HAT_RIGHT_UP',['../group__hat__state.html#ga94aea0ae241a8b902883536c592ee693',1,'glfw3.h']]],
['glfw_5fhat_5fup_100',['GLFW_HAT_UP',['../group__hat__state.html#ga8c9720c76cd1b912738159ed74c85b36',1,'glfw3.h']]],
['glfw_5fhovered_101',['GLFW_HOVERED',['../group__window.html#ga8665c71c6fa3d22425c6a0e8a3f89d8a',1,'glfw3.h']]],
['glfw_5fhresize_5fcursor_102',['GLFW_HRESIZE_CURSOR',['../group__shapes.html#gabb3eb0109f11bb808fc34659177ca962',1,'glfw3.h']]],
['glfw_5fibeam_5fcursor_103',['GLFW_IBEAM_CURSOR',['../group__shapes.html#ga36185f4375eaada1b04e431244774c86',1,'glfw3.h']]],
['glfw_5ficonified_104',['GLFW_ICONIFIED',['../group__window.html#ga39d44b7c056e55e581355a92d240b58a',1,'glfw3.h']]],
['glfw_5finvalid_5fenum_105',['GLFW_INVALID_ENUM',['../group__errors.html#ga76f6bb9c4eea73db675f096b404593ce',1,'glfw3.h']]],
['glfw_5finvalid_5fvalue_106',['GLFW_INVALID_VALUE',['../group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687',1,'glfw3.h']]],
['glfw_5fjoystick_5f1_107',['GLFW_JOYSTICK_1',['../group__joysticks.html#ga34a0443d059e9f22272cd4669073f73d',1,'glfw3.h']]],
['glfw_5fjoystick_5f10_108',['GLFW_JOYSTICK_10',['../group__joysticks.html#gaef55389ee605d6dfc31aef6fe98c54ec',1,'glfw3.h']]],
['glfw_5fjoystick_5f11_109',['GLFW_JOYSTICK_11',['../group__joysticks.html#gae7d26e3df447c2c14a569fcc18516af4',1,'glfw3.h']]],
['glfw_5fjoystick_5f12_110',['GLFW_JOYSTICK_12',['../group__joysticks.html#gab91bbf5b7ca6be8d3ac5c4d89ff48ac7',1,'glfw3.h']]],
['glfw_5fjoystick_5f13_111',['GLFW_JOYSTICK_13',['../group__joysticks.html#ga5c84fb4e49bf661d7d7c78eb4018c508',1,'glfw3.h']]],
['glfw_5fjoystick_5f14_112',['GLFW_JOYSTICK_14',['../group__joysticks.html#ga89540873278ae5a42b3e70d64164dc74',1,'glfw3.h']]],
['glfw_5fjoystick_5f15_113',['GLFW_JOYSTICK_15',['../group__joysticks.html#ga7b02ab70daf7a78bcc942d5d4cc1dcf9',1,'glfw3.h']]],
['glfw_5fjoystick_5f16_114',['GLFW_JOYSTICK_16',['../group__joysticks.html#ga453edeeabf350827646b6857df4f80ce',1,'glfw3.h']]],
['glfw_5fjoystick_5f2_115',['GLFW_JOYSTICK_2',['../group__joysticks.html#ga6eab65ec88e65e0850ef8413504cb50c',1,'glfw3.h']]],
['glfw_5fjoystick_5f3_116',['GLFW_JOYSTICK_3',['../group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654',1,'glfw3.h']]],
['glfw_5fjoystick_5f4_117',['GLFW_JOYSTICK_4',['../group__joysticks.html#ga97ddbcad02b7f48d74fad4ddb08fff59',1,'glfw3.h']]],
['glfw_5fjoystick_5f5_118',['GLFW_JOYSTICK_5',['../group__joysticks.html#gae43281bc66d3fa5089fb50c3e7a28695',1,'glfw3.h']]],
['glfw_5fjoystick_5f6_119',['GLFW_JOYSTICK_6',['../group__joysticks.html#ga74771620aa53bd68a487186dea66fd77',1,'glfw3.h']]],
['glfw_5fjoystick_5f7_120',['GLFW_JOYSTICK_7',['../group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87',1,'glfw3.h']]],
['glfw_5fjoystick_5f8_121',['GLFW_JOYSTICK_8',['../group__joysticks.html#ga21a934c940bcf25db0e4c8fe9b364bdb',1,'glfw3.h']]],
['glfw_5fjoystick_5f9_122',['GLFW_JOYSTICK_9',['../group__joysticks.html#ga87689d47df0ba6f9f5fcbbcaf7b3cecf',1,'glfw3.h']]],
['glfw_5fjoystick_5fhat_5fbuttons_123',['GLFW_JOYSTICK_HAT_BUTTONS',['../group__init.html#gab9c0534709fda03ec8959201da3a9a18',1,'glfw3.h']]],
['glfw_5fjoystick_5flast_124',['GLFW_JOYSTICK_LAST',['../group__joysticks.html#ga9ca13ebf24c331dd98df17d84a4b72c9',1,'glfw3.h']]],
['glfw_5fkey_5f0_125',['GLFW_KEY_0',['../group__keys.html#ga50391730e9d7112ad4fd42d0bd1597c1',1,'glfw3.h']]],
['glfw_5fkey_5f1_126',['GLFW_KEY_1',['../group__keys.html#ga05e4cae9ddb8d40cf6d82c8f11f2502f',1,'glfw3.h']]],
['glfw_5fkey_5f2_127',['GLFW_KEY_2',['../group__keys.html#gadc8e66b3a4c4b5c39ad1305cf852863c',1,'glfw3.h']]],
['glfw_5fkey_5f3_128',['GLFW_KEY_3',['../group__keys.html#ga812f0273fe1a981e1fa002ae73e92271',1,'glfw3.h']]],
['glfw_5fkey_5f4_129',['GLFW_KEY_4',['../group__keys.html#ga9e14b6975a9cc8f66cdd5cb3d3861356',1,'glfw3.h']]],
['glfw_5fkey_5f5_130',['GLFW_KEY_5',['../group__keys.html#ga4d74ddaa5d4c609993b4d4a15736c924',1,'glfw3.h']]],
['glfw_5fkey_5f6_131',['GLFW_KEY_6',['../group__keys.html#ga9ea4ab80c313a227b14d0a7c6f810b5d',1,'glfw3.h']]],
['glfw_5fkey_5f7_132',['GLFW_KEY_7',['../group__keys.html#gab79b1cfae7bd630cfc4604c1f263c666',1,'glfw3.h']]],
['glfw_5fkey_5f8_133',['GLFW_KEY_8',['../group__keys.html#gadeaa109a0f9f5afc94fe4a108e686f6f',1,'glfw3.h']]],
['glfw_5fkey_5f9_134',['GLFW_KEY_9',['../group__keys.html#ga2924cb5349ebbf97c8987f3521c44f39',1,'glfw3.h']]],
['glfw_5fkey_5fa_135',['GLFW_KEY_A',['../group__keys.html#ga03e842608e1ea323370889d33b8f70ff',1,'glfw3.h']]],
['glfw_5fkey_5fapostrophe_136',['GLFW_KEY_APOSTROPHE',['../group__keys.html#ga6059b0b048ba6980b6107fffbd3b4b24',1,'glfw3.h']]],
['glfw_5fkey_5fb_137',['GLFW_KEY_B',['../group__keys.html#ga8e3fb647ff3aca9e8dbf14fe66332941',1,'glfw3.h']]],
['glfw_5fkey_5fbackslash_138',['GLFW_KEY_BACKSLASH',['../group__keys.html#gab8155ea99d1ab27ff56f24f8dc73f8d1',1,'glfw3.h']]],
['glfw_5fkey_5fbackspace_139',['GLFW_KEY_BACKSPACE',['../group__keys.html#ga6c0df1fe2f156bbd5a98c66d76ff3635',1,'glfw3.h']]],
['glfw_5fkey_5fc_140',['GLFW_KEY_C',['../group__keys.html#ga00ccf3475d9ee2e679480d540d554669',1,'glfw3.h']]],
['glfw_5fkey_5fcaps_5flock_141',['GLFW_KEY_CAPS_LOCK',['../group__keys.html#ga92c1d2c9d63485f3d70f94f688d48672',1,'glfw3.h']]],
['glfw_5fkey_5fcomma_142',['GLFW_KEY_COMMA',['../group__keys.html#gab3d5d72e59d3055f494627b0a524926c',1,'glfw3.h']]],
['glfw_5fkey_5fd_143',['GLFW_KEY_D',['../group__keys.html#ga011f7cdc9a654da984a2506479606933',1,'glfw3.h']]],
['glfw_5fkey_5fdelete_144',['GLFW_KEY_DELETE',['../group__keys.html#gadb111e4df74b8a715f2c05dad58d2682',1,'glfw3.h']]],
['glfw_5fkey_5fdown_145',['GLFW_KEY_DOWN',['../group__keys.html#gae2e3958c71595607416aa7bf082be2f9',1,'glfw3.h']]],
['glfw_5fkey_5fe_146',['GLFW_KEY_E',['../group__keys.html#gabf48fcc3afbe69349df432b470c96ef2',1,'glfw3.h']]],
['glfw_5fkey_5fend_147',['GLFW_KEY_END',['../group__keys.html#ga86587ea1df19a65978d3e3b8439bedd9',1,'glfw3.h']]],
['glfw_5fkey_5fenter_148',['GLFW_KEY_ENTER',['../group__keys.html#ga9555a92ecbecdbc1f3435219c571d667',1,'glfw3.h']]],
['glfw_5fkey_5fequal_149',['GLFW_KEY_EQUAL',['../group__keys.html#gae1a2de47240d6664423c204bdd91bd17',1,'glfw3.h']]],
['glfw_5fkey_5fescape_150',['GLFW_KEY_ESCAPE',['../group__keys.html#gaac6596c350b635c245113b81c2123b93',1,'glfw3.h']]],
['glfw_5fkey_5ff_151',['GLFW_KEY_F',['../group__keys.html#ga5df402e02aca08444240058fd9b42a55',1,'glfw3.h']]],
['glfw_5fkey_5ff1_152',['GLFW_KEY_F1',['../group__keys.html#gafb8d66c573acf22e364049477dcbea30',1,'glfw3.h']]],
['glfw_5fkey_5ff10_153',['GLFW_KEY_F10',['../group__keys.html#ga718d11d2f7d57471a2f6a894235995b1',1,'glfw3.h']]],
['glfw_5fkey_5ff11_154',['GLFW_KEY_F11',['../group__keys.html#ga0bc04b11627e7d69339151e7306b2832',1,'glfw3.h']]],
['glfw_5fkey_5ff12_155',['GLFW_KEY_F12',['../group__keys.html#gaf5908fa9b0a906ae03fc2c61ac7aa3e2',1,'glfw3.h']]],
['glfw_5fkey_5ff13_156',['GLFW_KEY_F13',['../group__keys.html#gad637f4308655e1001bd6ad942bc0fd4b',1,'glfw3.h']]],
['glfw_5fkey_5ff14_157',['GLFW_KEY_F14',['../group__keys.html#gaf14c66cff3396e5bd46e803c035e6c1f',1,'glfw3.h']]],
['glfw_5fkey_5ff15_158',['GLFW_KEY_F15',['../group__keys.html#ga7f70970db6e8be1794da8516a6d14058',1,'glfw3.h']]],
['glfw_5fkey_5ff16_159',['GLFW_KEY_F16',['../group__keys.html#gaa582dbb1d2ba2050aa1dca0838095b27',1,'glfw3.h']]],
['glfw_5fkey_5ff17_160',['GLFW_KEY_F17',['../group__keys.html#ga972ce5c365e2394b36104b0e3125c748',1,'glfw3.h']]],
['glfw_5fkey_5ff18_161',['GLFW_KEY_F18',['../group__keys.html#gaebf6391058d5566601e357edc5ea737c',1,'glfw3.h']]],
['glfw_5fkey_5ff19_162',['GLFW_KEY_F19',['../group__keys.html#gaec011d9ba044058cb54529da710e9791',1,'glfw3.h']]],
['glfw_5fkey_5ff2_163',['GLFW_KEY_F2',['../group__keys.html#ga0900750aff94889b940f5e428c07daee',1,'glfw3.h']]],
['glfw_5fkey_5ff20_164',['GLFW_KEY_F20',['../group__keys.html#ga82b9c721ada04cd5ca8de767da38022f',1,'glfw3.h']]],
['glfw_5fkey_5ff21_165',['GLFW_KEY_F21',['../group__keys.html#ga356afb14d3440ff2bb378f74f7ebc60f',1,'glfw3.h']]],
['glfw_5fkey_5ff22_166',['GLFW_KEY_F22',['../group__keys.html#ga90960bd2a155f2b09675324d3dff1565',1,'glfw3.h']]],
['glfw_5fkey_5ff23_167',['GLFW_KEY_F23',['../group__keys.html#ga43c21099aac10952d1be909a8ddee4d5',1,'glfw3.h']]],
['glfw_5fkey_5ff24_168',['GLFW_KEY_F24',['../group__keys.html#ga8150374677b5bed3043408732152dea2',1,'glfw3.h']]],
['glfw_5fkey_5ff25_169',['GLFW_KEY_F25',['../group__keys.html#gaa4bbd93ed73bb4c6ae7d83df880b7199',1,'glfw3.h']]],
['glfw_5fkey_5ff3_170',['GLFW_KEY_F3',['../group__keys.html#gaed7cd729c0147a551bb8b7bb36c17015',1,'glfw3.h']]],
['glfw_5fkey_5ff4_171',['GLFW_KEY_F4',['../group__keys.html#ga9b61ebd0c63b44b7332fda2c9763eaa6',1,'glfw3.h']]],
['glfw_5fkey_5ff5_172',['GLFW_KEY_F5',['../group__keys.html#gaf258dda9947daa428377938ed577c8c2',1,'glfw3.h']]],
['glfw_5fkey_5ff6_173',['GLFW_KEY_F6',['../group__keys.html#ga6dc2d3f87b9d51ffbbbe2ef0299d8e1d',1,'glfw3.h']]],
['glfw_5fkey_5ff7_174',['GLFW_KEY_F7',['../group__keys.html#gacca6ef8a2162c52a0ac1d881e8d9c38a',1,'glfw3.h']]],
['glfw_5fkey_5ff8_175',['GLFW_KEY_F8',['../group__keys.html#gac9d39390336ae14e4a93e295de43c7e8',1,'glfw3.h']]],
['glfw_5fkey_5ff9_176',['GLFW_KEY_F9',['../group__keys.html#gae40de0de1c9f21cd26c9afa3d7050851',1,'glfw3.h']]],
['glfw_5fkey_5fg_177',['GLFW_KEY_G',['../group__keys.html#gae74ecddf7cc96104ab23989b1cdab536',1,'glfw3.h']]],
['glfw_5fkey_5fgrave_5faccent_178',['GLFW_KEY_GRAVE_ACCENT',['../group__keys.html#ga7a3701fb4e2a0b136ff4b568c3c8d668',1,'glfw3.h']]],
['glfw_5fkey_5fh_179',['GLFW_KEY_H',['../group__keys.html#gad4cc98fc8f35f015d9e2fb94bf136076',1,'glfw3.h']]],
['glfw_5fkey_5fhome_180',['GLFW_KEY_HOME',['../group__keys.html#ga41452c7287195d481e43207318c126a7',1,'glfw3.h']]],
['glfw_5fkey_5fi_181',['GLFW_KEY_I',['../group__keys.html#ga274655c8bfe39742684ca393cf8ed093',1,'glfw3.h']]],
['glfw_5fkey_5finsert_182',['GLFW_KEY_INSERT',['../group__keys.html#ga373ac7365435d6b0eb1068f470e34f47',1,'glfw3.h']]],
['glfw_5fkey_5fj_183',['GLFW_KEY_J',['../group__keys.html#ga65ff2aedb129a3149ad9cb3e4159a75f',1,'glfw3.h']]],
['glfw_5fkey_5fk_184',['GLFW_KEY_K',['../group__keys.html#ga4ae8debadf6d2a691badae0b53ea3ba0',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f0_185',['GLFW_KEY_KP_0',['../group__keys.html#ga10515dafc55b71e7683f5b4fedd1c70d',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f1_186',['GLFW_KEY_KP_1',['../group__keys.html#gaf3a29a334402c5eaf0b3439edf5587c3',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f2_187',['GLFW_KEY_KP_2',['../group__keys.html#gaf82d5a802ab8213c72653d7480c16f13',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f3_188',['GLFW_KEY_KP_3',['../group__keys.html#ga7e25ff30d56cd512828c1d4ae8d54ef2',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f4_189',['GLFW_KEY_KP_4',['../group__keys.html#gada7ec86778b85e0b4de0beea72234aea',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f5_190',['GLFW_KEY_KP_5',['../group__keys.html#ga9a5be274434866c51738cafbb6d26b45',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f6_191',['GLFW_KEY_KP_6',['../group__keys.html#gafc141b0f8450519084c01092a3157faa',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f7_192',['GLFW_KEY_KP_7',['../group__keys.html#ga8882f411f05d04ec77a9563974bbfa53',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f8_193',['GLFW_KEY_KP_8',['../group__keys.html#gab2ea2e6a12f89d315045af520ac78cec',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5f9_194',['GLFW_KEY_KP_9',['../group__keys.html#gafb21426b630ed4fcc084868699ba74c1',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fadd_195',['GLFW_KEY_KP_ADD',['../group__keys.html#gad09c7c98acc79e89aa6a0a91275becac',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fdecimal_196',['GLFW_KEY_KP_DECIMAL',['../group__keys.html#ga4e231d968796331a9ea0dbfb98d4005b',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fdivide_197',['GLFW_KEY_KP_DIVIDE',['../group__keys.html#gabca1733780a273d549129ad0f250d1e5',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fenter_198',['GLFW_KEY_KP_ENTER',['../group__keys.html#ga4f728f8738f2986bd63eedd3d412e8cf',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fequal_199',['GLFW_KEY_KP_EQUAL',['../group__keys.html#gaebdc76d4a808191e6d21b7e4ad2acd97',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fmultiply_200',['GLFW_KEY_KP_MULTIPLY',['../group__keys.html#ga9ada267eb0e78ed2ada8701dd24a56ef',1,'glfw3.h']]],
['glfw_5fkey_5fkp_5fsubtract_201',['GLFW_KEY_KP_SUBTRACT',['../group__keys.html#gaa3dbd60782ff93d6082a124bce1fa236',1,'glfw3.h']]],
['glfw_5fkey_5fl_202',['GLFW_KEY_L',['../group__keys.html#gaaa8b54a13f6b1eed85ac86f82d550db2',1,'glfw3.h']]],
['glfw_5fkey_5flast_203',['GLFW_KEY_LAST',['../group__keys.html#ga442cbaef7bfb9a4ba13594dd7fbf2789',1,'glfw3.h']]],
['glfw_5fkey_5fleft_204',['GLFW_KEY_LEFT',['../group__keys.html#gae12a010d33c309a67ab9460c51eb2462',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5falt_205',['GLFW_KEY_LEFT_ALT',['../group__keys.html#ga7f27dabf63a7789daa31e1c96790219b',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5fbracket_206',['GLFW_KEY_LEFT_BRACKET',['../group__keys.html#gad1c8d9adac53925276ecb1d592511d8a',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5fcontrol_207',['GLFW_KEY_LEFT_CONTROL',['../group__keys.html#ga9f97b743e81460ac4b2deddecd10a464',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5fshift_208',['GLFW_KEY_LEFT_SHIFT',['../group__keys.html#ga8a530a28a65c44ab5d00b759b756d3f6',1,'glfw3.h']]],
['glfw_5fkey_5fleft_5fsuper_209',['GLFW_KEY_LEFT_SUPER',['../group__keys.html#gafb1207c91997fc295afd1835fbc5641a',1,'glfw3.h']]],
['glfw_5fkey_5fm_210',['GLFW_KEY_M',['../group__keys.html#ga4d7f0260c82e4ea3d6ebc7a21d6e3716',1,'glfw3.h']]],
['glfw_5fkey_5fmenu_211',['GLFW_KEY_MENU',['../group__keys.html#ga9845be48a745fc232045c9ec174d8820',1,'glfw3.h']]],
['glfw_5fkey_5fminus_212',['GLFW_KEY_MINUS',['../group__keys.html#gac556b360f7f6fca4b70ba0aecf313fd4',1,'glfw3.h']]],
['glfw_5fkey_5fn_213',['GLFW_KEY_N',['../group__keys.html#gae00856dfeb5d13aafebf59d44de5cdda',1,'glfw3.h']]],
['glfw_5fkey_5fnum_5flock_214',['GLFW_KEY_NUM_LOCK',['../group__keys.html#ga3946edc362aeff213b2be6304296cf43',1,'glfw3.h']]],
['glfw_5fkey_5fo_215',['GLFW_KEY_O',['../group__keys.html#gaecbbb79130df419d58dd7f09a169efe9',1,'glfw3.h']]],
['glfw_5fkey_5fp_216',['GLFW_KEY_P',['../group__keys.html#ga8fc15819c1094fb2afa01d84546b33e1',1,'glfw3.h']]],
['glfw_5fkey_5fpage_5fdown_217',['GLFW_KEY_PAGE_DOWN',['../group__keys.html#gaee0a8fa442001cc2147812f84b59041c',1,'glfw3.h']]],
['glfw_5fkey_5fpage_5fup_218',['GLFW_KEY_PAGE_UP',['../group__keys.html#ga3ab731f9622f0db280178a5f3cc6d586',1,'glfw3.h']]],
['glfw_5fkey_5fpause_219',['GLFW_KEY_PAUSE',['../group__keys.html#ga8116b9692d87382afb5849b6d8907f18',1,'glfw3.h']]],
['glfw_5fkey_5fperiod_220',['GLFW_KEY_PERIOD',['../group__keys.html#ga37e296b650eab419fc474ff69033d927',1,'glfw3.h']]],
['glfw_5fkey_5fprint_5fscreen_221',['GLFW_KEY_PRINT_SCREEN',['../group__keys.html#gaf964c2e65e97d0cf785a5636ee8df642',1,'glfw3.h']]],
['glfw_5fkey_5fq_222',['GLFW_KEY_Q',['../group__keys.html#gafdd01e38b120d67cf51e348bb47f3964',1,'glfw3.h']]],
['glfw_5fkey_5fr_223',['GLFW_KEY_R',['../group__keys.html#ga4ce6c70a0c98c50b3fe4ab9a728d4d36',1,'glfw3.h']]],
['glfw_5fkey_5fright_224',['GLFW_KEY_RIGHT',['../group__keys.html#ga06ba07662e8c291a4a84535379ffc7ac',1,'glfw3.h']]],
['glfw_5fkey_5fright_5falt_225',['GLFW_KEY_RIGHT_ALT',['../group__keys.html#ga687b38009131cfdd07a8d05fff8fa446',1,'glfw3.h']]],
['glfw_5fkey_5fright_5fbracket_226',['GLFW_KEY_RIGHT_BRACKET',['../group__keys.html#ga86ef225fd6a66404caae71044cdd58d8',1,'glfw3.h']]],
['glfw_5fkey_5fright_5fcontrol_227',['GLFW_KEY_RIGHT_CONTROL',['../group__keys.html#gad1ca2094b2694e7251d0ab1fd34f8519',1,'glfw3.h']]],
['glfw_5fkey_5fright_5fshift_228',['GLFW_KEY_RIGHT_SHIFT',['../group__keys.html#gaffca36b99c9dce1a19cb9befbadce691',1,'glfw3.h']]],
['glfw_5fkey_5fright_5fsuper_229',['GLFW_KEY_RIGHT_SUPER',['../group__keys.html#gad4547a3e8e247594acb60423fe6502db',1,'glfw3.h']]],
['glfw_5fkey_5fs_230',['GLFW_KEY_S',['../group__keys.html#ga1570e2ccaab036ea82bed66fc1dab2a9',1,'glfw3.h']]],
['glfw_5fkey_5fscroll_5flock_231',['GLFW_KEY_SCROLL_LOCK',['../group__keys.html#gaf622b63b9537f7084c2ab649b8365630',1,'glfw3.h']]],
['glfw_5fkey_5fsemicolon_232',['GLFW_KEY_SEMICOLON',['../group__keys.html#ga84233de9ee5bb3e8788a5aa07d80af7d',1,'glfw3.h']]],
['glfw_5fkey_5fslash_233',['GLFW_KEY_SLASH',['../group__keys.html#gadf3d753b2d479148d711de34b83fd0db',1,'glfw3.h']]],
['glfw_5fkey_5fspace_234',['GLFW_KEY_SPACE',['../group__keys.html#gaddb2c23772b97fd7e26e8ee66f1ad014',1,'glfw3.h']]],
['glfw_5fkey_5ft_235',['GLFW_KEY_T',['../group__keys.html#ga90e0560422ec7a30e7f3f375bc9f37f9',1,'glfw3.h']]],
['glfw_5fkey_5ftab_236',['GLFW_KEY_TAB',['../group__keys.html#ga6908a4bda9950a3e2b73f794bbe985df',1,'glfw3.h']]],
['glfw_5fkey_5fu_237',['GLFW_KEY_U',['../group__keys.html#gacad52f3bf7d378fc0ffa72a76769256d',1,'glfw3.h']]],
['glfw_5fkey_5funknown_238',['GLFW_KEY_UNKNOWN',['../group__keys.html#ga99aacc875b6b27a072552631e13775c7',1,'glfw3.h']]],
['glfw_5fkey_5fup_239',['GLFW_KEY_UP',['../group__keys.html#ga2f3342b194020d3544c67e3506b6f144',1,'glfw3.h']]],
['glfw_5fkey_5fv_240',['GLFW_KEY_V',['../group__keys.html#ga22c7763899ecf7788862e5f90eacce6b',1,'glfw3.h']]],
['glfw_5fkey_5fw_241',['GLFW_KEY_W',['../group__keys.html#gaa06a712e6202661fc03da5bdb7b6e545',1,'glfw3.h']]],
['glfw_5fkey_5fworld_5f1_242',['GLFW_KEY_WORLD_1',['../group__keys.html#gadc78dad3dab76bcd4b5c20114052577a',1,'glfw3.h']]],
['glfw_5fkey_5fworld_5f2_243',['GLFW_KEY_WORLD_2',['../group__keys.html#ga20494bfebf0bb4fc9503afca18ab2c5e',1,'glfw3.h']]],
['glfw_5fkey_5fx_244',['GLFW_KEY_X',['../group__keys.html#gac1c42c0bf4192cea713c55598b06b744',1,'glfw3.h']]],
['glfw_5fkey_5fy_245',['GLFW_KEY_Y',['../group__keys.html#gafd9f115a549effdf8e372a787c360313',1,'glfw3.h']]],
['glfw_5fkey_5fz_246',['GLFW_KEY_Z',['../group__keys.html#gac489e208c26afda8d4938ed88718760a',1,'glfw3.h']]],
['glfw_5flock_5fkey_5fmods_247',['GLFW_LOCK_KEY_MODS',['../glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947',1,'glfw3.h']]],
['glfw_5flose_5fcontext_5fon_5freset_248',['GLFW_LOSE_CONTEXT_ON_RESET',['../glfw3_8h.html#aec1132f245143fc915b2f0995228564c',1,'glfw3.h']]],
['glfw_5fmaximized_249',['GLFW_MAXIMIZED',['../group__window.html#gad8ccb396253ad0b72c6d4c917eb38a03',1,'glfw3.h']]],
['glfw_5fmod_5falt_250',['GLFW_MOD_ALT',['../group__mods.html#gad2acd5633463c29e07008687ea73c0f4',1,'glfw3.h']]],
['glfw_5fmod_5fcaps_5flock_251',['GLFW_MOD_CAPS_LOCK',['../group__mods.html#gaefeef8fcf825a6e43e241b337897200f',1,'glfw3.h']]],
['glfw_5fmod_5fcontrol_252',['GLFW_MOD_CONTROL',['../group__mods.html#ga6ed94871c3208eefd85713fa929d45aa',1,'glfw3.h']]],
['glfw_5fmod_5fnum_5flock_253',['GLFW_MOD_NUM_LOCK',['../group__mods.html#ga64e020b8a42af8376e944baf61feecbe',1,'glfw3.h']]],
['glfw_5fmod_5fshift_254',['GLFW_MOD_SHIFT',['../group__mods.html#ga14994d3196c290aaa347248e51740274',1,'glfw3.h']]],
['glfw_5fmod_5fsuper_255',['GLFW_MOD_SUPER',['../group__mods.html#ga6b64ba10ea0227cf6f42efd0a220aba1',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f1_256',['GLFW_MOUSE_BUTTON_1',['../group__buttons.html#ga181a6e875251fd8671654eff00f9112e',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f2_257',['GLFW_MOUSE_BUTTON_2',['../group__buttons.html#ga604b39b92c88ce9bd332e97fc3f4156c',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f3_258',['GLFW_MOUSE_BUTTON_3',['../group__buttons.html#ga0130d505563d0236a6f85545f19e1721',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f4_259',['GLFW_MOUSE_BUTTON_4',['../group__buttons.html#ga53f4097bb01d5521c7d9513418c91ca9',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f5_260',['GLFW_MOUSE_BUTTON_5',['../group__buttons.html#gaf08c4ddecb051d3d9667db1d5e417c9c',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f6_261',['GLFW_MOUSE_BUTTON_6',['../group__buttons.html#gae8513e06aab8aa393b595f22c6d8257a',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f7_262',['GLFW_MOUSE_BUTTON_7',['../group__buttons.html#ga8b02a1ab55dde45b3a3883d54ffd7dc7',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5f8_263',['GLFW_MOUSE_BUTTON_8',['../group__buttons.html#ga35d5c4263e0dc0d0a4731ca6c562f32c',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5flast_264',['GLFW_MOUSE_BUTTON_LAST',['../group__buttons.html#gab1fd86a4518a9141ec7bcde2e15a2fdf',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5fleft_265',['GLFW_MOUSE_BUTTON_LEFT',['../group__buttons.html#gaf37100431dcd5082d48f95ee8bc8cd56',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5fmiddle_266',['GLFW_MOUSE_BUTTON_MIDDLE',['../group__buttons.html#ga34a4d2a701434f763fd93a2ff842b95a',1,'glfw3.h']]],
['glfw_5fmouse_5fbutton_5fright_267',['GLFW_MOUSE_BUTTON_RIGHT',['../group__buttons.html#ga3e2f2cf3c4942df73cc094247d275e74',1,'glfw3.h']]],
['glfw_5fnative_5fcontext_5fapi_268',['GLFW_NATIVE_CONTEXT_API',['../glfw3_8h.html#a0494c9bfd3f584ab41e6dbeeaa0e6a19',1,'glfw3.h']]],
['glfw_5fno_5fapi_269',['GLFW_NO_API',['../glfw3_8h.html#a8f6dcdc968d214ff14779564f1389264',1,'glfw3.h']]],
['glfw_5fno_5fcurrent_5fcontext_270',['GLFW_NO_CURRENT_CONTEXT',['../group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0',1,'glfw3.h']]],
['glfw_5fno_5ferror_271',['GLFW_NO_ERROR',['../group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4',1,'glfw3.h']]],
['glfw_5fno_5freset_5fnotification_272',['GLFW_NO_RESET_NOTIFICATION',['../glfw3_8h.html#aee84a679230d205005e22487ff678a85',1,'glfw3.h']]],
['glfw_5fno_5frobustness_273',['GLFW_NO_ROBUSTNESS',['../glfw3_8h.html#a8b306cb27f5bb0d6d67c7356a0e0fc34',1,'glfw3.h']]],
['glfw_5fno_5fwindow_5fcontext_274',['GLFW_NO_WINDOW_CONTEXT',['../group__errors.html#gacff24d2757da752ae4c80bf452356487',1,'glfw3.h']]],
['glfw_5fnot_5finitialized_275',['GLFW_NOT_INITIALIZED',['../group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a',1,'glfw3.h']]],
['glfw_5fopengl_5fany_5fprofile_276',['GLFW_OPENGL_ANY_PROFILE',['../glfw3_8h.html#ad6f2335d6f21cc9bab96633b1c111d5f',1,'glfw3.h']]],
['glfw_5fopengl_5fapi_277',['GLFW_OPENGL_API',['../glfw3_8h.html#a01b3f66db266341425e9abee6b257db2',1,'glfw3.h']]],
['glfw_5fopengl_5fcompat_5fprofile_278',['GLFW_OPENGL_COMPAT_PROFILE',['../glfw3_8h.html#ac06b663d79c8fcf04669cc8fcc0b7670',1,'glfw3.h']]],
['glfw_5fopengl_5fcore_5fprofile_279',['GLFW_OPENGL_CORE_PROFILE',['../glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8',1,'glfw3.h']]],
['glfw_5fopengl_5fdebug_5fcontext_280',['GLFW_OPENGL_DEBUG_CONTEXT',['../group__window.html#ga87ec2df0b915201e950ca42d5d0831e1',1,'glfw3.h']]],
['glfw_5fopengl_5fes_5fapi_281',['GLFW_OPENGL_ES_API',['../glfw3_8h.html#a28d9b3bc6c2a522d815c8e146595051f',1,'glfw3.h']]],
['glfw_5fopengl_5fforward_5fcompat_282',['GLFW_OPENGL_FORWARD_COMPAT',['../group__window.html#ga13d24b12465da8b28985f46c8557925b',1,'glfw3.h']]],
['glfw_5fopengl_5fprofile_283',['GLFW_OPENGL_PROFILE',['../group__window.html#ga44f3a6b4261fbe351e0b950b0f372e12',1,'glfw3.h']]],
['glfw_5fosmesa_5fcontext_5fapi_284',['GLFW_OSMESA_CONTEXT_API',['../glfw3_8h.html#afd34a473af9fa81f317910ea371b19e3',1,'glfw3.h']]],
['glfw_5fout_5fof_5fmemory_285',['GLFW_OUT_OF_MEMORY',['../group__errors.html#ga9023953a2bcb98c2906afd071d21ee7f',1,'glfw3.h']]],
['glfw_5fplatform_5ferror_286',['GLFW_PLATFORM_ERROR',['../group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1',1,'glfw3.h']]],
['glfw_5fpress_287',['GLFW_PRESS',['../group__input.html#ga2485743d0b59df3791c45951c4195265',1,'glfw3.h']]],
['glfw_5fraw_5fmouse_5fmotion_288',['GLFW_RAW_MOUSE_MOTION',['../glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb',1,'glfw3.h']]],
['glfw_5fred_5fbits_289',['GLFW_RED_BITS',['../group__window.html#gaf78ed8e417dbcc1e354906cc2708c982',1,'glfw3.h']]],
['glfw_5frefresh_5frate_290',['GLFW_REFRESH_RATE',['../group__window.html#ga0f20825e6e47ee8ba389024519682212',1,'glfw3.h']]],
['glfw_5frelease_291',['GLFW_RELEASE',['../group__input.html#gada11d965c4da13090ad336e030e4d11f',1,'glfw3.h']]],
['glfw_5frelease_5fbehavior_5fflush_292',['GLFW_RELEASE_BEHAVIOR_FLUSH',['../glfw3_8h.html#a999961d391db49cb4f949c1dece0e13b',1,'glfw3.h']]],
['glfw_5frelease_5fbehavior_5fnone_293',['GLFW_RELEASE_BEHAVIOR_NONE',['../glfw3_8h.html#afca09088eccacdce4b59036cfae349c5',1,'glfw3.h']]],
['glfw_5frepeat_294',['GLFW_REPEAT',['../group__input.html#gac96fd3b9fc66c6f0eebaf6532595338f',1,'glfw3.h']]],
['glfw_5fresizable_295',['GLFW_RESIZABLE',['../group__window.html#gadba13c7a1b3aa40831eb2beedbd5bd1d',1,'glfw3.h']]],
['glfw_5fsamples_296',['GLFW_SAMPLES',['../group__window.html#ga2cdf86fdcb7722fb8829c4e201607535',1,'glfw3.h']]],
['glfw_5fscale_5fto_5fmonitor_297',['GLFW_SCALE_TO_MONITOR',['../group__window.html#ga620bc4280c7eab81ac9f02204500ed47',1,'glfw3.h']]],
['glfw_5fsrgb_5fcapable_298',['GLFW_SRGB_CAPABLE',['../group__window.html#ga444a8f00414a63220591f9fdb7b5642b',1,'glfw3.h']]],
['glfw_5fstencil_5fbits_299',['GLFW_STENCIL_BITS',['../group__window.html#ga5339890a45a1fb38e93cb9fcc5fd069d',1,'glfw3.h']]],
['glfw_5fstereo_300',['GLFW_STEREO',['../group__window.html#ga83d991efca02537e2d69969135b77b03',1,'glfw3.h']]],
['glfw_5fsticky_5fkeys_301',['GLFW_STICKY_KEYS',['../glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc',1,'glfw3.h']]],
['glfw_5fsticky_5fmouse_5fbuttons_302',['GLFW_STICKY_MOUSE_BUTTONS',['../glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1',1,'glfw3.h']]],
['glfw_5ftransparent_5fframebuffer_303',['GLFW_TRANSPARENT_FRAMEBUFFER',['../group__window.html#ga60a0578c3b9449027d683a9c6abb9f14',1,'glfw3.h']]],
['glfw_5ftrue_304',['GLFW_TRUE',['../group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba',1,'glfw3.h']]],
['glfw_5fversion_5fmajor_305',['GLFW_VERSION_MAJOR',['../group__init.html#ga6337d9ea43b22fc529b2bba066b4a576',1,'glfw3.h']]],
['glfw_5fversion_5fminor_306',['GLFW_VERSION_MINOR',['../group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3',1,'glfw3.h']]],
['glfw_5fversion_5frevision_307',['GLFW_VERSION_REVISION',['../group__init.html#gab72ae2e2035d9ea461abc3495eac0502',1,'glfw3.h']]],
['glfw_5fversion_5funavailable_308',['GLFW_VERSION_UNAVAILABLE',['../group__errors.html#gad16c5565b4a69f9c2a9ac2c0dbc89462',1,'glfw3.h']]],
['glfw_5fvisible_309',['GLFW_VISIBLE',['../group__window.html#gafb3cdc45297e06d8f1eb13adc69ca6c4',1,'glfw3.h']]],
['glfw_5fvresize_5fcursor_310',['GLFW_VRESIZE_CURSOR',['../group__shapes.html#gaf024f0e1ff8366fb2b5c260509a1fce5',1,'glfw3.h']]],
['glfw_5fx11_5fclass_5fname_311',['GLFW_X11_CLASS_NAME',['../group__window.html#gae5a9ea2fccccd92edbd343fc56461114',1,'glfw3.h']]],
['glfw_5fx11_5finstance_5fname_312',['GLFW_X11_INSTANCE_NAME',['../group__window.html#ga494c3c0d911e4b860b946530a3e389e8',1,'glfw3.h']]],
['glfwcharfun_313',['GLFWcharfun',['../group__input.html#gabf24451c7ceb1952bc02b17a0d5c3e5f',1,'glfw3.h']]],
['glfwcharmodsfun_314',['GLFWcharmodsfun',['../group__input.html#gae36fb6897d2b7df9b128900c8ce9c507',1,'glfw3.h']]],
['glfwcreatecursor_315',['glfwCreateCursor',['../group__input.html#gafca356935e10135016aa49ffa464c355',1,'glfw3.h']]],
['glfwcreatestandardcursor_316',['glfwCreateStandardCursor',['../group__input.html#gaa65f416d03ebbbb5b8db71a489fcb894',1,'glfw3.h']]],
['glfwcreatewindow_317',['glfwCreateWindow',['../group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344',1,'glfw3.h']]],
['glfwcreatewindowsurface_318',['glfwCreateWindowSurface',['../group__vulkan.html#ga1a24536bec3f80b08ead18e28e6ae965',1,'glfw3.h']]],
['glfwcursor_319',['GLFWcursor',['../group__input.html#ga89261ae18c75e863aaf2656ecdd238f4',1,'glfw3.h']]],
['glfwcursorenterfun_320',['GLFWcursorenterfun',['../group__input.html#ga51ab436c41eeaed6db5a0c9403b1c840',1,'glfw3.h']]],
['glfwcursorposfun_321',['GLFWcursorposfun',['../group__input.html#ga4cfad918fa836f09541e7b9acd36686c',1,'glfw3.h']]],
['glfwdefaultwindowhints_322',['glfwDefaultWindowHints',['../group__window.html#gaa77c4898dfb83344a6b4f76aa16b9a4a',1,'glfw3.h']]],
['glfwdestroycursor_323',['glfwDestroyCursor',['../group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a',1,'glfw3.h']]],
['glfwdestroywindow_324',['glfwDestroyWindow',['../group__window.html#gacdf43e51376051d2c091662e9fe3d7b2',1,'glfw3.h']]],
['glfwdropfun_325',['GLFWdropfun',['../group__input.html#gafd0493dc32cd5ca5810e6148c0c026ea',1,'glfw3.h']]],
['glfwerrorfun_326',['GLFWerrorfun',['../group__init.html#ga6b8a2639706d5c409fc1287e8f55e928',1,'glfw3.h']]],
['glfwextensionsupported_327',['glfwExtensionSupported',['../group__context.html#ga87425065c011cef1ebd6aac75e059dfa',1,'glfw3.h']]],
['glfwfocuswindow_328',['glfwFocusWindow',['../group__window.html#ga873780357abd3f3a081d71a40aae45a1',1,'glfw3.h']]],
['glfwframebuffersizefun_329',['GLFWframebuffersizefun',['../group__window.html#ga3e218ef9ff826129c55a7d5f6971a285',1,'glfw3.h']]],
['glfwgamepadstate_330',['GLFWgamepadstate',['../structGLFWgamepadstate.html',1,'GLFWgamepadstate'],['../group__input.html#ga0b86867abb735af3b959f61c44b1d029',1,'GLFWgamepadstate():&#160;glfw3.h']]],
['glfwgammaramp_331',['GLFWgammaramp',['../structGLFWgammaramp.html',1,'GLFWgammaramp'],['../group__monitor.html#gaec0bd37af673be8813592849f13e02f0',1,'GLFWgammaramp():&#160;glfw3.h']]],
['glfwgetclipboardstring_332',['glfwGetClipboardString',['../group__input.html#ga5aba1d704d9ab539282b1fbe9f18bb94',1,'glfw3.h']]],
['glfwgetcocoamonitor_333',['glfwGetCocoaMonitor',['../group__native.html#gaf22f429aec4b1aab316142d66d9be3e6',1,'glfw3native.h']]],
['glfwgetcocoawindow_334',['glfwGetCocoaWindow',['../group__native.html#gac3ed9d495d0c2bb9652de5a50c648715',1,'glfw3native.h']]],
['glfwgetcurrentcontext_335',['glfwGetCurrentContext',['../group__context.html#gac84759b1f6c2d271a4fea8ae89ec980d',1,'glfw3.h']]],
['glfwgetcursorpos_336',['glfwGetCursorPos',['../group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc',1,'glfw3.h']]],
['glfwgeteglcontext_337',['glfwGetEGLContext',['../group__native.html#ga671c5072becd085f4ab5771a9c8efcf1',1,'glfw3native.h']]],
['glfwgetegldisplay_338',['glfwGetEGLDisplay',['../group__native.html#ga1cd8d973f47aacb5532d368147cc3138',1,'glfw3native.h']]],
['glfwgeteglsurface_339',['glfwGetEGLSurface',['../group__native.html#ga2199b36117a6a695fec8441d8052eee6',1,'glfw3native.h']]],
['glfwgeterror_340',['glfwGetError',['../group__init.html#ga944986b4ec0b928d488141f92982aa18',1,'glfw3.h']]],
['glfwgetframebuffersize_341',['glfwGetFramebufferSize',['../group__window.html#ga0e2637a4161afb283f5300c7f94785c9',1,'glfw3.h']]],
['glfwgetgamepadname_342',['glfwGetGamepadName',['../group__input.html#ga5c71e3533b2d384db9317fcd7661b210',1,'glfw3.h']]],
['glfwgetgamepadstate_343',['glfwGetGamepadState',['../group__input.html#gadccddea8bce6113fa459de379ddaf051',1,'glfw3.h']]],
['glfwgetgammaramp_344',['glfwGetGammaRamp',['../group__monitor.html#gab7c41deb2219bde3e1eb756ddaa9ec80',1,'glfw3.h']]],
['glfwgetglxcontext_345',['glfwGetGLXContext',['../group__native.html#ga62d884114b0abfcdc2930e89f20867e2',1,'glfw3native.h']]],
['glfwgetglxwindow_346',['glfwGetGLXWindow',['../group__native.html#ga1ed27b8766e859a21381e8f8ce18d049',1,'glfw3native.h']]],
['glfwgetinputmode_347',['glfwGetInputMode',['../group__input.html#gaf5b859dbe19bdf434e42695ea45cc5f4',1,'glfw3.h']]],
['glfwgetinstanceprocaddress_348',['glfwGetInstanceProcAddress',['../group__vulkan.html#gadf228fac94c5fd8f12423ec9af9ff1e9',1,'glfw3.h']]],
['glfwgetjoystickaxes_349',['glfwGetJoystickAxes',['../group__input.html#gaa8806536731e92c061bc70bcff6edbd0',1,'glfw3.h']]],
['glfwgetjoystickbuttons_350',['glfwGetJoystickButtons',['../group__input.html#gadb3cbf44af90a1536f519659a53bddd6',1,'glfw3.h']]],
['glfwgetjoystickguid_351',['glfwGetJoystickGUID',['../group__input.html#gae168c2c0b8cf2a1cb67c6b3c00bdd543',1,'glfw3.h']]],
['glfwgetjoystickhats_352',['glfwGetJoystickHats',['../group__input.html#ga2d8d0634bb81c180899aeb07477a67ea',1,'glfw3.h']]],
['glfwgetjoystickname_353',['glfwGetJoystickName',['../group__input.html#gafbe3e51f670320908cfe4e20d3e5559e',1,'glfw3.h']]],
['glfwgetjoystickuserpointer_354',['glfwGetJoystickUserPointer',['../group__input.html#ga06290acb7ed23895bf26b8e981827ebd',1,'glfw3.h']]],
['glfwgetkey_355',['glfwGetKey',['../group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2',1,'glfw3.h']]],
['glfwgetkeyname_356',['glfwGetKeyName',['../group__input.html#ga237a182e5ec0b21ce64543f3b5e7e2be',1,'glfw3.h']]],
['glfwgetkeyscancode_357',['glfwGetKeyScancode',['../group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a',1,'glfw3.h']]],
['glfwgetmonitorcontentscale_358',['glfwGetMonitorContentScale',['../group__monitor.html#gad3152e84465fa620b601265ebfcdb21b',1,'glfw3.h']]],
['glfwgetmonitorname_359',['glfwGetMonitorName',['../group__monitor.html#ga79a34ee22ff080ca954a9663e4679daf',1,'glfw3.h']]],
['glfwgetmonitorphysicalsize_360',['glfwGetMonitorPhysicalSize',['../group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea',1,'glfw3.h']]],
['glfwgetmonitorpos_361',['glfwGetMonitorPos',['../group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9',1,'glfw3.h']]],
['glfwgetmonitors_362',['glfwGetMonitors',['../group__monitor.html#ga3fba51c8bd36491d4712aa5bd074a537',1,'glfw3.h']]],
['glfwgetmonitoruserpointer_363',['glfwGetMonitorUserPointer',['../group__monitor.html#gac2d4209016b049222877f620010ed0d8',1,'glfw3.h']]],
['glfwgetmonitorworkarea_364',['glfwGetMonitorWorkarea',['../group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0',1,'glfw3.h']]],
['glfwgetmousebutton_365',['glfwGetMouseButton',['../group__input.html#gac1473feacb5996c01a7a5a33b5066704',1,'glfw3.h']]],
['glfwgetnsglcontext_366',['glfwGetNSGLContext',['../group__native.html#ga559e002e3cd63c979881770cd4dc63bc',1,'glfw3native.h']]],
['glfwgetosmesacolorbuffer_367',['glfwGetOSMesaColorBuffer',['../group__native.html#ga3b36e3e3dcf308b776427b6bd73cc132',1,'glfw3native.h']]],
['glfwgetosmesacontext_368',['glfwGetOSMesaContext',['../group__native.html#ga9e47700080094eb569cb053afaa88773',1,'glfw3native.h']]],
['glfwgetosmesadepthbuffer_369',['glfwGetOSMesaDepthBuffer',['../group__native.html#ga6b64039ffc88a7a2f57f0956c0c75d53',1,'glfw3native.h']]],
['glfwgetphysicaldevicepresentationsupport_370',['glfwGetPhysicalDevicePresentationSupport',['../group__vulkan.html#gaff3823355cdd7e2f3f9f4d9ea9518d92',1,'glfw3.h']]],
['glfwgetprimarymonitor_371',['glfwGetPrimaryMonitor',['../group__monitor.html#ga721867d84c6d18d6790d64d2847ca0b1',1,'glfw3.h']]],
['glfwgetprocaddress_372',['glfwGetProcAddress',['../group__context.html#ga35f1837e6f666781842483937612f163',1,'glfw3.h']]],
['glfwgetrequiredinstanceextensions_373',['glfwGetRequiredInstanceExtensions',['../group__vulkan.html#ga1abcbe61033958f22f63ef82008874b1',1,'glfw3.h']]],
['glfwgettime_374',['glfwGetTime',['../group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a',1,'glfw3.h']]],
['glfwgettimerfrequency_375',['glfwGetTimerFrequency',['../group__input.html#ga3289ee876572f6e91f06df3a24824443',1,'glfw3.h']]],
['glfwgettimervalue_376',['glfwGetTimerValue',['../group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa',1,'glfw3.h']]],
['glfwgetversion_377',['glfwGetVersion',['../group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197',1,'glfw3.h']]],
['glfwgetversionstring_378',['glfwGetVersionString',['../group__init.html#ga23d47dc013fce2bf58036da66079a657',1,'glfw3.h']]],
['glfwgetvideomode_379',['glfwGetVideoMode',['../group__monitor.html#gafc1bb972a921ad5b3bd5d63a95fc2d52',1,'glfw3.h']]],
['glfwgetvideomodes_380',['glfwGetVideoModes',['../group__monitor.html#ga820b0ce9a5237d645ea7cbb4bd383458',1,'glfw3.h']]],
['glfwgetwaylanddisplay_381',['glfwGetWaylandDisplay',['../group__native.html#gaaf8118a3c877f3a6bc8e7a649519de5e',1,'glfw3native.h']]],
['glfwgetwaylandmonitor_382',['glfwGetWaylandMonitor',['../group__native.html#gab10427a667b6cd91eec7709f7a906bd3',1,'glfw3native.h']]],
['glfwgetwaylandwindow_383',['glfwGetWaylandWindow',['../group__native.html#ga4738d7aca4191363519a9a641c3ab64c',1,'glfw3native.h']]],
['glfwgetwglcontext_384',['glfwGetWGLContext',['../group__native.html#gadc4010d91d9cc1134d040eeb1202a143',1,'glfw3native.h']]],
['glfwgetwin32adapter_385',['glfwGetWin32Adapter',['../group__native.html#gac84f63a3f9db145b9435e5e0dbc4183d',1,'glfw3native.h']]],
['glfwgetwin32monitor_386',['glfwGetWin32Monitor',['../group__native.html#gac408b09a330749402d5d1fa1f5894dd9',1,'glfw3native.h']]],
['glfwgetwin32window_387',['glfwGetWin32Window',['../group__native.html#gafe5079aa79038b0079fc09d5f0a8e667',1,'glfw3native.h']]],
['glfwgetwindowattrib_388',['glfwGetWindowAttrib',['../group__window.html#gacccb29947ea4b16860ebef42c2cb9337',1,'glfw3.h']]],
['glfwgetwindowcontentscale_389',['glfwGetWindowContentScale',['../group__window.html#gaf5d31de9c19c4f994facea64d2b3106c',1,'glfw3.h']]],
['glfwgetwindowframesize_390',['glfwGetWindowFrameSize',['../group__window.html#ga1a9fd382058c53101b21cf211898f1f1',1,'glfw3.h']]],
['glfwgetwindowmonitor_391',['glfwGetWindowMonitor',['../group__window.html#gaeac25e64789974ccbe0811766bd91a16',1,'glfw3.h']]],
['glfwgetwindowopacity_392',['glfwGetWindowOpacity',['../group__window.html#gad09f0bd7a6307c4533b7061828480a84',1,'glfw3.h']]],
['glfwgetwindowpos_393',['glfwGetWindowPos',['../group__window.html#ga73cb526c000876fd8ddf571570fdb634',1,'glfw3.h']]],
['glfwgetwindowsize_394',['glfwGetWindowSize',['../group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6',1,'glfw3.h']]],
['glfwgetwindowuserpointer_395',['glfwGetWindowUserPointer',['../group__window.html#ga17807ce0f45ac3f8bb50d6dcc59a4e06',1,'glfw3.h']]],
['glfwgetx11adapter_396',['glfwGetX11Adapter',['../group__native.html#ga088fbfa80f50569402b41be71ad66e40',1,'glfw3native.h']]],
['glfwgetx11display_397',['glfwGetX11Display',['../group__native.html#ga8519b66594ea3ef6eeafaa2e3ee37406',1,'glfw3native.h']]],
['glfwgetx11monitor_398',['glfwGetX11Monitor',['../group__native.html#gab2f8cc043905e9fa9b12bfdbbcfe874c',1,'glfw3native.h']]],
['glfwgetx11selectionstring_399',['glfwGetX11SelectionString',['../group__native.html#ga72f23e3980b83788c70aa854eca31430',1,'glfw3native.h']]],
['glfwgetx11window_400',['glfwGetX11Window',['../group__native.html#ga90ca676322740842db446999a1b1f21d',1,'glfw3native.h']]],
['glfwglproc_401',['GLFWglproc',['../group__context.html#ga3d47c2d2fbe0be9c505d0e04e91a133c',1,'glfw3.h']]],
['glfwhidewindow_402',['glfwHideWindow',['../group__window.html#ga49401f82a1ba5f15db5590728314d47c',1,'glfw3.h']]],
['glfwiconifywindow_403',['glfwIconifyWindow',['../group__window.html#ga1bb559c0ebaad63c5c05ad2a066779c4',1,'glfw3.h']]],
['glfwimage_404',['GLFWimage',['../structGLFWimage.html',1,'GLFWimage'],['../group__window.html#gac81c32f4437de7b3aa58ab62c3d9e5b1',1,'GLFWimage():&#160;glfw3.h']]],
['glfwinit_405',['glfwInit',['../group__init.html#ga317aac130a235ab08c6db0834907d85e',1,'glfw3.h']]],
['glfwinithint_406',['glfwInitHint',['../group__init.html#ga110fd1d3f0412822b4f1908c026f724a',1,'glfw3.h']]],
['glfwjoystickfun_407',['GLFWjoystickfun',['../group__input.html#gaa67aa597e974298c748bfe4fb17d406d',1,'glfw3.h']]],
['glfwjoystickisgamepad_408',['glfwJoystickIsGamepad',['../group__input.html#gad0f676860f329d80f7e47e9f06a96f00',1,'glfw3.h']]],
['glfwjoystickpresent_409',['glfwJoystickPresent',['../group__input.html#gaed0966cee139d815317f9ffcba64c9f1',1,'glfw3.h']]],
['glfwkeyfun_410',['GLFWkeyfun',['../group__input.html#ga0192a232a41e4e82948217c8ba94fdfd',1,'glfw3.h']]],
['glfwmakecontextcurrent_411',['glfwMakeContextCurrent',['../group__context.html#ga1c04dc242268f827290fe40aa1c91157',1,'glfw3.h']]],
['glfwmaximizewindow_412',['glfwMaximizeWindow',['../group__window.html#ga3f541387449d911274324ae7f17ec56b',1,'glfw3.h']]],
['glfwmonitor_413',['GLFWmonitor',['../group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3',1,'glfw3.h']]],
['glfwmonitorfun_414',['GLFWmonitorfun',['../group__monitor.html#ga8a7ee579a66720f24d656526f3e44c63',1,'glfw3.h']]],
['glfwmousebuttonfun_415',['GLFWmousebuttonfun',['../group__input.html#ga39893a4a7e7c3239c98d29c9e084350c',1,'glfw3.h']]],
['glfwpollevents_416',['glfwPollEvents',['../group__window.html#ga37bd57223967b4211d60ca1a0bf3c832',1,'glfw3.h']]],
['glfwpostemptyevent_417',['glfwPostEmptyEvent',['../group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9',1,'glfw3.h']]],
['glfwrawmousemotionsupported_418',['glfwRawMouseMotionSupported',['../group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2',1,'glfw3.h']]],
['glfwrequestwindowattention_419',['glfwRequestWindowAttention',['../group__window.html#ga2f8d59323fc4692c1d54ba08c863a703',1,'glfw3.h']]],
['glfwrestorewindow_420',['glfwRestoreWindow',['../group__window.html#ga52527a5904b47d802b6b4bb519cdebc7',1,'glfw3.h']]],
['glfwscrollfun_421',['GLFWscrollfun',['../group__input.html#ga4687e2199c60a18a8dd1da532e6d75c9',1,'glfw3.h']]],
['glfwsetcharcallback_422',['glfwSetCharCallback',['../group__input.html#gab25c4a220fd8f5717718dbc487828996',1,'glfw3.h']]],
['glfwsetcharmodscallback_423',['glfwSetCharModsCallback',['../group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c',1,'glfw3.h']]],
['glfwsetclipboardstring_424',['glfwSetClipboardString',['../group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd',1,'glfw3.h']]],
['glfwsetcursor_425',['glfwSetCursor',['../group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e',1,'glfw3.h']]],
['glfwsetcursorentercallback_426',['glfwSetCursorEnterCallback',['../group__input.html#gad27f8ad0142c038a281466c0966817d8',1,'glfw3.h']]],
['glfwsetcursorpos_427',['glfwSetCursorPos',['../group__input.html#ga04b03af936d906ca123c8f4ee08b39e7',1,'glfw3.h']]],
['glfwsetcursorposcallback_428',['glfwSetCursorPosCallback',['../group__input.html#gac1f879ab7435d54d4d79bb469fe225d7',1,'glfw3.h']]],
['glfwsetdropcallback_429',['glfwSetDropCallback',['../group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b',1,'glfw3.h']]],
['glfwseterrorcallback_430',['glfwSetErrorCallback',['../group__init.html#gaff45816610d53f0b83656092a4034f40',1,'glfw3.h']]],
['glfwsetframebuffersizecallback_431',['glfwSetFramebufferSizeCallback',['../group__window.html#gab3fb7c3366577daef18c0023e2a8591f',1,'glfw3.h']]],
['glfwsetgamma_432',['glfwSetGamma',['../group__monitor.html#ga6ac582625c990220785ddd34efa3169a',1,'glfw3.h']]],
['glfwsetgammaramp_433',['glfwSetGammaRamp',['../group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd',1,'glfw3.h']]],
['glfwsetinputmode_434',['glfwSetInputMode',['../group__input.html#gaa92336e173da9c8834558b54ee80563b',1,'glfw3.h']]],
['glfwsetjoystickcallback_435',['glfwSetJoystickCallback',['../group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c',1,'glfw3.h']]],
['glfwsetjoystickuserpointer_436',['glfwSetJoystickUserPointer',['../group__input.html#ga6b2f72d64d636b48a727b437cbb7489e',1,'glfw3.h']]],
['glfwsetkeycallback_437',['glfwSetKeyCallback',['../group__input.html#ga1caf18159767e761185e49a3be019f8d',1,'glfw3.h']]],
['glfwsetmonitorcallback_438',['glfwSetMonitorCallback',['../group__monitor.html#gab39df645587c8518192aa746c2fb06c3',1,'glfw3.h']]],
['glfwsetmonitoruserpointer_439',['glfwSetMonitorUserPointer',['../group__monitor.html#ga702750e24313a686d3637297b6e85fda',1,'glfw3.h']]],
['glfwsetmousebuttoncallback_440',['glfwSetMouseButtonCallback',['../group__input.html#ga6ab84420974d812bee700e45284a723c',1,'glfw3.h']]],
['glfwsetscrollcallback_441',['glfwSetScrollCallback',['../group__input.html#ga571e45a030ae4061f746ed56cb76aede',1,'glfw3.h']]],
['glfwsettime_442',['glfwSetTime',['../group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0',1,'glfw3.h']]],
['glfwsetwindowaspectratio_443',['glfwSetWindowAspectRatio',['../group__window.html#ga72ac8cb1ee2e312a878b55153d81b937',1,'glfw3.h']]],
['glfwsetwindowattrib_444',['glfwSetWindowAttrib',['../group__window.html#gace2afda29b4116ec012e410a6819033e',1,'glfw3.h']]],
['glfwsetwindowclosecallback_445',['glfwSetWindowCloseCallback',['../group__window.html#gada646d775a7776a95ac000cfc1885331',1,'glfw3.h']]],
['glfwsetwindowcontentscalecallback_446',['glfwSetWindowContentScaleCallback',['../group__window.html#gaf2832ebb5aa6c252a2d261de002c92d6',1,'glfw3.h']]],
['glfwsetwindowfocuscallback_447',['glfwSetWindowFocusCallback',['../group__window.html#gac2d83c4a10f071baf841f6730528e66c',1,'glfw3.h']]],
['glfwsetwindowicon_448',['glfwSetWindowIcon',['../group__window.html#gadd7ccd39fe7a7d1f0904666ae5932dc5',1,'glfw3.h']]],
['glfwsetwindowiconifycallback_449',['glfwSetWindowIconifyCallback',['../group__window.html#gac793e9efd255567b5fb8b445052cfd3e',1,'glfw3.h']]],
['glfwsetwindowmaximizecallback_450',['glfwSetWindowMaximizeCallback',['../group__window.html#gacbe64c339fbd94885e62145563b6dc93',1,'glfw3.h']]],
['glfwsetwindowmonitor_451',['glfwSetWindowMonitor',['../group__window.html#ga81c76c418af80a1cce7055bccb0ae0a7',1,'glfw3.h']]],
['glfwsetwindowopacity_452',['glfwSetWindowOpacity',['../group__window.html#gac31caeb3d1088831b13d2c8a156802e9',1,'glfw3.h']]],
['glfwsetwindowpos_453',['glfwSetWindowPos',['../group__window.html#ga1abb6d690e8c88e0c8cd1751356dbca8',1,'glfw3.h']]],
['glfwsetwindowposcallback_454',['glfwSetWindowPosCallback',['../group__window.html#ga08bdfbba88934f9c4f92fd757979ac74',1,'glfw3.h']]],
['glfwsetwindowrefreshcallback_455',['glfwSetWindowRefreshCallback',['../group__window.html#ga1c5c7eb889c33c7f4d10dd35b327654e',1,'glfw3.h']]],
['glfwsetwindowshouldclose_456',['glfwSetWindowShouldClose',['../group__window.html#ga49c449dde2a6f87d996f4daaa09d6708',1,'glfw3.h']]],
['glfwsetwindowsize_457',['glfwSetWindowSize',['../group__window.html#ga371911f12c74c504dd8d47d832d095cb',1,'glfw3.h']]],
['glfwsetwindowsizecallback_458',['glfwSetWindowSizeCallback',['../group__window.html#gad91b8b047a0c4c6033c38853864c34f8',1,'glfw3.h']]],
['glfwsetwindowsizelimits_459',['glfwSetWindowSizeLimits',['../group__window.html#gac314fa6cec7d2d307be9963e2709cc90',1,'glfw3.h']]],
['glfwsetwindowtitle_460',['glfwSetWindowTitle',['../group__window.html#ga5d877f09e968cef7a360b513306f17ff',1,'glfw3.h']]],
['glfwsetwindowuserpointer_461',['glfwSetWindowUserPointer',['../group__window.html#ga3d2fc6026e690ab31a13f78bc9fd3651',1,'glfw3.h']]],
['glfwsetx11selectionstring_462',['glfwSetX11SelectionString',['../group__native.html#ga55f879ab02d93367f966186b6f0133f7',1,'glfw3native.h']]],
['glfwshowwindow_463',['glfwShowWindow',['../group__window.html#ga61be47917b72536a148300f46494fc66',1,'glfw3.h']]],
['glfwswapbuffers_464',['glfwSwapBuffers',['../group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14',1,'glfw3.h']]],
['glfwswapinterval_465',['glfwSwapInterval',['../group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed',1,'glfw3.h']]],
['glfwterminate_466',['glfwTerminate',['../group__init.html#gaaae48c0a18607ea4a4ba951d939f0901',1,'glfw3.h']]],
['glfwupdategamepadmappings_467',['glfwUpdateGamepadMappings',['../group__input.html#gaed5104612f2fa8e66aa6e846652ad00f',1,'glfw3.h']]],
['glfwvidmode_468',['GLFWvidmode',['../structGLFWvidmode.html',1,'GLFWvidmode'],['../group__monitor.html#gae48aadf4ea0967e6605c8f58fa5daccb',1,'GLFWvidmode():&#160;glfw3.h']]],
['glfwvkproc_469',['GLFWvkproc',['../group__vulkan.html#ga70c01918dc9d233a4fbe0681a43018af',1,'glfw3.h']]],
['glfwvulkansupported_470',['glfwVulkanSupported',['../group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b',1,'glfw3.h']]],
['glfwwaitevents_471',['glfwWaitEvents',['../group__window.html#ga554e37d781f0a997656c26b2c56c835e',1,'glfw3.h']]],
['glfwwaiteventstimeout_472',['glfwWaitEventsTimeout',['../group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf',1,'glfw3.h']]],
['glfwwindow_473',['GLFWwindow',['../group__window.html#ga3c96d80d363e67d13a41b5d1821f3242',1,'glfw3.h']]],
['glfwwindowclosefun_474',['GLFWwindowclosefun',['../group__window.html#ga93e7c2555bd837f4ed8b20f76cada72e',1,'glfw3.h']]],
['glfwwindowcontentscalefun_475',['GLFWwindowcontentscalefun',['../group__window.html#ga1da46b65eafcc1a7ff0adb8f4a7b72fd',1,'glfw3.h']]],
['glfwwindowfocusfun_476',['GLFWwindowfocusfun',['../group__window.html#ga58be2061828dd35080bb438405d3a7e2',1,'glfw3.h']]],
['glfwwindowhint_477',['glfwWindowHint',['../group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033',1,'glfw3.h']]],
['glfwwindowhintstring_478',['glfwWindowHintString',['../group__window.html#ga8cb2782861c9d997bcf2dea97f363e5f',1,'glfw3.h']]],
['glfwwindowiconifyfun_479',['GLFWwindowiconifyfun',['../group__window.html#gad2d4e4c3d28b1242e742e8268b9528af',1,'glfw3.h']]],
['glfwwindowmaximizefun_480',['GLFWwindowmaximizefun',['../group__window.html#ga7269a3d1cb100c0081f95fc09afa4949',1,'glfw3.h']]],
['glfwwindowposfun_481',['GLFWwindowposfun',['../group__window.html#gafd8db81fdb0e850549dc6bace5ed697a',1,'glfw3.h']]],
['glfwwindowrefreshfun_482',['GLFWwindowrefreshfun',['../group__window.html#ga7a56f9e0227e2cd9470d80d919032e08',1,'glfw3.h']]],
['glfwwindowshouldclose_483',['glfwWindowShouldClose',['../group__window.html#ga24e02fbfefbb81fc45320989f8140ab5',1,'glfw3.h']]],
['glfwwindowsizefun_484',['GLFWwindowsizefun',['../group__window.html#gae49ee6ebc03fa2da024b89943a331355',1,'glfw3.h']]],
['green_485',['green',['../structGLFWgammaramp.html#affccc6f5df47820b6562d709da3a5a3a',1,'GLFWgammaramp']]],
['greenbits_486',['greenBits',['../structGLFWvidmode.html#a292fdd281f3485fb3ff102a5bda43faa',1,'GLFWvidmode']]],
['getting_20started_487',['Getting started',['../quick_guide.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['height',['height',['../structGLFWvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode::height()'],['../structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec',1,'GLFWimage::height()']]]
['height_488',['height',['../structGLFWvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode::height()'],['../structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec',1,'GLFWimage::height()']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_7.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,11 +1,11 @@
var searchData=
[
['initialization_2c_20version_20and_20error_20reference',['Initialization, version and error reference',['../group__init.html',1,'']]],
['input_20reference',['Input reference',['../group__input.html',1,'']]],
['input_2edox',['input.dox',['../input_8dox.html',1,'']]],
['input_20guide',['Input guide',['../input_guide.html',1,'']]],
['internal_2edox',['internal.dox',['../internal_8dox.html',1,'']]],
['internal_20structure',['Internal structure',['../internals_guide.html',1,'']]],
['intro_2edox',['intro.dox',['../intro_8dox.html',1,'']]],
['introduction_20to_20the_20api',['Introduction to the API',['../intro_guide.html',1,'']]]
['initialization_2c_20version_20and_20error_20reference_489',['Initialization, version and error reference',['../group__init.html',1,'']]],
['input_20reference_490',['Input reference',['../group__input.html',1,'']]],
['input_2edox_491',['input.dox',['../input_8dox.html',1,'']]],
['input_20guide_492',['Input guide',['../input_guide.html',1,'']]],
['internal_2edox_493',['internal.dox',['../internal_8dox.html',1,'']]],
['internal_20structure_494',['Internal structure',['../internals_guide.html',1,'']]],
['intro_2edox_495',['intro.dox',['../intro_8dox.html',1,'']]],
['introduction_20to_20the_20api_496',['Introduction to the API',['../intro_guide.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_8.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,5 +1,5 @@
var searchData=
[
['joystick_20hat_20states',['Joystick hat states',['../group__hat__state.html',1,'']]],
['joysticks',['Joysticks',['../group__joysticks.html',1,'']]]
['joystick_20hat_20states_497',['Joystick hat states',['../group__hat__state.html',1,'']]],
['joysticks_498',['Joysticks',['../group__joysticks.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_9.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]]
['keyboard_20keys_499',['Keyboard keys',['../group__keys.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_a.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,11 +1,11 @@
var searchData=
[
['mouse_20buttons',['Mouse buttons',['../group__buttons.html',1,'']]],
['main_2edox',['main.dox',['../main_8dox.html',1,'']]],
['modifier_20key_20flags',['Modifier key flags',['../group__mods.html',1,'']]],
['monitor_20reference',['Monitor reference',['../group__monitor.html',1,'']]],
['monitor_2edox',['monitor.dox',['../monitor_8dox.html',1,'']]],
['monitor_20guide',['Monitor guide',['../monitor_guide.html',1,'']]],
['moving_2edox',['moving.dox',['../moving_8dox.html',1,'']]],
['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving_guide.html',1,'']]]
['mouse_20buttons_500',['Mouse buttons',['../group__buttons.html',1,'']]],
['main_2edox_501',['main.dox',['../main_8dox.html',1,'']]],
['modifier_20key_20flags_502',['Modifier key flags',['../group__mods.html',1,'']]],
['monitor_20reference_503',['Monitor reference',['../group__monitor.html',1,'']]],
['monitor_2edox_504',['monitor.dox',['../monitor_8dox.html',1,'']]],
['monitor_20guide_505',['Monitor guide',['../monitor_guide.html',1,'']]],
['moving_2edox_506',['moving.dox',['../moving_8dox.html',1,'']]],
['moving_20from_20glfw_202_20to_203_507',['Moving from GLFW 2 to 3',['../moving_guide.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_b.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,6 +1,6 @@
var searchData=
[
['notitle',['notitle',['../index.html',1,'']]],
['native_20access',['Native access',['../group__native.html',1,'']]],
['news_2edox',['news.dox',['../news_8dox.html',1,'']]]
['notitle_508',['notitle',['../index.html',1,'']]],
['native_20access_509',['Native access',['../group__native.html',1,'']]],
['news_2edox_510',['news.dox',['../news_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_c.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['pixels',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]]
['pixels_511',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_d.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]]
['quick_2edox_512',['quick.dox',['../quick_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_e.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,7 +1,7 @@
var searchData=
[
['release_20notes',['Release notes',['../news.html',1,'']]],
['red',['red',['../structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]],
['redbits',['redBits',['../structGLFWvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]],
['refreshrate',['refreshRate',['../structGLFWvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]]
['release_20notes_513',['Release notes',['../news.html',1,'']]],
['red_514',['red',['../structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]],
['redbits_515',['redBits',['../structGLFWvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]],
['refreshrate_516',['refreshRate',['../structGLFWvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_f.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,6 +1,6 @@
var searchData=
[
['standards_20conformance',['Standards conformance',['../compat_guide.html',1,'']]],
['standard_20cursor_20shapes',['Standard cursor shapes',['../group__shapes.html',1,'']]],
['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]]
['standards_20conformance_517',['Standards conformance',['../compat_guide.html',1,'']]],
['standard_20cursor_20shapes_518',['Standard cursor shapes',['../group__shapes.html',1,'']]],
['size_519',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_0.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,7 +1,7 @@
var searchData=
[
['glfwgamepadstate',['GLFWgamepadstate',['../structGLFWgamepadstate.html',1,'']]],
['glfwgammaramp',['GLFWgammaramp',['../structGLFWgammaramp.html',1,'']]],
['glfwimage',['GLFWimage',['../structGLFWimage.html',1,'']]],
['glfwvidmode',['GLFWvidmode',['../structGLFWvidmode.html',1,'']]]
['glfwgamepadstate_527',['GLFWgamepadstate',['../structGLFWgamepadstate.html',1,'']]],
['glfwgammaramp_528',['GLFWgammaramp',['../structGLFWgammaramp.html',1,'']]],
['glfwimage_529',['GLFWimage',['../structGLFWimage.html',1,'']]],
['glfwvidmode_530',['GLFWvidmode',['../structGLFWvidmode.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="defines_0.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,31 +1,31 @@
var searchData=
[
['glapientry',['GLAPIENTRY',['../glfw3_8h.html#aa97755eb47e4bf2727ad45d610e18206',1,'glfw3.h']]],
['glfw_5fany_5frelease_5fbehavior',['GLFW_ANY_RELEASE_BEHAVIOR',['../glfw3_8h.html#a6b47d806f285efe9bfd7aeec667297ee',1,'glfw3.h']]],
['glfw_5fapientry_5fdefined',['GLFW_APIENTRY_DEFINED',['../glfw3_8h.html#a8a8538c5500308b4211844f2fb26c7b9',1,'glfw3.h']]],
['glfw_5fconnected',['GLFW_CONNECTED',['../glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e',1,'glfw3.h']]],
['glfw_5fcursor',['GLFW_CURSOR',['../glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c',1,'glfw3.h']]],
['glfw_5fcursor_5fdisabled',['GLFW_CURSOR_DISABLED',['../glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88',1,'glfw3.h']]],
['glfw_5fcursor_5fhidden',['GLFW_CURSOR_HIDDEN',['../glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11',1,'glfw3.h']]],
['glfw_5fcursor_5fnormal',['GLFW_CURSOR_NORMAL',['../glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68',1,'glfw3.h']]],
['glfw_5fdisconnected',['GLFW_DISCONNECTED',['../glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32',1,'glfw3.h']]],
['glfw_5fdont_5fcare',['GLFW_DONT_CARE',['../glfw3_8h.html#a7a2edf2c18446833d27d07f1b7f3d571',1,'glfw3.h']]],
['glfw_5fegl_5fcontext_5fapi',['GLFW_EGL_CONTEXT_API',['../glfw3_8h.html#a03cf65c9ab01fc8b872ba58842c531c9',1,'glfw3.h']]],
['glfw_5flock_5fkey_5fmods',['GLFW_LOCK_KEY_MODS',['../glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947',1,'glfw3.h']]],
['glfw_5flose_5fcontext_5fon_5freset',['GLFW_LOSE_CONTEXT_ON_RESET',['../glfw3_8h.html#aec1132f245143fc915b2f0995228564c',1,'glfw3.h']]],
['glfw_5fnative_5fcontext_5fapi',['GLFW_NATIVE_CONTEXT_API',['../glfw3_8h.html#a0494c9bfd3f584ab41e6dbeeaa0e6a19',1,'glfw3.h']]],
['glfw_5fno_5fapi',['GLFW_NO_API',['../glfw3_8h.html#a8f6dcdc968d214ff14779564f1389264',1,'glfw3.h']]],
['glfw_5fno_5freset_5fnotification',['GLFW_NO_RESET_NOTIFICATION',['../glfw3_8h.html#aee84a679230d205005e22487ff678a85',1,'glfw3.h']]],
['glfw_5fno_5frobustness',['GLFW_NO_ROBUSTNESS',['../glfw3_8h.html#a8b306cb27f5bb0d6d67c7356a0e0fc34',1,'glfw3.h']]],
['glfw_5fopengl_5fany_5fprofile',['GLFW_OPENGL_ANY_PROFILE',['../glfw3_8h.html#ad6f2335d6f21cc9bab96633b1c111d5f',1,'glfw3.h']]],
['glfw_5fopengl_5fapi',['GLFW_OPENGL_API',['../glfw3_8h.html#a01b3f66db266341425e9abee6b257db2',1,'glfw3.h']]],
['glfw_5fopengl_5fcompat_5fprofile',['GLFW_OPENGL_COMPAT_PROFILE',['../glfw3_8h.html#ac06b663d79c8fcf04669cc8fcc0b7670',1,'glfw3.h']]],
['glfw_5fopengl_5fcore_5fprofile',['GLFW_OPENGL_CORE_PROFILE',['../glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8',1,'glfw3.h']]],
['glfw_5fopengl_5fes_5fapi',['GLFW_OPENGL_ES_API',['../glfw3_8h.html#a28d9b3bc6c2a522d815c8e146595051f',1,'glfw3.h']]],
['glfw_5fosmesa_5fcontext_5fapi',['GLFW_OSMESA_CONTEXT_API',['../glfw3_8h.html#afd34a473af9fa81f317910ea371b19e3',1,'glfw3.h']]],
['glfw_5fraw_5fmouse_5fmotion',['GLFW_RAW_MOUSE_MOTION',['../glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb',1,'glfw3.h']]],
['glfw_5frelease_5fbehavior_5fflush',['GLFW_RELEASE_BEHAVIOR_FLUSH',['../glfw3_8h.html#a999961d391db49cb4f949c1dece0e13b',1,'glfw3.h']]],
['glfw_5frelease_5fbehavior_5fnone',['GLFW_RELEASE_BEHAVIOR_NONE',['../glfw3_8h.html#afca09088eccacdce4b59036cfae349c5',1,'glfw3.h']]],
['glfw_5fsticky_5fkeys',['GLFW_STICKY_KEYS',['../glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc',1,'glfw3.h']]],
['glfw_5fsticky_5fmouse_5fbuttons',['GLFW_STICKY_MOUSE_BUTTONS',['../glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1',1,'glfw3.h']]]
['glapientry_732',['GLAPIENTRY',['../glfw3_8h.html#aa97755eb47e4bf2727ad45d610e18206',1,'glfw3.h']]],
['glfw_5fany_5frelease_5fbehavior_733',['GLFW_ANY_RELEASE_BEHAVIOR',['../glfw3_8h.html#a6b47d806f285efe9bfd7aeec667297ee',1,'glfw3.h']]],
['glfw_5fapientry_5fdefined_734',['GLFW_APIENTRY_DEFINED',['../glfw3_8h.html#a8a8538c5500308b4211844f2fb26c7b9',1,'glfw3.h']]],
['glfw_5fconnected_735',['GLFW_CONNECTED',['../glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e',1,'glfw3.h']]],
['glfw_5fcursor_736',['GLFW_CURSOR',['../glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c',1,'glfw3.h']]],
['glfw_5fcursor_5fdisabled_737',['GLFW_CURSOR_DISABLED',['../glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88',1,'glfw3.h']]],
['glfw_5fcursor_5fhidden_738',['GLFW_CURSOR_HIDDEN',['../glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11',1,'glfw3.h']]],
['glfw_5fcursor_5fnormal_739',['GLFW_CURSOR_NORMAL',['../glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68',1,'glfw3.h']]],
['glfw_5fdisconnected_740',['GLFW_DISCONNECTED',['../glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32',1,'glfw3.h']]],
['glfw_5fdont_5fcare_741',['GLFW_DONT_CARE',['../glfw3_8h.html#a7a2edf2c18446833d27d07f1b7f3d571',1,'glfw3.h']]],
['glfw_5fegl_5fcontext_5fapi_742',['GLFW_EGL_CONTEXT_API',['../glfw3_8h.html#a03cf65c9ab01fc8b872ba58842c531c9',1,'glfw3.h']]],
['glfw_5flock_5fkey_5fmods_743',['GLFW_LOCK_KEY_MODS',['../glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947',1,'glfw3.h']]],
['glfw_5flose_5fcontext_5fon_5freset_744',['GLFW_LOSE_CONTEXT_ON_RESET',['../glfw3_8h.html#aec1132f245143fc915b2f0995228564c',1,'glfw3.h']]],
['glfw_5fnative_5fcontext_5fapi_745',['GLFW_NATIVE_CONTEXT_API',['../glfw3_8h.html#a0494c9bfd3f584ab41e6dbeeaa0e6a19',1,'glfw3.h']]],
['glfw_5fno_5fapi_746',['GLFW_NO_API',['../glfw3_8h.html#a8f6dcdc968d214ff14779564f1389264',1,'glfw3.h']]],
['glfw_5fno_5freset_5fnotification_747',['GLFW_NO_RESET_NOTIFICATION',['../glfw3_8h.html#aee84a679230d205005e22487ff678a85',1,'glfw3.h']]],
['glfw_5fno_5frobustness_748',['GLFW_NO_ROBUSTNESS',['../glfw3_8h.html#a8b306cb27f5bb0d6d67c7356a0e0fc34',1,'glfw3.h']]],
['glfw_5fopengl_5fany_5fprofile_749',['GLFW_OPENGL_ANY_PROFILE',['../glfw3_8h.html#ad6f2335d6f21cc9bab96633b1c111d5f',1,'glfw3.h']]],
['glfw_5fopengl_5fapi_750',['GLFW_OPENGL_API',['../glfw3_8h.html#a01b3f66db266341425e9abee6b257db2',1,'glfw3.h']]],
['glfw_5fopengl_5fcompat_5fprofile_751',['GLFW_OPENGL_COMPAT_PROFILE',['../glfw3_8h.html#ac06b663d79c8fcf04669cc8fcc0b7670',1,'glfw3.h']]],
['glfw_5fopengl_5fcore_5fprofile_752',['GLFW_OPENGL_CORE_PROFILE',['../glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8',1,'glfw3.h']]],
['glfw_5fopengl_5fes_5fapi_753',['GLFW_OPENGL_ES_API',['../glfw3_8h.html#a28d9b3bc6c2a522d815c8e146595051f',1,'glfw3.h']]],
['glfw_5fosmesa_5fcontext_5fapi_754',['GLFW_OSMESA_CONTEXT_API',['../glfw3_8h.html#afd34a473af9fa81f317910ea371b19e3',1,'glfw3.h']]],
['glfw_5fraw_5fmouse_5fmotion_755',['GLFW_RAW_MOUSE_MOTION',['../glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb',1,'glfw3.h']]],
['glfw_5frelease_5fbehavior_5fflush_756',['GLFW_RELEASE_BEHAVIOR_FLUSH',['../glfw3_8h.html#a999961d391db49cb4f949c1dece0e13b',1,'glfw3.h']]],
['glfw_5frelease_5fbehavior_5fnone_757',['GLFW_RELEASE_BEHAVIOR_NONE',['../glfw3_8h.html#afca09088eccacdce4b59036cfae349c5',1,'glfw3.h']]],
['glfw_5fsticky_5fkeys_758',['GLFW_STICKY_KEYS',['../glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc',1,'glfw3.h']]],
['glfw_5fsticky_5fmouse_5fbuttons_759',['GLFW_STICKY_MOUSE_BUTTONS',['../glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1',1,'glfw3.h']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_0.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['build_2edox',['build.dox',['../build_8dox.html',1,'']]]
['build_2edox_531',['build.dox',['../build_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_1.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,6 +1,6 @@
var searchData=
[
['compat_2edox',['compat.dox',['../compat_8dox.html',1,'']]],
['compile_2edox',['compile.dox',['../compile_8dox.html',1,'']]],
['context_2edox',['context.dox',['../context_8dox.html',1,'']]]
['compat_2edox_532',['compat.dox',['../compat_8dox.html',1,'']]],
['compile_2edox_533',['compile.dox',['../compile_8dox.html',1,'']]],
['context_2edox_534',['context.dox',['../context_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_2.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,5 +1,5 @@
var searchData=
[
['glfw3_2eh',['glfw3.h',['../glfw3_8h.html',1,'']]],
['glfw3native_2eh',['glfw3native.h',['../glfw3native_8h.html',1,'']]]
['glfw3_2eh_535',['glfw3.h',['../glfw3_8h.html',1,'']]],
['glfw3native_2eh_536',['glfw3native.h',['../glfw3native_8h.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_3.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,6 +1,6 @@
var searchData=
[
['input_2edox',['input.dox',['../input_8dox.html',1,'']]],
['internal_2edox',['internal.dox',['../internal_8dox.html',1,'']]],
['intro_2edox',['intro.dox',['../intro_8dox.html',1,'']]]
['input_2edox_537',['input.dox',['../input_8dox.html',1,'']]],
['internal_2edox_538',['internal.dox',['../internal_8dox.html',1,'']]],
['intro_2edox_539',['intro.dox',['../intro_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_4.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,6 +1,6 @@
var searchData=
[
['main_2edox',['main.dox',['../main_8dox.html',1,'']]],
['monitor_2edox',['monitor.dox',['../monitor_8dox.html',1,'']]],
['moving_2edox',['moving.dox',['../moving_8dox.html',1,'']]]
['main_2edox_540',['main.dox',['../main_8dox.html',1,'']]],
['monitor_2edox_541',['monitor.dox',['../monitor_8dox.html',1,'']]],
['moving_2edox_542',['moving.dox',['../moving_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_5.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['news_2edox',['news.dox',['../news_8dox.html',1,'']]]
['news_2edox_543',['news.dox',['../news_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_6.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]]
['quick_2edox_544',['quick.dox',['../quick_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_7.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['vulkan_2edox',['vulkan.dox',['../vulkan_8dox.html',1,'']]]
['vulkan_2edox_545',['vulkan.dox',['../vulkan_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_8.js"></script>
<script type="text/javascript" src="search.js"></script>

View File

@@ -1,4 +1,4 @@
var searchData=
[
['window_2edox',['window.dox',['../window_8dox.html',1,'']]]
['window_2edox_546',['window.dox',['../window_8dox.html',1,'']]]
];

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_0.js"></script>
<script type="text/javascript" src="search.js"></script>

Some files were not shown because too many files have changed in this diff Show More