Delete unintentionally added build files
Before Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 635 B |
Before Width: | Height: | Size: 147 B |
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: build.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">build.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,195 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Building applications</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Building applications </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#build_include">Including the GLFW header file</a><ul><li class="level2"><a href="#build_macros">GLFW header option macros</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#build_link">Link with the right libraries</a><ul><li class="level2"><a href="#build_link_win32">With MinGW or Visual C++ on Windows</a></li>
|
|
||||||
<li class="level2"><a href="#build_link_cmake_source">With CMake and GLFW source</a></li>
|
|
||||||
<li class="level2"><a href="#build_link_cmake_package">With CMake and installed GLFW binaries</a></li>
|
|
||||||
<li class="level2"><a href="#build_link_pkgconfig">With makefiles and pkg-config on Unix</a></li>
|
|
||||||
<li class="level2"><a href="#build_link_xcode">With Xcode on macOS</a></li>
|
|
||||||
<li class="level2"><a href="#build_link_osx">With command-line on macOS</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This is about compiling and linking applications that use GLFW. For information on how to write such applications, start with the <a class="el" href="quick_guide.html">introductory tutorial</a>. For information on how to compile the GLFW library itself, see <a class="el" href="compile_guide.html">Compiling GLFW</a>.</p>
|
|
||||||
<p>This is not a tutorial on compilation or linking. It assumes basic understanding of how to compile and link a C program as well as how to use the specific compiler of your chosen development environment. The compilation and linking process should be explained in your C programming material and in the documentation for your development environment.</p>
|
|
||||||
<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 <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
<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><!-- fragment --><p>This header defines all the constants and declares all the types and function prototypes of the GLFW API. By default, it also includes the OpenGL header from your development environment. See <a class="el" href="build_guide.html#build_macros">option macros</a> below for how to select OpenGL ES headers and more.</p>
|
|
||||||
<p>The GLFW header also defines any platform-specific macros needed by your OpenGL header, so that it can be included without needing any window system headers.</p>
|
|
||||||
<p>It does this only when needed, so if window system headers are 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 Win32 symbols have already been defined.</p>
|
|
||||||
<p>In other words:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Use the GLFW header to include OpenGL or OpenGL ES headers portably</li>
|
|
||||||
<li>Do not include window system headers unless you will use those APIs directly</li>
|
|
||||||
<li>If you do need such headers, include them before the GLFW header</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 before the GLFW one. GLFW attempts to detect any OpenGL or OpenGL ES header or extension loader header included before it and will then disable the inclusion of the default OpenGL header. Most extension loaders also define macros that disable similar headers below it.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="preprocessor">#include <glad/gl.h></span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
</div><!-- fragment --><p>Both of these mechanisms depend on the extension loader header defining a known macro. If yours doesn't or you don't know which one your users will pick, the <a class="el" href="build_guide.html#GLFW_INCLUDE_NONE">GLFW_INCLUDE_NONE</a> macro will explicitly prevent the GLFW header from including the OpenGL header. This will also allow you to include the two headers in any order.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_NONE</span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <glad/gl.h></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>
|
|
||||||
<p><a class="anchor" id="GLFW_INCLUDE_ES3"></a><b>GLFW_INCLUDE_ES3</b> makes the GLFW header include the OpenGL ES 3.0 <code>GLES3/gl3.h</code> header instead of the regular OpenGL header.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_INCLUDE_ES31"></a><b>GLFW_INCLUDE_ES31</b> makes the GLFW header include the OpenGL ES 3.1 <code>GLES3/gl31.h</code> header instead of the regular OpenGL header.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_INCLUDE_ES32"></a><b>GLFW_INCLUDE_ES32</b> makes the GLFW header include the OpenGL ES 3.2 <code>GLES3/gl32.h</code> header instead of the regular OpenGL header.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_INCLUDE_NONE"></a><b>GLFW_INCLUDE_NONE</b> makes the GLFW header not include any OpenGL or OpenGL ES API header. This is useful in combination with an extension loading library.</p>
|
|
||||||
<p>If none of the above inclusion macros are defined, the standard OpenGL <code>GL/gl.h</code> header (<code>OpenGL/gl.h</code> on macOS) is included, unless GLFW detects the inclusion guards of any OpenGL, OpenGL ES or extension loader header it knows about.</p>
|
|
||||||
<p>The following macros control the inclusion of additional API headers. Any number of these may be defined simultaneously, and/or together with one of the above macros.</p>
|
|
||||||
<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>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>
|
|
||||||
<p>On Windows and macOS, the list of system libraries is static and can be hard-coded into your build environment. See the section for your development environment below. On Linux and other Unix-like operating systems, the list varies but can be retrieved in various ways as described below.</p>
|
|
||||||
<p>A good general introduction to linking is <a href="https://www.lurklurk.org/linkers/linkers.html">Beginner's Guide to Linkers</a> by David Drysdale.</p>
|
|
||||||
<h2><a class="anchor" id="build_link_win32"></a>
|
|
||||||
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>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>
|
|
||||||
<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>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 any other library.</p>
|
|
||||||
<div class="fragment"><div class="line">target_link_libraries(myapp OpenGL::GL)</div>
|
|
||||||
</div><!-- fragment --><p>For a minimal example of a program and GLFW sources built with CMake, see the <a href="https://github.com/juliettef/GLFW-CMake-starter">GLFW CMake Starter</a> on GitHub.</p>
|
|
||||||
<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.4 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 any other library.</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, 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 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</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>
|
|
||||||
<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 -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Before Width: | Height: | Size: 132 B |
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: compat.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">compat.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,153 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Standards conformance</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Standards conformance </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#compat_x11">X11 extensions, protocols and IPC standards</a></li>
|
|
||||||
<li class="level1"><a href="#compat_wayland">Wayland protocols and IPC standards</a></li>
|
|
||||||
<li class="level1"><a href="#compat_glx">GLX extensions</a></li>
|
|
||||||
<li class="level1"><a href="#compat_wgl">WGL extensions</a></li>
|
|
||||||
<li class="level1"><a href="#compat_osx">OpenGL on macOS</a></li>
|
|
||||||
<li class="level1"><a href="#compat_vulkan">Vulkan loader and API</a></li>
|
|
||||||
<li class="level1"><a href="#compat_wsi">Vulkan WSI extensions</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This guide describes the various API extensions used by this version of GLFW. It lists what are essentially implementation details, but which are nonetheless vital knowledge for developers intending to deploy their applications on a wide range of machines.</p>
|
|
||||||
<p>The information in this guide is not a part of GLFW API, but merely preconditions for some parts of the library to function on a given machine. Any part of this information may change in future versions of GLFW and that will not be considered a breaking API change.</p>
|
|
||||||
<h1><a class="anchor" id="compat_x11"></a>
|
|
||||||
X11 extensions, protocols and IPC standards</h1>
|
|
||||||
<p>As GLFW uses Xlib directly, without any intervening toolkit library, it has sole responsibility for interacting well with the many and varied window managers in use on Unix-like systems. In order for applications and window managers to work well together, a number of standards and conventions have been developed that regulate behavior outside the scope of the X11 API; most importantly the <a href="https://www.tronche.com/gui/x/icccm/">Inter-Client Communication Conventions Manual</a> (ICCCM) and <a href="https://standards.freedesktop.org/wm-spec/wm-spec-latest.html">Extended Window Manager Hints</a> (EWMH) standards.</p>
|
|
||||||
<p>GLFW uses the <code>_MOTIF_WM_HINTS</code> window property to support borderless windows. If the running window manager does not support this property, the <code>GLFW_DECORATED</code> hint will have no effect.</p>
|
|
||||||
<p>GLFW uses the ICCCM <code>WM_DELETE_WINDOW</code> protocol to intercept the user attempting to close the GLFW window. If the running window manager does not support this protocol, the close callback will never be called.</p>
|
|
||||||
<p>GLFW uses the EWMH <code>_NET_WM_PING</code> protocol, allowing the window manager notify the user when the application has stopped responding, i.e. when it has ceased to process events. If the running window manager does not support this protocol, the user will not be notified if the application locks up.</p>
|
|
||||||
<p>GLFW uses the EWMH <code>_NET_WM_STATE_FULLSCREEN</code> window state to tell the window manager to make the GLFW window full screen. If the running window manager does not support this state, full screen windows may not work properly. GLFW has a fallback code path in case this state is unavailable, but every window manager behaves slightly differently in this regard.</p>
|
|
||||||
<p>GLFW uses the EWMH <code>_NET_WM_BYPASS_COMPOSITOR</code> window property to tell a compositing window manager to un-redirect full screen GLFW windows. If the running window manager uses compositing but does not support this property then additional copying may be performed for each buffer swap of full screen windows.</p>
|
|
||||||
<p>GLFW uses the <a href="https://www.freedesktop.org/wiki/ClipboardManager/">clipboard manager protocol</a> to push a clipboard string (i.e. selection) owned by a GLFW window about to be destroyed to the clipboard manager. If there is no running clipboard manager, the clipboard string will be unavailable once the window has been destroyed.</p>
|
|
||||||
<p>GLFW uses the <a href="https://www.freedesktop.org/wiki/Specifications/XDND/">X drag-and-drop protocol</a> to provide file drop events. If the application originating the drag does not support this protocol, drag and drop will not work.</p>
|
|
||||||
<p>GLFW uses the XRandR 1.3 extension to provide multi-monitor support. If the running X server does not support this version of this extension, multi-monitor support will not function and only a single, desktop-spanning monitor will be reported.</p>
|
|
||||||
<p>GLFW uses the XRandR 1.3 and Xf86vidmode extensions to provide gamma ramp support. If the running X server does not support either or both of these extensions, gamma ramp support will not function.</p>
|
|
||||||
<p>GLFW uses the Xkb extension and detectable auto-repeat to provide keyboard input. If the running X server does not support this extension, a non-Xkb fallback path is used.</p>
|
|
||||||
<p>GLFW uses the XInput2 extension to provide raw, non-accelerated mouse motion when the cursor is disabled. If the running X server does not support this extension, regular accelerated mouse motion will be used.</p>
|
|
||||||
<p>GLFW uses both the XRender extension and the compositing manager to support transparent window framebuffers. If the running X server does not support this extension or there is no running compositing manager, the <code>GLFW_TRANSPARENT_FRAMEBUFFER</code> framebuffer hint will have no effect.</p>
|
|
||||||
<p>GLFW uses both the Xcursor extension and the freedesktop cursor conventions to provide an expanded set of standard cursor shapes. If the running X server does not support this extension or the current cursor theme does not support the conventions, the <code>GLFW_RESIZE_NWSE_CURSOR</code>, <code>GLFW_RESIZE_NESW_CURSOR</code> and <code>GLFW_NOT_ALLOWED_CURSOR</code> shapes will not be available and other shapes may use legacy images.</p>
|
|
||||||
<h1><a class="anchor" id="compat_wayland"></a>
|
|
||||||
Wayland protocols and IPC standards</h1>
|
|
||||||
<p>As GLFW uses libwayland directly, without any intervening toolkit library, it has sole responsibility for interacting well with every compositor in use on Unix-like systems. Most of the features are provided by the core protocol, while cursor support is provided by the libwayland-cursor helper library, EGL integration by libwayland-egl, and keyboard handling by <a href="https://xkbcommon.org/">libxkbcommon</a>. In addition, GLFW uses some protocols from wayland-protocols to provide additional features if the compositor supports them.</p>
|
|
||||||
<p>GLFW uses xkbcommon 0.5.0 to provide key and text input support. Earlier versions are not supported.</p>
|
|
||||||
<p>GLFW uses the <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/xdg-shell/xdg-shell.xml">xdg-shell protocol</a> to provide better window management. This protocol is part of wayland-protocols 1.12, and is mandatory for GLFW to display a window.</p>
|
|
||||||
<p>GLFW uses the <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/relative-pointer/relative-pointer-unstable-v1.xml">relative pointer protocol</a> alongside the <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml">pointer constraints protocol</a> to implement disabled cursor. These two protocols are part of wayland-protocols 1.1, and mandatory at build time. If the running compositor does not support both of these protocols, disabling the cursor will have no effect.</p>
|
|
||||||
<p>GLFW uses the <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml">idle inhibit protocol</a> to prohibit the screensaver from starting. This protocol is part of wayland-protocols 1.6, and mandatory at build time. If the running compositor does not support this protocol, the screensaver may start even for full screen windows.</p>
|
|
||||||
<p>GLFW uses the <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml">xdg-decoration protocol</a> to request decorations to be drawn around its windows. This protocol is part of wayland-protocols 1.15, and mandatory at build time. If the running compositor does not support this protocol, a very simple frame will be drawn by GLFW itself, using the <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/viewporter/viewporter.xml">viewporter protocol</a> alongside <a href="https://cgit.freedesktop.org/wayland/wayland/tree/protocol/wayland.xml#n2598">subsurfaces</a>. This protocol is part of wayland-protocols 1.4, and mandatory at build time. If the running compositor does not support this protocol either, no decorations will be drawn around windows.</p>
|
|
||||||
<h1><a class="anchor" id="compat_glx"></a>
|
|
||||||
GLX extensions</h1>
|
|
||||||
<p>The GLX API is the default API used to create OpenGL contexts on Unix-like systems using the X Window System.</p>
|
|
||||||
<p>GLFW uses the GLX 1.3 <code>GLXFBConfig</code> functions to enumerate and select framebuffer pixel formats. If GLX 1.3 is not supported, <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> will fail.</p>
|
|
||||||
<p>GLFW uses the <code>GLX_MESA_swap_control,</code> <code>GLX_EXT_swap_control</code> and <code>GLX_SGI_swap_control</code> extensions to provide vertical retrace synchronization (or <em>vsync</em>), in that order of preference. When none of these extensions are available, calling <a class="el" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a> will have no effect.</p>
|
|
||||||
<p>GLFW uses the <code>GLX_ARB_multisample</code> extension to create contexts with multisampling anti-aliasing. Where this extension is unavailable, the <code>GLFW_SAMPLES</code> hint will have no effect.</p>
|
|
||||||
<p>GLFW uses the <code>GLX_ARB_create_context</code> extension when available, even when creating OpenGL contexts of version 2.1 and below. Where this extension is unavailable, the <code>GLFW_CONTEXT_VERSION_MAJOR</code> and <code>GLFW_CONTEXT_VERSION_MINOR</code> hints will only be partially supported, the <code>GLFW_CONTEXT_DEBUG</code> hint will have no effect, and setting the <code>GLFW_OPENGL_PROFILE</code> or <code>GLFW_OPENGL_FORWARD_COMPAT</code> hints to <code>GLFW_TRUE</code> will cause <a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a> to fail.</p>
|
|
||||||
<p>GLFW uses the <code>GLX_ARB_create_context_profile</code> extension to provide support for context profiles. Where this extension is unavailable, setting the <code>GLFW_OPENGL_PROFILE</code> hint to anything but <code>GLFW_OPENGL_ANY_PROFILE</code>, or setting <code>GLFW_CLIENT_API</code> to anything but <code>GLFW_OPENGL_API</code> or <code>GLFW_NO_API</code> will cause <a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a> to fail.</p>
|
|
||||||
<p>GLFW uses the <code>GLX_ARB_context_flush_control</code> extension to provide control over whether a context is flushed when it is released (made non-current). Where this extension is unavailable, the <code>GLFW_CONTEXT_RELEASE_BEHAVIOR</code> hint will have no effect and the context will always be flushed when released.</p>
|
|
||||||
<p>GLFW uses the <code>GLX_ARB_framebuffer_sRGB</code> and <code>GLX_EXT_framebuffer_sRGB</code> extensions to provide support for sRGB framebuffers. Where both of these extensions are unavailable, the <code>GLFW_SRGB_CAPABLE</code> hint will have no effect.</p>
|
|
||||||
<h1><a class="anchor" id="compat_wgl"></a>
|
|
||||||
WGL extensions</h1>
|
|
||||||
<p>The WGL API is used to create OpenGL contexts on Microsoft Windows and other implementations of the Win32 API, such as Wine.</p>
|
|
||||||
<p>GLFW uses either the <code>WGL_EXT_extension_string</code> or the <code>WGL_ARB_extension_string</code> extension to check for the presence of all other WGL extensions listed below. If both are available, the EXT one is preferred. If neither is available, no other extensions are used and many GLFW features related to context creation will have no effect or cause errors when used.</p>
|
|
||||||
<p>GLFW uses the <code>WGL_EXT_swap_control</code> extension to provide vertical retrace synchronization (or <em>vsync</em>). Where this extension is unavailable, calling <a class="el" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a> will have no effect.</p>
|
|
||||||
<p>GLFW uses the <code>WGL_ARB_pixel_format</code> and <code>WGL_ARB_multisample</code> extensions to create contexts with multisampling anti-aliasing. Where these extensions are unavailable, the <code>GLFW_SAMPLES</code> hint will have no effect.</p>
|
|
||||||
<p>GLFW uses the <code>WGL_ARB_create_context</code> extension when available, even when creating OpenGL contexts of version 2.1 and below. Where this extension is unavailable, the <code>GLFW_CONTEXT_VERSION_MAJOR</code> and <code>GLFW_CONTEXT_VERSION_MINOR</code> hints will only be partially supported, the <code>GLFW_CONTEXT_DEBUG</code> hint will have no effect, and setting the <code>GLFW_OPENGL_PROFILE</code> or <code>GLFW_OPENGL_FORWARD_COMPAT</code> hints to <code>GLFW_TRUE</code> will cause <a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a> to fail.</p>
|
|
||||||
<p>GLFW uses the <code>WGL_ARB_create_context_profile</code> extension to provide support for context profiles. Where this extension is unavailable, setting the <code>GLFW_OPENGL_PROFILE</code> hint to anything but <code>GLFW_OPENGL_ANY_PROFILE</code> will cause <a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a> to fail.</p>
|
|
||||||
<p>GLFW uses the <code>WGL_ARB_context_flush_control</code> extension to provide control over whether a context is flushed when it is released (made non-current). Where this extension is unavailable, the <code>GLFW_CONTEXT_RELEASE_BEHAVIOR</code> hint will have no effect and the context will always be flushed when released.</p>
|
|
||||||
<p>GLFW uses the <code>WGL_ARB_framebuffer_sRGB</code> and <code>WGL_EXT_framebuffer_sRGB</code> extensions to provide support for sRGB framebuffers. When both of these extensions are unavailable, the <code>GLFW_SRGB_CAPABLE</code> hint will have no effect.</p>
|
|
||||||
<h1><a class="anchor" id="compat_osx"></a>
|
|
||||||
OpenGL on macOS</h1>
|
|
||||||
<p>Support for OpenGL 3.2 and above was introduced with OS X 10.7 and even then only forward-compatible, core profile contexts are supported. Support for OpenGL 4.1 was introduced with OS X 10.9, also limited to forward-compatible, core profile contexts. There is also still no mechanism for requesting debug contexts or no-error contexts. Versions of Mac OS X earlier than 10.7 support at most OpenGL version 2.1.</p>
|
|
||||||
<p>Because of this, on OS X 10.7 and later, the <code>GLFW_CONTEXT_VERSION_MAJOR</code> and <code>GLFW_CONTEXT_VERSION_MINOR</code> hints will cause <a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a> to fail if given version 3.0 or 3.1. The <code>GLFW_OPENGL_PROFILE</code> hint must be set to <code>GLFW_OPENGL_CORE_PROFILE</code> when creating OpenGL 3.2 and later contexts. The <code>GLFW_CONTEXT_DEBUG</code> and <code>GLFW_CONTEXT_NO_ERROR</code> hints are ignored.</p>
|
|
||||||
<p>Also, on Mac OS X 10.6 and below, the <code>GLFW_CONTEXT_VERSION_MAJOR</code> and <code>GLFW_CONTEXT_VERSION_MINOR</code> hints will fail if given a version above 2.1, setting the <code>GLFW_OPENGL_PROFILE</code> or <code>GLFW_OPENGL_FORWARD_COMPAT</code> hints to a non-default value will cause <a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a> to fail and the <code>GLFW_CONTEXT_DEBUG</code> hint is ignored.</p>
|
|
||||||
<h1><a class="anchor" id="compat_vulkan"></a>
|
|
||||||
Vulkan loader and API</h1>
|
|
||||||
<p>By default, GLFW uses the standard system-wide Vulkan loader to access the Vulkan API on all platforms except macOS. This is installed by both graphics drivers and Vulkan SDKs. If either the loader or at least one minimally functional ICD is missing, <a class="el" href="group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b">glfwVulkanSupported</a> will return <code>GLFW_FALSE</code> and all other Vulkan-related functions will fail with an <a class="el" href="group__errors.html#ga56882b290db23261cc6c053c40c2d08e">GLFW_API_UNAVAILABLE</a> error.</p>
|
|
||||||
<h1><a class="anchor" id="compat_wsi"></a>
|
|
||||||
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#ga99ad342d82f4a3421e2864978cb6d1d6">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#ga99ad342d82f4a3421e2864978cb6d1d6">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#ga99ad342d82f4a3421e2864978cb6d1d6">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#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a> will return an empty list and window surface creation will fail. </p>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: compile.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">compile.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,228 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Compiling GLFW</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Compiling GLFW </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#compile_cmake">Using CMake</a><ul><li class="level2"><a href="#compile_deps">Installing dependencies</a><ul><li class="level3"><a href="#compile_deps_x11">Dependencies for X11</a></li>
|
|
||||||
<li class="level3"><a href="#compile_deps_wayland">Dependencies for Wayland and X11</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level2"><a href="#compile_generate">Generating build files with CMake</a><ul><li class="level3"><a href="#compile_generate_gui">Generating with the CMake GUI</a></li>
|
|
||||||
<li class="level3"><a href="#compile_generate_cli">Generating with command-line CMake</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level2"><a href="#compile_compile">Compiling the library</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#compile_options">CMake options</a><ul><li class="level2"><a href="#compile_options_shared">Shared CMake options</a></li>
|
|
||||||
<li class="level2"><a href="#compile_options_win32">Win32 specific CMake options</a></li>
|
|
||||||
<li class="level2"><a href="#compile_options_macos">macOS specific CMake options</a></li>
|
|
||||||
<li class="level2"><a href="#compile_options_unix">Unix-like system specific CMake options</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#compile_mingw_cross">Cross-compilation with CMake and MinGW</a></li>
|
|
||||||
<li class="level1"><a href="#compile_manual">Compiling GLFW manually</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This is about compiling the GLFW library itself. For information on how to build applications that use GLFW, see <a class="el" href="build_guide.html">Building applications</a>.</p>
|
|
||||||
<h1><a class="anchor" id="compile_cmake"></a>
|
|
||||||
Using CMake</h1>
|
|
||||||
<p>GLFW behaves like most other libraries that use CMake so this guide mostly describes the standard configure, generate and compile sequence. If you are already familiar with this from other projects, you may want to focus on the <a class="el" href="compile_guide.html#compile_deps">Installing dependencies</a> and <a class="el" href="compile_guide.html#compile_options">CMake options</a> sections for GLFW-specific information.</p>
|
|
||||||
<p>GLFW uses <a href="https://cmake.org/">CMake</a> to generate project files or makefiles for your chosen development environment. To compile GLFW, first generate these files with CMake and then use them to compile the GLFW library.</p>
|
|
||||||
<p>If you are on Windows and macOS you can <a href="https://cmake.org/download/">download CMake</a> from their site.</p>
|
|
||||||
<p>If you are on a Unix-like system such as Linux, FreeBSD or Cygwin or have a package system like Fink, MacPorts or Homebrew, you can install its CMake package.</p>
|
|
||||||
<p>CMake is a complex tool and this guide will only show a few of the possible ways to set up and compile GLFW. The CMake project has their own much more detailed <a href="https://cmake.org/cmake/help/latest/guide/user-interaction/">CMake user guide</a> that includes everything in this guide not specific to GLFW. It may be a useful companion to this one.</p>
|
|
||||||
<h2><a class="anchor" id="compile_deps"></a>
|
|
||||||
Installing dependencies</h2>
|
|
||||||
<p>The C/C++ development environments in Visual Studio, Xcode and MinGW come with all necessary dependencies for compiling GLFW, but on Unix-like systems like Linux and FreeBSD you will need a few extra packages.</p>
|
|
||||||
<h3><a class="anchor" id="compile_deps_x11"></a>
|
|
||||||
Dependencies for X11</h3>
|
|
||||||
<p>To compile GLFW for X11, you need to have the X11 development packages installed. They are not needed to build or run programs that use GLFW.</p>
|
|
||||||
<p>On Debian and derivatives like Ubuntu and Linux Mint the <code>xorg-dev</code> meta-package pulls in the development packages for all of X11.</p>
|
|
||||||
<div class="fragment"><div class="line">sudo apt install xorg-dev</div>
|
|
||||||
</div><!-- fragment --><p>On Fedora and derivatives like Red Hat the X11 extension packages <code>libXcursor-devel</code>, <code>libXi-devel</code>, <code>libXinerama-devel</code> and <code>libXrandr-devel</code> required by GLFW pull in all its other dependencies.</p>
|
|
||||||
<div class="fragment"><div class="line">sudo dnf install libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel</div>
|
|
||||||
</div><!-- fragment --><p>On FreeBSD the X11 headers are installed along the end-user X11 packages, so if you have an X server running you should have the headers as well. If not, install the <code>xorgproto</code> package.</p>
|
|
||||||
<div class="fragment"><div class="line">pkg install xorgproto</div>
|
|
||||||
</div><!-- fragment --><p>On Cygwin the <code>libXcursor-devel</code>, <code>libXi-devel</code>, <code>libXinerama-devel</code>, <code>libXrandr-devel</code> and <code>libXrender-devel</code> packages in the Libs section of the GUI installer will install all the headers and other development related files GLFW requires for X11.</p>
|
|
||||||
<p>Once you have the required dependencies, 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_wayland"></a>
|
|
||||||
Dependencies for Wayland and X11</h3>
|
|
||||||
<p>To compile GLFW for both Wayland and X11, you need to have the X11, Wayland and xkbcommon development packages installed. They are not needed to build or run programs that use GLFW. You will also need to set the <a class="el" href="compile_guide.html#GLFW_BUILD_WAYLAND">GLFW_BUILD_WAYLAND</a> CMake option in the next step when generating build files.</p>
|
|
||||||
<p>On Debian and derivatives like Ubuntu and Linux Mint you will need the <code>libwayland-dev</code>, <code>libxkbcommon-dev</code> and <code>wayland-protocols</code> packages and the <code>xorg-dev</code> meta-package. These will pull in all other dependencies.</p>
|
|
||||||
<div class="fragment"><div class="line">sudo apt install libwayland-dev libxkbcommon-dev wayland-protocols xorg-dev</div>
|
|
||||||
</div><!-- fragment --><p>On Fedora and derivatives like Red Hat you will need the <code>wayland-devel</code>, <code>libxkbcommon-devel</code>, <code>wayland-protocols-devel</code>, <code>libXcursor-devel</code>, <code>libXi-devel</code>, <code>libXinerama-devel</code> and <code>libXrandr-devel</code> packages. These will pull in all other dependencies.</p>
|
|
||||||
<div class="fragment"><div class="line">sudo dnf install wayland-devel libxkbcommon-devel wayland-protocols-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel</div>
|
|
||||||
</div><!-- fragment --><p>On FreeBSD you will need the <code>wayland</code>, <code>libxkbcommon</code> and <code>wayland-protocols</code> packages. The X11 headers are installed along the end-user X11 packages, so if you have an X server running you should have the headers as well. If not, install the <code>xorgproto</code> package.</p>
|
|
||||||
<div class="fragment"><div class="line">pkg install wayland libxkbcommon wayland-protocols xorgproto</div>
|
|
||||||
</div><!-- fragment --><p>Once you have the required dependencies, move on to <a class="el" href="compile_guide.html#compile_generate">Generating build files with CMake</a>.</p>
|
|
||||||
<h2><a class="anchor" id="compile_generate"></a>
|
|
||||||
Generating build files with CMake</h2>
|
|
||||||
<p>Once you have all necessary dependencies it is time to generate the project files or makefiles for your development environment. CMake needs two paths for this:</p>
|
|
||||||
<ul>
|
|
||||||
<li>the path to the root directory of the GLFW source tree (not its <code>src</code> subdirectory)</li>
|
|
||||||
<li>the path to the directory where the generated build files and compiled binaries will be placed</li>
|
|
||||||
</ul>
|
|
||||||
<p>If these are the same, it is called an in-tree build, otherwise it is called an out-of-tree build.</p>
|
|
||||||
<p>Out-of-tree builds are recommended as they avoid cluttering up the source tree. They also allow you to have several build directories for different configurations all using the same source tree.</p>
|
|
||||||
<p>A common pattern when building a single configuration is to have a build directory named <code>build</code> in the root of the source tree.</p>
|
|
||||||
<h3><a class="anchor" id="compile_generate_gui"></a>
|
|
||||||
Generating with the CMake GUI</h3>
|
|
||||||
<p>Start the CMake GUI and set the paths to the source and build directories described above. Then press <em>Configure</em> and <em>Generate</em>.</p>
|
|
||||||
<p>If you wish change any CMake variables in the list, press <em>Configure</em> and then <em>Generate</em> to have the new values take effect. The variable list will be populated after the first configure step.</p>
|
|
||||||
<p>By default, GLFW will use X11 on Linux and other Unix-like systems other than macOS. To include support for Wayland as well, set the <a class="el" href="compile_guide.html#GLFW_BUILD_WAYLAND">GLFW_BUILD_WAYLAND</a> option in the GLFW section of the variable list, then apply the new value as described above.</p>
|
|
||||||
<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_cli"></a>
|
|
||||||
Generating with command-line CMake</h3>
|
|
||||||
<p>To make a build directory, pass the source and build directories to the <code>cmake</code> command. These can be relative or absolute paths. The build directory is created if it doesn't already exist.</p>
|
|
||||||
<div class="fragment"><div class="line">cmake -S path/to/glfw -B path/to/build</div>
|
|
||||||
</div><!-- fragment --><p>It is common to name the build directory <code>build</code> and place it in the root of the source tree when only planning to build a single configuration.</p>
|
|
||||||
<div class="fragment"><div class="line">cd path/to/glfw</div>
|
|
||||||
<div class="line">cmake -S . -B build</div>
|
|
||||||
</div><!-- fragment --><p>Without other flags these will generate Visual Studio project files on Windows and makefiles on other platforms. You can choose other targets using the <code>-G</code> flag.</p>
|
|
||||||
<div class="fragment"><div class="line">cmake -S path/to/glfw -B path/to/build -G Xcode</div>
|
|
||||||
</div><!-- fragment --><p>By default, GLFW will use X11 on Linux and other Unix-like systems other than macOS. To also include support for Wayland, set the <a class="el" href="compile_guide.html#GLFW_BUILD_WAYLAND">GLFW_BUILD_WAYLAND</a> CMake option.</p>
|
|
||||||
<div class="fragment"><div class="line">cmake -S path/to/glfw -B path/to/build -D GLFW_BUILD_WAYLAND=1</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>
|
|
||||||
<h2><a class="anchor" id="compile_compile"></a>
|
|
||||||
Compiling the library</h2>
|
|
||||||
<p>You should now have all required dependencies and the project files or makefiles necessary to compile GLFW. Go ahead and compile the actual GLFW library with these files as you would with any other project.</p>
|
|
||||||
<p>With Visual Studio open <code>GLFW.sln</code> and use the Build menu. With Xcode open <code>GLFW.xcodeproj</code> and use the Project menu.</p>
|
|
||||||
<p>With Linux, macOS and other forms of Unix, run <code>make</code>.</p>
|
|
||||||
<div class="fragment"><div class="line">cd path/to/build</div>
|
|
||||||
<div class="line">make</div>
|
|
||||||
</div><!-- fragment --><p>With MinGW, it is <code>mingw32-make</code>.</p>
|
|
||||||
<div class="fragment"><div class="line">cd path/to/build</div>
|
|
||||||
<div class="line">mingw32-make</div>
|
|
||||||
</div><!-- fragment --><p>Any CMake build directory can also be built with the <code>cmake</code> command and the <code>--build</code> flag.</p>
|
|
||||||
<div class="fragment"><div class="line">cmake --build path/to/build</div>
|
|
||||||
</div><!-- fragment --><p>This will run the platform specific build tool the directory was generated for.</p>
|
|
||||||
<p>Once the GLFW library is compiled you are ready to build your application, linking it to the GLFW library. See <a class="el" href="build_guide.html">Building applications</a> for more information.</p>
|
|
||||||
<h1><a class="anchor" id="compile_options"></a>
|
|
||||||
CMake options</h1>
|
|
||||||
<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 -S path/to/glfw -B path/to/build -D BUILD_SHARED_LIBS=ON</div>
|
|
||||||
</div><!-- fragment --><h2><a class="anchor" id="compile_options_shared"></a>
|
|
||||||
Shared CMake options</h2>
|
|
||||||
<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. This is disabled by default, producing a static GLFW library. This variable has no <code>GLFW_</code> prefix because it is defined by CMake. If you want to change the library only for GLFW when it is part of a larger project, see <a class="el" href="compile_guide.html#GLFW_LIBRARY_TYPE">GLFW_LIBRARY_TYPE</a>.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_LIBRARY_TYPE"></a><b>GLFW_LIBRARY_TYPE</b> allows you to override <a class="el" href="compile_guide.html#BUILD_SHARED_LIBS">BUILD_SHARED_LIBS</a> only for GLFW, without affecting other libraries in a larger project. When set, the value of this option must be a valid CMake library type. Set it to <code>STATIC</code> to build GLFW as a static library, <code>SHARED</code> to build it as a shared library / dynamic library / DLL, or <code>OBJECT</code> to make GLFW a CMake object 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. This is enabled by default unless GLFW is being built as a subproject of a larger CMake project.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_BUILD_TESTS"></a><b>GLFW_BUILD_TESTS</b> determines whether the GLFW test programs are built along with the library. This is enabled by default unless GLFW is being built as a subproject of a larger CMake project.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_BUILD_DOCS"></a><b>GLFW_BUILD_DOCS</b> determines whether the GLFW documentation is built along with the library. This is enabled by default if <a href="https://www.doxygen.nl/">Doxygen</a> is found by CMake during configuration.</p>
|
|
||||||
<h2><a class="anchor" id="compile_options_win32"></a>
|
|
||||||
Win32 specific CMake options</h2>
|
|
||||||
<p><a class="anchor" id="GLFW_BUILD_WIN32"></a><b>GLFW_BUILD_WIN32</b> determines whether to include support for Win32 when compiling the library. This option is only available when compiling for Windows. This is enabled by default.</p>
|
|
||||||
<p><a class="anchor" id="USE_MSVC_RUNTIME_LIBRARY_DLL"></a><b>USE_MSVC_RUNTIME_LIBRARY_DLL</b> determines whether to use the DLL version or the static library version of the Visual C++ runtime library. When enabled, the DLL version of the Visual C++ library is used. This is enabled by default.</p>
|
|
||||||
<p>On CMake 3.15 and later you can set the standard CMake <a href="https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html">CMAKE_MSVC_RUNTIME_LIBRARY</a> variable instead of this GLFW-specific option.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_USE_HYBRID_HPG"></a><b>GLFW_USE_HYBRID_HPG</b> determines whether to export the <code>NvOptimusEnablement</code> and <code>AmdPowerXpressRequestHighPerformance</code> symbols, which force the use of the high-performance GPU on Nvidia Optimus and AMD PowerXpress systems. These symbols need to be exported by the EXE to be detected by the driver, so the override will not work if GLFW is built as a DLL. This is disabled by default, letting the operating system and driver decide.</p>
|
|
||||||
<h2><a class="anchor" id="compile_options_macos"></a>
|
|
||||||
macOS specific CMake options</h2>
|
|
||||||
<p><a class="anchor" id="GLFW_BUILD_COCOA"></a><b>GLFW_BUILD_COCOA</b> determines whether to include support for Cocoa when compiling the library. This option is only available when compiling for macOS. This is enabled by default.</p>
|
|
||||||
<h2><a class="anchor" id="compile_options_unix"></a>
|
|
||||||
Unix-like system specific CMake options</h2>
|
|
||||||
<p><a class="anchor" id="GLFW_BUILD_WAYLAND"></a><b>GLFW_BUILD_WAYLAND</b> determines whether to include support for Wayland when compiling the library. This option is only available when compiling for Linux and other Unix-like systems other than macOS. This is disabled by default.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_BUILD_X11"></a><b>GLFW_BUILD_X11</b> determines whether to include support for X11 when compiling the library. This option is only available when compiling for Linux and other Unix-like systems other than macOS. This is enabled by default.</p>
|
|
||||||
<h1><a class="anchor" id="compile_mingw_cross"></a>
|
|
||||||
Cross-compilation with CMake and MinGW</h1>
|
|
||||||
<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> subdirectory that set up cross-compilation of Windows binaries. To use these files you set the <code>CMAKE_TOOLCHAIN_FILE</code> CMake variable with the <code>-D</code> flag add an option when configuring and generating the build files.</p>
|
|
||||||
<div class="fragment"><div class="line">cmake -S path/to/glfw -B path/to/build -D CMAKE_TOOLCHAIN_FILE=path/to/file</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 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 -S path/to/glfw -B path/to/build -D CMAKE_TOOLCHAIN_FILE=CMake/x86_64-w64-mingw32.cmake</div>
|
|
||||||
</div><!-- fragment --><p>The path to the toolchain file is relative to the path to the GLFW source tree passed to the <code>-S</code> flag, not to the current directory.</p>
|
|
||||||
<p>For more details see the <a href="https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html">CMake toolchain guide</a>.</p>
|
|
||||||
<h1><a class="anchor" id="compile_manual"></a>
|
|
||||||
Compiling GLFW manually</h1>
|
|
||||||
<p>If you wish to compile GLFW without its CMake build environment then you will have to do at least some platform-detection yourself. There are preprocessor macros for enabling support for the platforms (window systems) available. There are also optional, platform-specific macros for various features.</p>
|
|
||||||
<p>When building, GLFW will expect the necessary configuration macros to be defined on the command-line. The GLFW CMake files set these as private compile definitions on the GLFW target but if you compile the GLFW sources manually you will need to define them yourself.</p>
|
|
||||||
<p>The window system is used to create windows, handle input, monitors, gamma ramps and clipboard. The options are:</p>
|
|
||||||
<ul>
|
|
||||||
<li><b>_GLFW_COCOA</b> to use the Cocoa frameworks</li>
|
|
||||||
<li><b>_GLFW_WIN32</b> to use the Win32 API</li>
|
|
||||||
<li><b>_GLFW_X11</b> to use the X Window System</li>
|
|
||||||
<li><b>_GLFW_WAYLAND</b> to use the Wayland API (incomplete)</li>
|
|
||||||
</ul>
|
|
||||||
<p>The <b>_GLFW_WAYLAND</b> and <b>_GLFW_X11</b> macros may be combined and produces a library that attempts to detect the appropriate platform at initialization.</p>
|
|
||||||
<p>If you are building GLFW as a shared library / dynamic library / DLL then you must also define <b>_GLFW_BUILD_DLL</b>. Otherwise, you must not define it.</p>
|
|
||||||
<p>If you are using a custom name for the Vulkan, EGL, GLX, OSMesa, OpenGL, GLESv1 or GLESv2 library, you can override the default names by defining those you need of <b>_GLFW_VULKAN_LIBRARY</b>, <b>_GLFW_EGL_LIBRARY</b>, <b>_GLFW_GLX_LIBRARY</b>, <b>_GLFW_OSMESA_LIBRARY</b>, <b>_GLFW_OPENGL_LIBRARY</b>, <b>_GLFW_GLESV1_LIBRARY</b> and <b>_GLFW_GLESV2_LIBRARY</b>. Otherwise, GLFW will use the built-in default names.</p>
|
|
||||||
<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><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: context.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">context.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,257 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Context guide</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Context guide </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#context_object">Context objects</a><ul><li class="level2"><a href="#context_hints">Context creation hints</a></li>
|
|
||||||
<li class="level2"><a href="#context_sharing">Context object sharing</a></li>
|
|
||||||
<li class="level2"><a href="#context_offscreen">Offscreen contexts</a></li>
|
|
||||||
<li class="level2"><a href="#context_less">Windows without contexts</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#context_current">Current context</a></li>
|
|
||||||
<li class="level1"><a href="#context_swap">Buffer swapping</a></li>
|
|
||||||
<li class="level1"><a href="#context_glext">OpenGL and OpenGL ES extensions</a><ul><li class="level2"><a href="#context_glext_auto">Loading extension with a loader library</a></li>
|
|
||||||
<li class="level2"><a href="#context_glext_manual">Loading extensions manually</a><ul><li class="level3"><a href="#context_glext_header">The glext.h header</a></li>
|
|
||||||
<li class="level3"><a href="#context_glext_string">Checking for extensions</a></li>
|
|
||||||
<li class="level3"><a href="#context_glext_proc">Fetching function pointers</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This guide introduces the OpenGL and OpenGL ES context related functions of GLFW. For details on a specific function in this category, see the <a class="el" href="group__context.html">Context reference</a>. There are also guides for the other areas of the GLFW API.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="intro_guide.html">Introduction to the API</a></li>
|
|
||||||
<li><a class="el" href="window_guide.html">Window guide</a></li>
|
|
||||||
<li><a class="el" href="vulkan_guide.html">Vulkan guide</a></li>
|
|
||||||
<li><a class="el" href="monitor_guide.html">Monitor guide</a></li>
|
|
||||||
<li><a class="el" href="input_guide.html">Input guide</a></li>
|
|
||||||
</ul>
|
|
||||||
<h1><a class="anchor" id="context_object"></a>
|
|
||||||
Context objects</h1>
|
|
||||||
<p>A window object encapsulates both a top-level window and an OpenGL or OpenGL ES context. It is created with <a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a> and destroyed with <a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a> or <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>. See <a class="el" href="window_guide.html#window_creation">Window creation</a> for more information.</p>
|
|
||||||
<p>As the window and context are inseparably linked, the window object also serves as the context handle.</p>
|
|
||||||
<p>To test the creation of various kinds of contexts and see their properties, run the <code>glfwinfo</code> test program.</p>
|
|
||||||
<dl class="section note"><dt>Note</dt><dd>Vulkan does not have a context and the Vulkan instance is created via the Vulkan API itself. If you will be using Vulkan to render to a window, disable context creation 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>. For more information, see the <a class="el" href="vulkan_guide.html">Vulkan guide</a>.</dd></dl>
|
|
||||||
<h2><a class="anchor" id="context_hints"></a>
|
|
||||||
Context creation hints</h2>
|
|
||||||
<p>There are a number of hints, specified using <a class="el" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>, related to what kind of context is created. See <a class="el" href="window_guide.html#window_hints_ctx">context related hints</a> in the window guide.</p>
|
|
||||||
<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#ga3555a418df92ad53f917597fe2f64aeb">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 hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* second_window = <a class="code hl_function" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a>(640, 480, <span class="stringliteral">"Second Window"</span>, NULL, first_window);</div>
|
|
||||||
<div class="ttc" id="agroup__window_html_ga3555a418df92ad53f917597fe2f64aeb"><div class="ttname"><a href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">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_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:1435</div></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 bare-bones 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 hl_function" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code hl_define" href="group__window.html#gafb3cdc45297e06d8f1eb13adc69ca6c4">GLFW_VISIBLE</a>, <a class="code hl_define" href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a>);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* offscreen_context = <a class="code hl_function" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a>(640, 480, <span class="stringliteral">""</span>, NULL, NULL);</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:321</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:874</div></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>
|
|
||||||
<h2><a class="anchor" id="context_less"></a>
|
|
||||||
Windows without contexts</h2>
|
|
||||||
<p>You can disable context creation 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>. Windows without contexts must not be passed to <a class="el" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a> or <a class="el" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>.</p>
|
|
||||||
<h1><a class="anchor" id="context_current"></a>
|
|
||||||
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 hl_function" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>(window);</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><!-- fragment --><p>The window of the current context is returned by <a class="el" href="group__context.html#gad94e80185397a6cf5fe2ab30567af71c">glfwGetCurrentContext</a>.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window = <a class="code hl_function" href="group__context.html#gad94e80185397a6cf5fe2ab30567af71c">glfwGetCurrentContext</a>();</div>
|
|
||||||
<div class="ttc" id="agroup__context_html_gad94e80185397a6cf5fe2ab30567af71c"><div class="ttname"><a href="group__context.html#gad94e80185397a6cf5fe2ab30567af71c">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><!-- 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>
|
|
||||||
<li><a class="el" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a></li>
|
|
||||||
</ul>
|
|
||||||
<h1><a class="anchor" id="context_swap"></a>
|
|
||||||
Buffer swapping</h1>
|
|
||||||
<p>See <a class="el" href="window_guide.html#buffer_swap">Buffer swapping</a> in the window guide.</p>
|
|
||||||
<h1><a class="anchor" id="context_glext"></a>
|
|
||||||
OpenGL and OpenGL ES extensions</h1>
|
|
||||||
<p>One of the benefits of OpenGL and OpenGL ES is their extensibility. Hardware vendors may include extensions in their implementations that extend the API before that functionality is included in a new version of the OpenGL or OpenGL ES specification, and some extensions are never included and remain as extensions until they become obsolete.</p>
|
|
||||||
<p>An extension is defined by:</p>
|
|
||||||
<ul>
|
|
||||||
<li>An extension name (e.g. <code>GL_ARB_gl_spirv</code>)</li>
|
|
||||||
<li>New OpenGL tokens (e.g. <code>GL_SPIR_V_BINARY_ARB</code>)</li>
|
|
||||||
<li>New OpenGL functions (e.g. <code>glSpecializeShaderARB</code>)</li>
|
|
||||||
</ul>
|
|
||||||
<p>Note the <code>ARB</code> affix, which stands for Architecture Review Board and is used for official extensions. The extension above was created by the ARB, but there are many different affixes, like <code>NV</code> for Nvidia and <code>AMD</code> for, well, AMD. Any group may also use the generic <code>EXT</code> affix. Lists of extensions, together with their specifications, can be found at the <a href="https://www.opengl.org/registry/">OpenGL Registry</a> and <a href="https://www.khronos.org/registry/gles/">OpenGL ES Registry</a>.</p>
|
|
||||||
<h2><a class="anchor" id="context_glext_auto"></a>
|
|
||||||
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>
|
|
||||||
<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 <glad/glad.h></span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
<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><!-- 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 hl_function" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a>(640, 480, <span class="stringliteral">"My Window"</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 hl_function" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>(window);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line">gladLoadGLLoader((GLADloadproc) <a class="code hl_function" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>);</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><!-- 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. After that, 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_gl_spirv)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> <span class="comment">// Use GL_ARB_gl_spirv</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>
|
|
||||||
<p>This section will demonstrate manual loading of OpenGL extensions. The loading of OpenGL ES extensions is identical except for the name of the extension header.</p>
|
|
||||||
<h3><a class="anchor" id="context_glext_header"></a>
|
|
||||||
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>PFNGLSPECIALIZESHADERARBPROC</code> (for <code>glSpecializeShaderARB</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 <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></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 hl_function" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a>(<span class="stringliteral">"GL_ARB_gl_spirv"</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 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><!-- 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">PFNGLSPECIALIZESHADERARBPROC pfnSpecializeShaderARB = <a class="code hl_function" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>(<span class="stringliteral">"glSpecializeShaderARB"</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 <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="preprocessor">#define glSpecializeShaderARB pfnSpecializeShaderARB</span></div>
|
|
||||||
<div class="line">PFNGLSPECIALIZESHADERARBPROC pfnSpecializeShaderARB;</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_gl_spirv = 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 hl_function" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a>(<span class="stringliteral">"GL_ARB_gl_spirv"</span>))</div>
|
|
||||||
<div class="line"> {</div>
|
|
||||||
<div class="line"> pfnSpecializeShaderARB = (PFNGLSPECIALIZESHADERARBPROC)</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>(<span class="stringliteral">"glSpecializeShaderARB"</span>);</div>
|
|
||||||
<div class="line"> has_ARB_gl_spirv = 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_gl_spirv)</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"> glSpecializeShaderARB(...);</div>
|
|
||||||
<div class="line"> }</div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
</div><!-- fragment --> </div></div><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,88 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Deprecated List</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Deprecated List </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock"><dl class="reflist">
|
|
||||||
<dt>Global <a class="el" href="group__input.html#gac3cf64f90b6219c05ac7b7822d5a4b8f">GLFWcharmodsfun</a> )(GLFWwindow *window, unsigned int codepoint, int mods)</dt>
|
|
||||||
<dd><a class="anchor" id="_deprecated000001"></a>Scheduled for removal in version 4.0. </dd>
|
|
||||||
<dt>Global <a class="el" href="group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c">glfwSetCharModsCallback</a> (GLFWwindow *window, GLFWcharmodsfun callback)</dt>
|
|
||||||
<dd><a class="anchor" id="_deprecated000002"></a>Scheduled for removal in version 4.0.</dd>
|
|
||||||
</dl>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,85 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: docs Directory Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="nav-path" class="navpath">
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html">docs</a></li> </ul>
|
|
||||||
</div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">docs Directory Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,95 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: GLFW Directory Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="nav-path" class="navpath">
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_7d046523570a4bf058ddf3b10b545b6c.html">GLFW</a></li> </ul>
|
|
||||||
</div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">GLFW Directory Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
|
|
||||||
Files</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="glfw3_8h.html">glfw3.h</a> <a href="glfw3_8h_source.html">[code]</a></td></tr>
|
|
||||||
<tr class="memdesc:glfw3_8h"><td class="mdescLeft"> </td><td class="mdescRight">The header of the GLFW 3 API. <br /></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="glfw3native_8h.html">glfw3native.h</a> <a href="glfw3native_8h_source.html">[code]</a></td></tr>
|
|
||||||
<tr class="memdesc:glfw3native_8h"><td class="mdescLeft"> </td><td class="mdescRight">The header of the native access functions. <br /></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,91 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: include Directory Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="nav-path" class="navpath">
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
|
|
||||||
</div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">include Directory Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="subdirs" name="subdirs"></a>
|
|
||||||
Directories</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_7d046523570a4bf058ddf3b10b545b6c.html">GLFW</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Before Width: | Height: | Size: 746 B |
Before Width: | Height: | Size: 756 B |
Before Width: | Height: | Size: 15 KiB |
@ -1,123 +0,0 @@
|
|||||||
/*
|
|
||||||
@licstart The following is the entire license notice for the JavaScript code in this file.
|
|
||||||
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (C) 1997-2020 by Dimitri van Heesch
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
||||||
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
||||||
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
||||||
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all copies or
|
|
||||||
substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
|
||||||
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
||||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
@licend The above is the entire license notice for the JavaScript code in this file
|
|
||||||
*/
|
|
||||||
function toggleVisibility(linkObj)
|
|
||||||
{
|
|
||||||
var base = $(linkObj).attr('id');
|
|
||||||
var summary = $('#'+base+'-summary');
|
|
||||||
var content = $('#'+base+'-content');
|
|
||||||
var trigger = $('#'+base+'-trigger');
|
|
||||||
var src=$(trigger).attr('src');
|
|
||||||
if (content.is(':visible')===true) {
|
|
||||||
content.hide();
|
|
||||||
summary.show();
|
|
||||||
$(linkObj).addClass('closed').removeClass('opened');
|
|
||||||
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
|
|
||||||
} else {
|
|
||||||
content.show();
|
|
||||||
summary.hide();
|
|
||||||
$(linkObj).removeClass('closed').addClass('opened');
|
|
||||||
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateStripes()
|
|
||||||
{
|
|
||||||
$('table.directory tr').
|
|
||||||
removeClass('even').filter(':visible:even').addClass('even');
|
|
||||||
$('table.directory tr').
|
|
||||||
removeClass('odd').filter(':visible:odd').addClass('odd');
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleLevel(level)
|
|
||||||
{
|
|
||||||
$('table.directory tr').each(function() {
|
|
||||||
var l = this.id.split('_').length-1;
|
|
||||||
var i = $('#img'+this.id.substring(3));
|
|
||||||
var a = $('#arr'+this.id.substring(3));
|
|
||||||
if (l<level+1) {
|
|
||||||
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
|
|
||||||
a.html('▼');
|
|
||||||
$(this).show();
|
|
||||||
} else if (l==level+1) {
|
|
||||||
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
|
|
||||||
a.html('►');
|
|
||||||
$(this).show();
|
|
||||||
} else {
|
|
||||||
$(this).hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
updateStripes();
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleFolder(id)
|
|
||||||
{
|
|
||||||
// the clicked row
|
|
||||||
var currentRow = $('#row_'+id);
|
|
||||||
|
|
||||||
// all rows after the clicked row
|
|
||||||
var rows = currentRow.nextAll("tr");
|
|
||||||
|
|
||||||
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
|
||||||
|
|
||||||
// only match elements AFTER this one (can't hide elements before)
|
|
||||||
var childRows = rows.filter(function() { return this.id.match(re); });
|
|
||||||
|
|
||||||
// first row is visible we are HIDING
|
|
||||||
if (childRows.filter(':first').is(':visible')===true) {
|
|
||||||
// replace down arrow by right arrow for current row
|
|
||||||
var currentRowSpans = currentRow.find("span");
|
|
||||||
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
|
||||||
currentRowSpans.filter(".arrow").html('►');
|
|
||||||
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
|
|
||||||
} else { // we are SHOWING
|
|
||||||
// replace right arrow by down arrow for current row
|
|
||||||
var currentRowSpans = currentRow.find("span");
|
|
||||||
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
|
|
||||||
currentRowSpans.filter(".arrow").html('▼');
|
|
||||||
// replace down arrows by right arrows for child rows
|
|
||||||
var childRowsSpans = childRows.find("span");
|
|
||||||
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
|
||||||
childRowsSpans.filter(".arrow").html('►');
|
|
||||||
childRows.show(); //show all children
|
|
||||||
}
|
|
||||||
updateStripes();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function toggleInherit(id)
|
|
||||||
{
|
|
||||||
var rows = $('tr.inherit.'+id);
|
|
||||||
var img = $('tr.inherit_header.'+id+' img');
|
|
||||||
var src = $(img).attr('src');
|
|
||||||
if (rows.filter(':first').is(':visible')===true) {
|
|
||||||
rows.css('display','none');
|
|
||||||
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
|
||||||
} else {
|
|
||||||
rows.css('display','table-row'); // using show() causes jump in firefox
|
|
||||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* @license-end */
|
|
@ -1,90 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Files</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Files</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
|
|
||||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
|
|
||||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="iconfclosed"></span><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html" target="_self">docs</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_1_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')"> </span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">▼</span><span id="img_1_0_" class="iconfopen" onclick="toggleFolder('1_0_')"> </span><a class="el" href="dir_7d046523570a4bf058ddf3b10b545b6c.html" target="_self">GLFW</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_1_0_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="glfw3_8h_source.html"><span class="icondoc"></span></a><a class="el" href="glfw3_8h.html" target="_self">glfw3.h</a></td><td class="desc">The header of the GLFW 3 API </td></tr>
|
|
||||||
<tr id="row_1_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="glfw3native_8h_source.html"><span class="icondoc"></span></a><a class="el" href="glfw3native_8h.html" target="_self">glfw3native.h</a></td><td class="desc">The header of the native access functions </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- directory -->
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Before Width: | Height: | Size: 616 B |
Before Width: | Height: | Size: 597 B |
@ -1,167 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: glfw3native.h File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="nav-path" class="navpath">
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_7d046523570a4bf058ddf3b10b545b6c.html">GLFW</a></li> </ul>
|
|
||||||
</div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#func-members">Functions</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">glfw3native.h File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<div class="textblock"><p>This is the header file of the native access functions. See <a class="el" href="group__native.html">Native access</a> for more information. </p>
|
|
||||||
</div>
|
|
||||||
<p><a href="glfw3native_8h_source.html">Go to the source code of this file.</a></p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
||||||
Functions</h2></td></tr>
|
|
||||||
<tr class="memitem:gad4d3e9242536c0ba6be88a98f4c73a41"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gad4d3e9242536c0ba6be88a98f4c73a41">glfwGetWin32Adapter</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:gad4d3e9242536c0ba6be88a98f4c73a41"><td class="mdescLeft"> </td><td class="mdescRight">Returns the adapter device name of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gad4d3e9242536c0ba6be88a98f4c73a41"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac845f7dbe4c1d7fdd682a3c6fdae6766"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gac845f7dbe4c1d7fdd682a3c6fdae6766">glfwGetWin32Monitor</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:gac845f7dbe4c1d7fdd682a3c6fdae6766"><td class="mdescLeft"> </td><td class="mdescRight">Returns the display device name of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gac845f7dbe4c1d7fdd682a3c6fdae6766"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gafe5079aa79038b0079fc09d5f0a8e667"><td class="memItemLeft" align="right" valign="top">HWND </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"> </td><td class="mdescRight">Returns the <code>HWND</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:gafe5079aa79038b0079fc09d5f0a8e667"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gadc4010d91d9cc1134d040eeb1202a143"><td class="memItemLeft" align="right" valign="top">HGLRC </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"> </td><td class="mdescRight">Returns the <code>HGLRC</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:gadc4010d91d9cc1134d040eeb1202a143"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaf22f429aec4b1aab316142d66d9be3e6"><td class="memItemLeft" align="right" valign="top">CGDirectDisplayID </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"> </td><td class="mdescRight">Returns the <code>CGDirectDisplayID</code> of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gaf22f429aec4b1aab316142d66d9be3e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac3ed9d495d0c2bb9652de5a50c648715"><td class="memItemLeft" align="right" valign="top">id </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"> </td><td class="mdescRight">Returns the <code>NSWindow</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:gac3ed9d495d0c2bb9652de5a50c648715"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga559e002e3cd63c979881770cd4dc63bc"><td class="memItemLeft" align="right" valign="top">id </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"> </td><td class="mdescRight">Returns the <code>NSOpenGLContext</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga559e002e3cd63c979881770cd4dc63bc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6e7822385cc8a1cc3b18f60352830189"><td class="memItemLeft" align="right" valign="top">Display * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga6e7822385cc8a1cc3b18f60352830189">glfwGetX11Display</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:ga6e7822385cc8a1cc3b18f60352830189"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <code>Display</code> used by GLFW. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6e7822385cc8a1cc3b18f60352830189"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga088fbfa80f50569402b41be71ad66e40"><td class="memItemLeft" align="right" valign="top">RRCrtc </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"> </td><td class="mdescRight">Returns the <code>RRCrtc</code> of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga088fbfa80f50569402b41be71ad66e40"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gab2f8cc043905e9fa9b12bfdbbcfe874c"><td class="memItemLeft" align="right" valign="top">RROutput </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"> </td><td class="mdescRight">Returns the <code>RROutput</code> of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gab2f8cc043905e9fa9b12bfdbbcfe874c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga90ca676322740842db446999a1b1f21d"><td class="memItemLeft" align="right" valign="top">Window </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"> </td><td class="mdescRight">Returns the <code>Window</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga90ca676322740842db446999a1b1f21d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga55f879ab02d93367f966186b6f0133f7"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Sets the current primary selection to the specified string. <br /></td></tr>
|
|
||||||
<tr class="separator:ga55f879ab02d93367f966186b6f0133f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gae084ef64dc0db140b455b1427256d3f7"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gae084ef64dc0db140b455b1427256d3f7">glfwGetX11SelectionString</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:gae084ef64dc0db140b455b1427256d3f7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the contents of the current primary selection as a string. <br /></td></tr>
|
|
||||||
<tr class="separator:gae084ef64dc0db140b455b1427256d3f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga62d884114b0abfcdc2930e89f20867e2"><td class="memItemLeft" align="right" valign="top">GLXContext </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"> </td><td class="mdescRight">Returns the <code>GLXContext</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga62d884114b0abfcdc2930e89f20867e2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1ed27b8766e859a21381e8f8ce18d049"><td class="memItemLeft" align="right" valign="top">GLXWindow </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"> </td><td class="mdescRight">Returns the <code>GLXWindow</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga1ed27b8766e859a21381e8f8ce18d049"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gacbe11f93ce20621de82989bbba94e62a"><td class="memItemLeft" align="right" valign="top">struct wl_display * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gacbe11f93ce20621de82989bbba94e62a">glfwGetWaylandDisplay</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:gacbe11f93ce20621de82989bbba94e62a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <code>struct wl_display*</code> used by GLFW. <br /></td></tr>
|
|
||||||
<tr class="separator:gacbe11f93ce20621de82989bbba94e62a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga4f16066bd4c59e2f99418adfcb43dd16"><td class="memItemLeft" align="right" valign="top">struct wl_output * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga4f16066bd4c59e2f99418adfcb43dd16">glfwGetWaylandMonitor</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:ga4f16066bd4c59e2f99418adfcb43dd16"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <code>struct wl_output*</code> of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga4f16066bd4c59e2f99418adfcb43dd16"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga5c597f2841229d9626f0811cca41ceb3"><td class="memItemLeft" align="right" valign="top">struct wl_surface * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga5c597f2841229d9626f0811cca41ceb3">glfwGetWaylandWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
|
|
||||||
<tr class="memdesc:ga5c597f2841229d9626f0811cca41ceb3"><td class="mdescLeft"> </td><td class="mdescRight">Returns the main <code>struct wl_surface*</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga5c597f2841229d9626f0811cca41ceb3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1cd8d973f47aacb5532d368147cc3138"><td class="memItemLeft" align="right" valign="top">EGLDisplay </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"> </td><td class="mdescRight">Returns the <code>EGLDisplay</code> used by GLFW. <br /></td></tr>
|
|
||||||
<tr class="separator:ga1cd8d973f47aacb5532d368147cc3138"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga671c5072becd085f4ab5771a9c8efcf1"><td class="memItemLeft" align="right" valign="top">EGLContext </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"> </td><td class="mdescRight">Returns the <code>EGLContext</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga671c5072becd085f4ab5771a9c8efcf1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga2199b36117a6a695fec8441d8052eee6"><td class="memItemLeft" align="right" valign="top">EGLSurface </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"> </td><td class="mdescRight">Returns the <code>EGLSurface</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga2199b36117a6a695fec8441d8052eee6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga3b36e3e3dcf308b776427b6bd73cc132"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Retrieves the color buffer associated with the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga3b36e3e3dcf308b776427b6bd73cc132"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6b64039ffc88a7a2f57f0956c0c75d53"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Retrieves the depth buffer associated with the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6b64039ffc88a7a2f57f0956c0c75d53"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga9e47700080094eb569cb053afaa88773"><td class="memItemLeft" align="right" valign="top">OSMesaContext </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"> </td><td class="mdescRight">Returns the <code>OSMesaContext</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga9e47700080094eb569cb053afaa88773"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,298 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: glfw3native.h Source File</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="nav-path" class="navpath">
|
|
||||||
<ul>
|
|
||||||
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_7d046523570a4bf058ddf3b10b545b6c.html">GLFW</a></li> </ul>
|
|
||||||
</div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">glfw3native.h</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a href="glfw3native_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*************************************************************************</span></div>
|
|
||||||
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * GLFW 3.4 - www.glfw.org</span></div>
|
|
||||||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * A library for OpenGL, window and input</span></div>
|
|
||||||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *------------------------------------------------------------------------</span></div>
|
|
||||||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Copyright (c) 2002-2006 Marcus Geelnard</span></div>
|
|
||||||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Copyright (c) 2006-2018 Camilla Löwy <elmindreda@glfw.org></span></div>
|
|
||||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
|
|
||||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * This software is provided 'as-is', without any express or implied</span></div>
|
|
||||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * warranty. In no event will the authors be held liable for any damages</span></div>
|
|
||||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * arising from the use of this software.</span></div>
|
|
||||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
|
|
||||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Permission is granted to anyone to use this software for any purpose,</span></div>
|
|
||||||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * including commercial applications, and to alter it and redistribute it</span></div>
|
|
||||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * freely, subject to the following restrictions:</span></div>
|
|
||||||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> *</span></div>
|
|
||||||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * 1. The origin of this software must not be misrepresented; you must not</span></div>
|
|
||||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * claim that you wrote the original software. If you use this software</span></div>
|
|
||||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> * in a product, an acknowledgment in the product documentation would</span></div>
|
|
||||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * be appreciated but is not required.</span></div>
|
|
||||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> *</span></div>
|
|
||||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * 2. Altered source versions must be plainly marked as such, and must not</span></div>
|
|
||||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * be misrepresented as being the original software.</span></div>
|
|
||||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> *</span></div>
|
|
||||||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> * 3. This notice may not be removed or altered from any source</span></div>
|
|
||||||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * distribution.</span></div>
|
|
||||||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> *</span></div>
|
|
||||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> *************************************************************************/</span></div>
|
|
||||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
|
|
||||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#ifndef _glfw3_native_h_</span></div>
|
|
||||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#define _glfw3_native_h_</span></div>
|
|
||||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
|
|
||||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#ifdef __cplusplus</span></div>
|
|
||||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
|
|
||||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
|
|
||||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
|
|
||||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">/*************************************************************************</span></div>
|
|
||||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"> * Doxygen documentation</span></div>
|
|
||||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment"> *************************************************************************/</span></div>
|
|
||||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
|
|
||||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment">/*************************************************************************</span></div>
|
|
||||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment"> * System headers and types</span></div>
|
|
||||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment"> *************************************************************************/</span></div>
|
|
||||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
|
|
||||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="preprocessor">#if !defined(GLFW_NATIVE_INCLUDE_NONE)</span></div>
|
|
||||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
|
|
||||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_WIN32) || defined(GLFW_EXPOSE_NATIVE_WGL)</span></div>
|
|
||||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/* This is a workaround for the fact that glfw3.h needs to export APIENTRY (for</span></div>
|
|
||||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment"> * example to allow applications to correctly declare a GL_KHR_debug callback)</span></div>
|
|
||||||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment"> * but windows.h assumes no one will define APIENTRY before it does</span></div>
|
|
||||||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment"> */</span></div>
|
|
||||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="preprocessor"> #if defined(GLFW_APIENTRY_DEFINED)</span></div>
|
|
||||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor"> #undef APIENTRY</span></div>
|
|
||||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor"> #undef GLFW_APIENTRY_DEFINED</span></div>
|
|
||||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor"> #include <windows.h></span></div>
|
|
||||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
|
|
||||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_COCOA) || defined(GLFW_EXPOSE_NATIVE_NSGL)</span></div>
|
|
||||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="preprocessor"> #if defined(__OBJC__)</span></div>
|
|
||||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor"> #import <Cocoa/Cocoa.h></span></div>
|
|
||||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="preprocessor"> #else</span></div>
|
|
||||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="preprocessor"> #include <ApplicationServices/ApplicationServices.h></span></div>
|
|
||||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor"> #include <objc/objc.h></span></div>
|
|
||||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
|
|
||||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_X11) || defined(GLFW_EXPOSE_NATIVE_GLX)</span></div>
|
|
||||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor"> #include <X11/Xlib.h></span></div>
|
|
||||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor"> #include <X11/extensions/Xrandr.h></span></div>
|
|
||||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
|
|
||||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_WAYLAND)</span></div>
|
|
||||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="preprocessor"> #include <wayland-client.h></span></div>
|
|
||||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
|
|
||||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_WGL)</span></div>
|
|
||||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* WGL is declared by windows.h */</span></div>
|
|
||||||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_NSGL)</span></div>
|
|
||||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/* NSGL is declared by Cocoa.h */</span></div>
|
|
||||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_GLX)</span></div>
|
|
||||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/* This is a workaround for the fact that glfw3.h defines GLAPIENTRY because by</span></div>
|
|
||||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment"> * default it also acts as an OpenGL header</span></div>
|
|
||||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment"> * However, glx.h will include gl.h, which will define it unconditionally</span></div>
|
|
||||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment"> */</span></div>
|
|
||||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="preprocessor"> #if defined(GLFW_GLAPIENTRY_DEFINED)</span></div>
|
|
||||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="preprocessor"> #undef GLAPIENTRY</span></div>
|
|
||||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="preprocessor"> #undef GLFW_GLAPIENTRY_DEFINED</span></div>
|
|
||||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="preprocessor"> #include <GL/glx.h></span></div>
|
|
||||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_EGL)</span></div>
|
|
||||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="preprocessor"> #include <EGL/egl.h></span></div>
|
|
||||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="preprocessor"> #if defined(GLFW_EXPOSE_NATIVE_OSMESA)</span></div>
|
|
||||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* This is a workaround for the fact that glfw3.h defines GLAPIENTRY because by</span></div>
|
|
||||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="comment"> * default it also acts as an OpenGL header</span></div>
|
|
||||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="comment"> * However, osmesa.h will include gl.h, which will define it unconditionally</span></div>
|
|
||||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="comment"> */</span></div>
|
|
||||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="preprocessor"> #if defined(GLFW_GLAPIENTRY_DEFINED)</span></div>
|
|
||||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="preprocessor"> #undef GLAPIENTRY</span></div>
|
|
||||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="preprocessor"> #undef GLFW_GLAPIENTRY_DEFINED</span></div>
|
|
||||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="preprocessor"> #include <GL/osmesa.h></span></div>
|
|
||||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="preprocessor"> #endif</span></div>
|
|
||||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
|
|
||||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="preprocessor">#endif </span><span class="comment">/*GLFW_NATIVE_INCLUDE_NONE*/</span><span class="preprocessor"></span></div>
|
|
||||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
|
|
||||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
|
|
||||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="comment">/*************************************************************************</span></div>
|
|
||||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span><span class="comment"> * Functions</span></div>
|
|
||||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="comment"> *************************************************************************/</span></div>
|
|
||||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
|
|
||||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_WIN32)</span></div>
|
|
||||||
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="group__native.html#gad4d3e9242536c0ba6be88a98f4c73a41"> 181</a></span>GLFWAPI <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_function" href="group__native.html#gad4d3e9242536c0ba6be88a98f4c73a41">glfwGetWin32Adapter</a>(<a class="code hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor);</div>
|
|
||||||
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
|
|
||||||
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="group__native.html#gac845f7dbe4c1d7fdd682a3c6fdae6766"> 198</a></span>GLFWAPI <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_function" href="group__native.html#gac845f7dbe4c1d7fdd682a3c6fdae6766">glfwGetWin32Monitor</a>(<a class="code hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor);</div>
|
|
||||||
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
|
|
||||||
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="group__native.html#gafe5079aa79038b0079fc09d5f0a8e667"> 222</a></span>GLFWAPI HWND <a class="code hl_function" href="group__native.html#gafe5079aa79038b0079fc09d5f0a8e667">glfwGetWin32Window</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> </div>
|
|
||||||
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_WGL)</span></div>
|
|
||||||
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"><a class="line" href="group__native.html#gadc4010d91d9cc1134d040eeb1202a143"> 249</a></span>GLFWAPI HGLRC <a class="code hl_function" href="group__native.html#gadc4010d91d9cc1134d040eeb1202a143">glfwGetWGLContext</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
|
|
||||||
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_COCOA)</span></div>
|
|
||||||
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"><a class="line" href="group__native.html#gaf22f429aec4b1aab316142d66d9be3e6"> 267</a></span>GLFWAPI CGDirectDisplayID <a class="code hl_function" href="group__native.html#gaf22f429aec4b1aab316142d66d9be3e6">glfwGetCocoaMonitor</a>(<a class="code hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor);</div>
|
|
||||||
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
|
|
||||||
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="group__native.html#gac3ed9d495d0c2bb9652de5a50c648715"> 283</a></span>GLFWAPI <span class="keywordtype">id</span> <a class="code hl_function" href="group__native.html#gac3ed9d495d0c2bb9652de5a50c648715">glfwGetCocoaWindow</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
|
|
||||||
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_NSGL)</span></div>
|
|
||||||
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"><a class="line" href="group__native.html#ga559e002e3cd63c979881770cd4dc63bc"> 302</a></span>GLFWAPI <span class="keywordtype">id</span> <a class="code hl_function" href="group__native.html#ga559e002e3cd63c979881770cd4dc63bc">glfwGetNSGLContext</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> </div>
|
|
||||||
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_X11)</span></div>
|
|
||||||
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="group__native.html#ga6e7822385cc8a1cc3b18f60352830189"> 320</a></span>GLFWAPI Display* <a class="code hl_function" href="group__native.html#ga6e7822385cc8a1cc3b18f60352830189">glfwGetX11Display</a>(<span class="keywordtype">void</span>);</div>
|
|
||||||
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> </div>
|
|
||||||
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"><a class="line" href="group__native.html#ga088fbfa80f50569402b41be71ad66e40"> 336</a></span>GLFWAPI RRCrtc <a class="code hl_function" href="group__native.html#ga088fbfa80f50569402b41be71ad66e40">glfwGetX11Adapter</a>(<a class="code hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor);</div>
|
|
||||||
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
|
|
||||||
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"><a class="line" href="group__native.html#gab2f8cc043905e9fa9b12bfdbbcfe874c"> 352</a></span>GLFWAPI RROutput <a class="code hl_function" href="group__native.html#gab2f8cc043905e9fa9b12bfdbbcfe874c">glfwGetX11Monitor</a>(<a class="code hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor);</div>
|
|
||||||
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div>
|
|
||||||
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"><a class="line" href="group__native.html#ga90ca676322740842db446999a1b1f21d"> 368</a></span>GLFWAPI Window <a class="code hl_function" href="group__native.html#ga90ca676322740842db446999a1b1f21d">glfwGetX11Window</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
|
|
||||||
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"><a class="line" href="group__native.html#ga55f879ab02d93367f966186b6f0133f7"> 390</a></span>GLFWAPI <span class="keywordtype">void</span> <a class="code hl_function" href="group__native.html#ga55f879ab02d93367f966186b6f0133f7">glfwSetX11SelectionString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keywordtype">string</span>);</div>
|
|
||||||
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> </div>
|
|
||||||
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="group__native.html#gae084ef64dc0db140b455b1427256d3f7"> 418</a></span>GLFWAPI <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_function" href="group__native.html#gae084ef64dc0db140b455b1427256d3f7">glfwGetX11SelectionString</a>(<span class="keywordtype">void</span>);</div>
|
|
||||||
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> </div>
|
|
||||||
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_GLX)</span></div>
|
|
||||||
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"><a class="line" href="group__native.html#ga62d884114b0abfcdc2930e89f20867e2"> 437</a></span>GLFWAPI GLXContext <a class="code hl_function" href="group__native.html#ga62d884114b0abfcdc2930e89f20867e2">glfwGetGLXContext</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> </div>
|
|
||||||
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"><a class="line" href="group__native.html#ga1ed27b8766e859a21381e8f8ce18d049"> 454</a></span>GLFWAPI GLXWindow <a class="code hl_function" href="group__native.html#ga1ed27b8766e859a21381e8f8ce18d049">glfwGetGLXWindow</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> </div>
|
|
||||||
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_WAYLAND)</span></div>
|
|
||||||
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"><a class="line" href="group__native.html#gacbe11f93ce20621de82989bbba94e62a"> 472</a></span>GLFWAPI <span class="keyword">struct </span>wl_display* <a class="code hl_function" href="group__native.html#gacbe11f93ce20621de82989bbba94e62a">glfwGetWaylandDisplay</a>(<span class="keywordtype">void</span>);</div>
|
|
||||||
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> </div>
|
|
||||||
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"><a class="line" href="group__native.html#ga4f16066bd4c59e2f99418adfcb43dd16"> 488</a></span>GLFWAPI <span class="keyword">struct </span>wl_output* <a class="code hl_function" href="group__native.html#ga4f16066bd4c59e2f99418adfcb43dd16">glfwGetWaylandMonitor</a>(<a class="code hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor);</div>
|
|
||||||
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> </div>
|
|
||||||
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"><a class="line" href="group__native.html#ga5c597f2841229d9626f0811cca41ceb3"> 504</a></span>GLFWAPI <span class="keyword">struct </span>wl_surface* <a class="code hl_function" href="group__native.html#ga5c597f2841229d9626f0811cca41ceb3">glfwGetWaylandWindow</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> </div>
|
|
||||||
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_EGL)</span></div>
|
|
||||||
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"><a class="line" href="group__native.html#ga1cd8d973f47aacb5532d368147cc3138"> 525</a></span>GLFWAPI EGLDisplay <a class="code hl_function" href="group__native.html#ga1cd8d973f47aacb5532d368147cc3138">glfwGetEGLDisplay</a>(<span class="keywordtype">void</span>);</div>
|
|
||||||
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> </div>
|
|
||||||
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"><a class="line" href="group__native.html#ga671c5072becd085f4ab5771a9c8efcf1"> 542</a></span>GLFWAPI EGLContext <a class="code hl_function" href="group__native.html#ga671c5072becd085f4ab5771a9c8efcf1">glfwGetEGLContext</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> </div>
|
|
||||||
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"><a class="line" href="group__native.html#ga2199b36117a6a695fec8441d8052eee6"> 559</a></span>GLFWAPI EGLSurface <a class="code hl_function" href="group__native.html#ga2199b36117a6a695fec8441d8052eee6">glfwGetEGLSurface</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> </div>
|
|
||||||
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span><span class="preprocessor">#if defined(GLFW_EXPOSE_NATIVE_OSMESA)</span></div>
|
|
||||||
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"><a class="line" href="group__native.html#ga3b36e3e3dcf308b776427b6bd73cc132"> 585</a></span>GLFWAPI <span class="keywordtype">int</span> <a class="code hl_function" href="group__native.html#ga3b36e3e3dcf308b776427b6bd73cc132">glfwGetOSMesaColorBuffer</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span>* width, <span class="keywordtype">int</span>* height, <span class="keywordtype">int</span>* format, <span class="keywordtype">void</span>** buffer);</div>
|
|
||||||
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> </div>
|
|
||||||
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"><a class="line" href="group__native.html#ga6b64039ffc88a7a2f57f0956c0c75d53"> 609</a></span>GLFWAPI <span class="keywordtype">int</span> <a class="code hl_function" href="group__native.html#ga6b64039ffc88a7a2f57f0956c0c75d53">glfwGetOSMesaDepthBuffer</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window, <span class="keywordtype">int</span>* width, <span class="keywordtype">int</span>* height, <span class="keywordtype">int</span>* bytesPerValue, <span class="keywordtype">void</span>** buffer);</div>
|
|
||||||
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> </div>
|
|
||||||
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"><a class="line" href="group__native.html#ga9e47700080094eb569cb053afaa88773"> 626</a></span>GLFWAPI OSMesaContext <a class="code hl_function" href="group__native.html#ga9e47700080094eb569cb053afaa88773">glfwGetOSMesaContext</a>(<a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</div>
|
|
||||||
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> </div>
|
|
||||||
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span><span class="preprocessor">#ifdef __cplusplus</span></div>
|
|
||||||
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span>}</div>
|
|
||||||
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span><span class="preprocessor">#endif</span></div>
|
|
||||||
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span> </div>
|
|
||||||
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span><span class="preprocessor">#endif </span><span class="comment">/* _glfw3_native_h_ */</span><span class="preprocessor"></span></div>
|
|
||||||
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span> </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:1423</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga088fbfa80f50569402b41be71ad66e40"><div class="ttname"><a href="group__native.html#ga088fbfa80f50569402b41be71ad66e40">glfwGetX11Adapter</a></div><div class="ttdeci">RRCrtc glfwGetX11Adapter(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the RRCrtc of the specified monitor.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga1cd8d973f47aacb5532d368147cc3138"><div class="ttname"><a href="group__native.html#ga1cd8d973f47aacb5532d368147cc3138">glfwGetEGLDisplay</a></div><div class="ttdeci">EGLDisplay glfwGetEGLDisplay(void)</div><div class="ttdoc">Returns the EGLDisplay used by GLFW.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga1ed27b8766e859a21381e8f8ce18d049"><div class="ttname"><a href="group__native.html#ga1ed27b8766e859a21381e8f8ce18d049">glfwGetGLXWindow</a></div><div class="ttdeci">GLXWindow glfwGetGLXWindow(GLFWwindow *window)</div><div class="ttdoc">Returns the GLXWindow of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga2199b36117a6a695fec8441d8052eee6"><div class="ttname"><a href="group__native.html#ga2199b36117a6a695fec8441d8052eee6">glfwGetEGLSurface</a></div><div class="ttdeci">EGLSurface glfwGetEGLSurface(GLFWwindow *window)</div><div class="ttdoc">Returns the EGLSurface of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga3b36e3e3dcf308b776427b6bd73cc132"><div class="ttname"><a href="group__native.html#ga3b36e3e3dcf308b776427b6bd73cc132">glfwGetOSMesaColorBuffer</a></div><div class="ttdeci">int glfwGetOSMesaColorBuffer(GLFWwindow *window, int *width, int *height, int *format, void **buffer)</div><div class="ttdoc">Retrieves the color buffer associated with the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga4f16066bd4c59e2f99418adfcb43dd16"><div class="ttname"><a href="group__native.html#ga4f16066bd4c59e2f99418adfcb43dd16">glfwGetWaylandMonitor</a></div><div class="ttdeci">struct wl_output * glfwGetWaylandMonitor(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the struct wl_output* of the specified monitor.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga559e002e3cd63c979881770cd4dc63bc"><div class="ttname"><a href="group__native.html#ga559e002e3cd63c979881770cd4dc63bc">glfwGetNSGLContext</a></div><div class="ttdeci">id glfwGetNSGLContext(GLFWwindow *window)</div><div class="ttdoc">Returns the NSOpenGLContext of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga55f879ab02d93367f966186b6f0133f7"><div class="ttname"><a href="group__native.html#ga55f879ab02d93367f966186b6f0133f7">glfwSetX11SelectionString</a></div><div class="ttdeci">void glfwSetX11SelectionString(const char *string)</div><div class="ttdoc">Sets the current primary selection to the specified string.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga5c597f2841229d9626f0811cca41ceb3"><div class="ttname"><a href="group__native.html#ga5c597f2841229d9626f0811cca41ceb3">glfwGetWaylandWindow</a></div><div class="ttdeci">struct wl_surface * glfwGetWaylandWindow(GLFWwindow *window)</div><div class="ttdoc">Returns the main struct wl_surface* of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga62d884114b0abfcdc2930e89f20867e2"><div class="ttname"><a href="group__native.html#ga62d884114b0abfcdc2930e89f20867e2">glfwGetGLXContext</a></div><div class="ttdeci">GLXContext glfwGetGLXContext(GLFWwindow *window)</div><div class="ttdoc">Returns the GLXContext of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga671c5072becd085f4ab5771a9c8efcf1"><div class="ttname"><a href="group__native.html#ga671c5072becd085f4ab5771a9c8efcf1">glfwGetEGLContext</a></div><div class="ttdeci">EGLContext glfwGetEGLContext(GLFWwindow *window)</div><div class="ttdoc">Returns the EGLContext of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga6b64039ffc88a7a2f57f0956c0c75d53"><div class="ttname"><a href="group__native.html#ga6b64039ffc88a7a2f57f0956c0c75d53">glfwGetOSMesaDepthBuffer</a></div><div class="ttdeci">int glfwGetOSMesaDepthBuffer(GLFWwindow *window, int *width, int *height, int *bytesPerValue, void **buffer)</div><div class="ttdoc">Retrieves the depth buffer associated with the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga6e7822385cc8a1cc3b18f60352830189"><div class="ttname"><a href="group__native.html#ga6e7822385cc8a1cc3b18f60352830189">glfwGetX11Display</a></div><div class="ttdeci">Display * glfwGetX11Display(void)</div><div class="ttdoc">Returns the Display used by GLFW.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga90ca676322740842db446999a1b1f21d"><div class="ttname"><a href="group__native.html#ga90ca676322740842db446999a1b1f21d">glfwGetX11Window</a></div><div class="ttdeci">Window glfwGetX11Window(GLFWwindow *window)</div><div class="ttdoc">Returns the Window of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_ga9e47700080094eb569cb053afaa88773"><div class="ttname"><a href="group__native.html#ga9e47700080094eb569cb053afaa88773">glfwGetOSMesaContext</a></div><div class="ttdeci">OSMesaContext glfwGetOSMesaContext(GLFWwindow *window)</div><div class="ttdoc">Returns the OSMesaContext of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gab2f8cc043905e9fa9b12bfdbbcfe874c"><div class="ttname"><a href="group__native.html#gab2f8cc043905e9fa9b12bfdbbcfe874c">glfwGetX11Monitor</a></div><div class="ttdeci">RROutput glfwGetX11Monitor(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the RROutput of the specified monitor.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gac3ed9d495d0c2bb9652de5a50c648715"><div class="ttname"><a href="group__native.html#gac3ed9d495d0c2bb9652de5a50c648715">glfwGetCocoaWindow</a></div><div class="ttdeci">id glfwGetCocoaWindow(GLFWwindow *window)</div><div class="ttdoc">Returns the NSWindow of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gac845f7dbe4c1d7fdd682a3c6fdae6766"><div class="ttname"><a href="group__native.html#gac845f7dbe4c1d7fdd682a3c6fdae6766">glfwGetWin32Monitor</a></div><div class="ttdeci">const char * glfwGetWin32Monitor(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the display device name of the specified monitor.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gacbe11f93ce20621de82989bbba94e62a"><div class="ttname"><a href="group__native.html#gacbe11f93ce20621de82989bbba94e62a">glfwGetWaylandDisplay</a></div><div class="ttdeci">struct wl_display * glfwGetWaylandDisplay(void)</div><div class="ttdoc">Returns the struct wl_display* used by GLFW.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gad4d3e9242536c0ba6be88a98f4c73a41"><div class="ttname"><a href="group__native.html#gad4d3e9242536c0ba6be88a98f4c73a41">glfwGetWin32Adapter</a></div><div class="ttdeci">const char * glfwGetWin32Adapter(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the adapter device name of the specified monitor.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gadc4010d91d9cc1134d040eeb1202a143"><div class="ttname"><a href="group__native.html#gadc4010d91d9cc1134d040eeb1202a143">glfwGetWGLContext</a></div><div class="ttdeci">HGLRC glfwGetWGLContext(GLFWwindow *window)</div><div class="ttdoc">Returns the HGLRC of the specified window.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gae084ef64dc0db140b455b1427256d3f7"><div class="ttname"><a href="group__native.html#gae084ef64dc0db140b455b1427256d3f7">glfwGetX11SelectionString</a></div><div class="ttdeci">const char * glfwGetX11SelectionString(void)</div><div class="ttdoc">Returns the contents of the current primary selection as a string.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gaf22f429aec4b1aab316142d66d9be3e6"><div class="ttname"><a href="group__native.html#gaf22f429aec4b1aab316142d66d9be3e6">glfwGetCocoaMonitor</a></div><div class="ttdeci">CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor *monitor)</div><div class="ttdoc">Returns the CGDirectDisplayID of the specified monitor.</div></div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gafe5079aa79038b0079fc09d5f0a8e667"><div class="ttname"><a href="group__native.html#gafe5079aa79038b0079fc09d5f0a8e667">glfwGetWin32Window</a></div><div class="ttdeci">HWND glfwGetWin32Window(GLFWwindow *window)</div><div class="ttdoc">Returns the HWND 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:1435</div></div>
|
|
||||||
</div><!-- fragment --></div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,282 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Mouse buttons</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#define-members">Macros</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Mouse buttons<div class="ingroups"><a class="el" href="group__input.html">Input reference</a></div></div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>See <a class="el" href="input_guide.html#input_mouse_button">mouse button input</a> for how these are used. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:ga181a6e875251fd8671654eff00f9112e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#ga181a6e875251fd8671654eff00f9112e">GLFW_MOUSE_BUTTON_1</a>   0</td></tr>
|
|
||||||
<tr class="separator:ga181a6e875251fd8671654eff00f9112e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga604b39b92c88ce9bd332e97fc3f4156c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#ga604b39b92c88ce9bd332e97fc3f4156c">GLFW_MOUSE_BUTTON_2</a>   1</td></tr>
|
|
||||||
<tr class="separator:ga604b39b92c88ce9bd332e97fc3f4156c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga0130d505563d0236a6f85545f19e1721"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#ga0130d505563d0236a6f85545f19e1721">GLFW_MOUSE_BUTTON_3</a>   2</td></tr>
|
|
||||||
<tr class="separator:ga0130d505563d0236a6f85545f19e1721"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga53f4097bb01d5521c7d9513418c91ca9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#ga53f4097bb01d5521c7d9513418c91ca9">GLFW_MOUSE_BUTTON_4</a>   3</td></tr>
|
|
||||||
<tr class="separator:ga53f4097bb01d5521c7d9513418c91ca9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaf08c4ddecb051d3d9667db1d5e417c9c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#gaf08c4ddecb051d3d9667db1d5e417c9c">GLFW_MOUSE_BUTTON_5</a>   4</td></tr>
|
|
||||||
<tr class="separator:gaf08c4ddecb051d3d9667db1d5e417c9c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gae8513e06aab8aa393b595f22c6d8257a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#gae8513e06aab8aa393b595f22c6d8257a">GLFW_MOUSE_BUTTON_6</a>   5</td></tr>
|
|
||||||
<tr class="separator:gae8513e06aab8aa393b595f22c6d8257a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga8b02a1ab55dde45b3a3883d54ffd7dc7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#ga8b02a1ab55dde45b3a3883d54ffd7dc7">GLFW_MOUSE_BUTTON_7</a>   6</td></tr>
|
|
||||||
<tr class="separator:ga8b02a1ab55dde45b3a3883d54ffd7dc7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga35d5c4263e0dc0d0a4731ca6c562f32c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#ga35d5c4263e0dc0d0a4731ca6c562f32c">GLFW_MOUSE_BUTTON_8</a>   7</td></tr>
|
|
||||||
<tr class="separator:ga35d5c4263e0dc0d0a4731ca6c562f32c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gab1fd86a4518a9141ec7bcde2e15a2fdf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#gab1fd86a4518a9141ec7bcde2e15a2fdf">GLFW_MOUSE_BUTTON_LAST</a>   <a class="el" href="group__buttons.html#ga35d5c4263e0dc0d0a4731ca6c562f32c">GLFW_MOUSE_BUTTON_8</a></td></tr>
|
|
||||||
<tr class="separator:gab1fd86a4518a9141ec7bcde2e15a2fdf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaf37100431dcd5082d48f95ee8bc8cd56"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#gaf37100431dcd5082d48f95ee8bc8cd56">GLFW_MOUSE_BUTTON_LEFT</a>   <a class="el" href="group__buttons.html#ga181a6e875251fd8671654eff00f9112e">GLFW_MOUSE_BUTTON_1</a></td></tr>
|
|
||||||
<tr class="separator:gaf37100431dcd5082d48f95ee8bc8cd56"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga3e2f2cf3c4942df73cc094247d275e74"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#ga3e2f2cf3c4942df73cc094247d275e74">GLFW_MOUSE_BUTTON_RIGHT</a>   <a class="el" href="group__buttons.html#ga604b39b92c88ce9bd332e97fc3f4156c">GLFW_MOUSE_BUTTON_2</a></td></tr>
|
|
||||||
<tr class="separator:ga3e2f2cf3c4942df73cc094247d275e74"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga34a4d2a701434f763fd93a2ff842b95a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__buttons.html#ga34a4d2a701434f763fd93a2ff842b95a">GLFW_MOUSE_BUTTON_MIDDLE</a>   <a class="el" href="group__buttons.html#ga0130d505563d0236a6f85545f19e1721">GLFW_MOUSE_BUTTON_3</a></td></tr>
|
|
||||||
<tr class="separator:ga34a4d2a701434f763fd93a2ff842b95a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="ga181a6e875251fd8671654eff00f9112e" name="ga181a6e875251fd8671654eff00f9112e"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga181a6e875251fd8671654eff00f9112e">◆ </a></span>GLFW_MOUSE_BUTTON_1</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_1   0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga604b39b92c88ce9bd332e97fc3f4156c" name="ga604b39b92c88ce9bd332e97fc3f4156c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga604b39b92c88ce9bd332e97fc3f4156c">◆ </a></span>GLFW_MOUSE_BUTTON_2</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_2   1</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga0130d505563d0236a6f85545f19e1721" name="ga0130d505563d0236a6f85545f19e1721"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga0130d505563d0236a6f85545f19e1721">◆ </a></span>GLFW_MOUSE_BUTTON_3</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_3   2</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga53f4097bb01d5521c7d9513418c91ca9" name="ga53f4097bb01d5521c7d9513418c91ca9"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga53f4097bb01d5521c7d9513418c91ca9">◆ </a></span>GLFW_MOUSE_BUTTON_4</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_4   3</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaf08c4ddecb051d3d9667db1d5e417c9c" name="gaf08c4ddecb051d3d9667db1d5e417c9c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaf08c4ddecb051d3d9667db1d5e417c9c">◆ </a></span>GLFW_MOUSE_BUTTON_5</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_5   4</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gae8513e06aab8aa393b595f22c6d8257a" name="gae8513e06aab8aa393b595f22c6d8257a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gae8513e06aab8aa393b595f22c6d8257a">◆ </a></span>GLFW_MOUSE_BUTTON_6</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_6   5</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga8b02a1ab55dde45b3a3883d54ffd7dc7" name="ga8b02a1ab55dde45b3a3883d54ffd7dc7"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8b02a1ab55dde45b3a3883d54ffd7dc7">◆ </a></span>GLFW_MOUSE_BUTTON_7</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_7   6</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga35d5c4263e0dc0d0a4731ca6c562f32c" name="ga35d5c4263e0dc0d0a4731ca6c562f32c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga35d5c4263e0dc0d0a4731ca6c562f32c">◆ </a></span>GLFW_MOUSE_BUTTON_8</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_8   7</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gab1fd86a4518a9141ec7bcde2e15a2fdf" name="gab1fd86a4518a9141ec7bcde2e15a2fdf"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gab1fd86a4518a9141ec7bcde2e15a2fdf">◆ </a></span>GLFW_MOUSE_BUTTON_LAST</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_LAST   <a class="el" href="group__buttons.html#ga35d5c4263e0dc0d0a4731ca6c562f32c">GLFW_MOUSE_BUTTON_8</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaf37100431dcd5082d48f95ee8bc8cd56" name="gaf37100431dcd5082d48f95ee8bc8cd56"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaf37100431dcd5082d48f95ee8bc8cd56">◆ </a></span>GLFW_MOUSE_BUTTON_LEFT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_LEFT   <a class="el" href="group__buttons.html#ga181a6e875251fd8671654eff00f9112e">GLFW_MOUSE_BUTTON_1</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga3e2f2cf3c4942df73cc094247d275e74" name="ga3e2f2cf3c4942df73cc094247d275e74"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga3e2f2cf3c4942df73cc094247d275e74">◆ </a></span>GLFW_MOUSE_BUTTON_RIGHT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_RIGHT   <a class="el" href="group__buttons.html#ga604b39b92c88ce9bd332e97fc3f4156c">GLFW_MOUSE_BUTTON_2</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga34a4d2a701434f763fd93a2ff842b95a" name="ga34a4d2a701434f763fd93a2ff842b95a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga34a4d2a701434f763fd93a2ff842b95a">◆ </a></span>GLFW_MOUSE_BUTTON_MIDDLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOUSE_BUTTON_MIDDLE   <a class="el" href="group__buttons.html#ga0130d505563d0236a6f85545f19e1721">GLFW_MOUSE_BUTTON_3</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,302 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Context reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#typedef-members">Typedefs</a> |
|
|
||||||
<a href="#func-members">Functions</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Context reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>This is the reference documentation for OpenGL and OpenGL ES context related functions. For more task-oriented information, see the <a class="el" href="context_guide.html">Context guide</a>. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
|
|
||||||
Typedefs</h2></td></tr>
|
|
||||||
<tr class="memitem:ga3d47c2d2fbe0be9c505d0e04e91a133c"><td class="memItemLeft" align="right" valign="top">typedef void(* </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"> </td><td class="mdescRight">Client API function pointer type. <br /></td></tr>
|
|
||||||
<tr class="separator:ga3d47c2d2fbe0be9c505d0e04e91a133c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
||||||
Functions</h2></td></tr>
|
|
||||||
<tr class="memitem:ga1c04dc242268f827290fe40aa1c91157"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Makes the context of the specified window current for the calling thread. <br /></td></tr>
|
|
||||||
<tr class="separator:ga1c04dc242268f827290fe40aa1c91157"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gad94e80185397a6cf5fe2ab30567af71c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#gad94e80185397a6cf5fe2ab30567af71c">glfwGetCurrentContext</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:gad94e80185397a6cf5fe2ab30567af71c"><td class="mdescLeft"> </td><td class="mdescRight">Returns the window whose context is current on the calling thread. <br /></td></tr>
|
|
||||||
<tr class="separator:gad94e80185397a6cf5fe2ab30567af71c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6d4e0cdf151b5e579bd67f13202994ed"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Sets the swap interval for the current context. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6d4e0cdf151b5e579bd67f13202994ed"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga87425065c011cef1ebd6aac75e059dfa"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Returns whether the specified extension is available. <br /></td></tr>
|
|
||||||
<tr class="separator:ga87425065c011cef1ebd6aac75e059dfa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga35f1837e6f666781842483937612f163"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__context.html#ga3d47c2d2fbe0be9c505d0e04e91a133c">GLFWglproc</a> </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"> </td><td class="mdescRight">Returns the address of the specified function for the current context. <br /></td></tr>
|
|
||||||
<tr class="separator:ga35f1837e6f666781842483937612f163"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Typedef Documentation</h2>
|
|
||||||
<a id="ga3d47c2d2fbe0be9c505d0e04e91a133c" name="ga3d47c2d2fbe0be9c505d0e04e91a133c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga3d47c2d2fbe0be9c505d0e04e91a133c">◆ </a></span>GLFWglproc</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef void(* GLFWglproc) (void)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>Generic function pointer used for returning client API function pointers without forcing a cast from a regular pointer.</p>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="context_guide.html#context_glext">OpenGL and OpenGL ES extensions</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2 class="groupheader">Function Documentation</h2>
|
|
||||||
<a id="ga1c04dc242268f827290fe40aa1c91157" name="ga1c04dc242268f827290fe40aa1c91157"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga1c04dc242268f827290fe40aa1c91157">◆ </a></span>glfwMakeContextCurrent()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwMakeContextCurrent </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function makes the OpenGL or OpenGL ES context of the specified window current on the calling thread. A context must only be made current on a single thread at a time and each thread can have only a single current context at a time.</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>By default, making a context non-current implicitly forces a pipeline flush. On machines that support <code>GL_KHR_context_flush_control</code>, you can control whether a context performs this flush by setting the <a class="el" href="window_guide.html#GLFW_CONTEXT_RELEASE_BEHAVIOR_hint">GLFW_CONTEXT_RELEASE_BEHAVIOR</a> hint.</p>
|
|
||||||
<p>The specified window must have an OpenGL or OpenGL ES context. Specifying a window without a context will generate a <a class="el" href="group__errors.html#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> error.</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 context to make current, or <code>NULL</code> to detach the current context.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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 may be called from any thread.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="context_guide.html#context_current">Current context</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__context.html#gad94e80185397a6cf5fe2ab30567af71c">glfwGetCurrentContext</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gad94e80185397a6cf5fe2ab30567af71c" name="gad94e80185397a6cf5fe2ab30567af71c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad94e80185397a6cf5fe2ab30567af71c">◆ </a></span>glfwGetCurrentContext()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * glfwGetCurrentContext </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the window whose OpenGL or OpenGL ES context is current on the calling thread.</p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The window whose context is current, or <code>NULL</code> if no window's context is current.</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.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="context_guide.html#context_current">Current context</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6d4e0cdf151b5e579bd67f13202994ed" name="ga6d4e0cdf151b5e579bd67f13202994ed"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6d4e0cdf151b5e579bd67f13202994ed">◆ </a></span>glfwSwapInterval()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwSwapInterval </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">int </td>
|
|
||||||
<td class="paramname"><em>interval</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function sets the swap interval for the current OpenGL or OpenGL ES context, i.e. the number of screen updates to wait from the time <a class="el" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a> was called before swapping the buffers and returning. This is sometimes called <em>vertical synchronization</em>, <em>vertical retrace synchronization</em> or just <em>vsync</em>.</p>
|
|
||||||
<p>A context that supports either of the <code>WGL_EXT_swap_control_tear</code> and <code>GLX_EXT_swap_control_tear</code> extensions also accepts <em>negative</em> swap intervals, which allows the driver to swap immediately even if a frame arrives a little bit late. You can check for these extensions with <a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a>.</p>
|
|
||||||
<p>A context must be current on the calling thread. Calling this function without a current context will cause a <a class="el" href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a> error.</p>
|
|
||||||
<p>This function does not apply to Vulkan. If you are rendering with Vulkan, see the present mode of your swapchain instead.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">interval</td><td>The minimum number of screen updates to wait for until the buffers are swapped by <a class="el" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a> and <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
|
|
||||||
<dl class="section remark"><dt>Remarks</dt><dd>This function is not called during context creation, leaving the swap interval set to whatever is the default for that API. This is done because some swap interval extensions used by GLFW do not allow the swap interval to be reset to zero once it has been set to a non-zero value.</dd>
|
|
||||||
<dd>
|
|
||||||
Some GPU drivers do not honor the requested swap interval, either because of a user setting that overrides the application's request or due to bugs in the driver.</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="window_guide.html#buffer_swap">Buffer swapping</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga87425065c011cef1ebd6aac75e059dfa" name="ga87425065c011cef1ebd6aac75e059dfa"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga87425065c011cef1ebd6aac75e059dfa">◆ </a></span>glfwExtensionSupported()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwExtensionSupported </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">const char * </td>
|
|
||||||
<td class="paramname"><em>extension</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns whether the specified <a class="el" href="context_guide.html#context_glext">API extension</a> is supported by the current OpenGL or OpenGL ES context. It searches both for client API extension and context creation API extensions.</p>
|
|
||||||
<p>A context must be current on the calling thread. Calling this function without a current context will cause a <a class="el" href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a> error.</p>
|
|
||||||
<p>As this functions retrieves and searches one or more extension strings each call, it is recommended that you cache its results if it is going to be used frequently. The extension strings will not change during the lifetime of a context, so there is no danger in doing this.</p>
|
|
||||||
<p>This function does not apply to Vulkan. If you are using Vulkan, see <a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a>, <code>vkEnumerateInstanceExtensionProperties</code> and <code>vkEnumerateDeviceExtensionProperties</code> instead.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">extension</td><td>The ASCII encoded name of the extension. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd><code>GLFW_TRUE</code> if the extension is available, or <code>GLFW_FALSE</code> otherwise.</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#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</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 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="context_guide.html#context_glext">OpenGL and OpenGL ES extensions</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga35f1837e6f666781842483937612f163" name="ga35f1837e6f666781842483937612f163"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga35f1837e6f666781842483937612f163">◆ </a></span>glfwGetProcAddress()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="group__context.html#ga3d47c2d2fbe0be9c505d0e04e91a133c">GLFWglproc</a> glfwGetProcAddress </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">const char * </td>
|
|
||||||
<td class="paramname"><em>procname</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the address of the specified OpenGL or OpenGL ES <a class="el" href="context_guide.html#context_glext">core or extension function</a>, if it is supported by the current context.</p>
|
|
||||||
<p>A context must be current on the calling thread. Calling this function without a current context will cause a <a class="el" href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a> error.</p>
|
|
||||||
<p>This function does not apply to Vulkan. If you are rendering with Vulkan, see <a class="el" href="group__vulkan.html#gadf228fac94c5fd8f12423ec9af9ff1e9">glfwGetInstanceProcAddress</a>, <code>vkGetInstanceProcAddr</code> and <code>vkGetDeviceProcAddr</code> instead.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">procname</td><td>The ASCII encoded name of the function. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The address of the function, 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>, <a class="el" href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a> and <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</dd></dl>
|
|
||||||
<dl class="section remark"><dt>Remarks</dt><dd>The address of a given function is not guaranteed to be the same between contexts.</dd>
|
|
||||||
<dd>
|
|
||||||
This function may return a non-<code>NULL</code> address despite the associated version or extension not being available. Always check the context version or extension string first.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Pointer lifetime</dt><dd>The returned function pointer is valid until the context is destroyed or 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="context_guide.html#context_glext">OpenGL and OpenGL ES extensions</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,384 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Error codes</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#define-members">Macros</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Error codes<div class="ingroups"><a class="el" href="group__init.html">Initialization, version and error reference</a></div></div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>See <a class="el" href="intro_guide.html#error_handling">error handling</a> for how these are used. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:gafa30deee5db4d69c4c93d116ed87dbf4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a>   0</td></tr>
|
|
||||||
<tr class="memdesc:gafa30deee5db4d69c4c93d116ed87dbf4"><td class="mdescLeft"> </td><td class="mdescRight">No error has occurred. <br /></td></tr>
|
|
||||||
<tr class="separator:gafa30deee5db4d69c4c93d116ed87dbf4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga2374ee02c177f12e1fa76ff3ed15e14a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>   0x00010001</td></tr>
|
|
||||||
<tr class="memdesc:ga2374ee02c177f12e1fa76ff3ed15e14a"><td class="mdescLeft"> </td><td class="mdescRight">GLFW has not been initialized. <br /></td></tr>
|
|
||||||
<tr class="separator:ga2374ee02c177f12e1fa76ff3ed15e14a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaa8290386e9528ccb9e42a3a4e16fc0d0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0">GLFW_NO_CURRENT_CONTEXT</a>   0x00010002</td></tr>
|
|
||||||
<tr class="memdesc:gaa8290386e9528ccb9e42a3a4e16fc0d0"><td class="mdescLeft"> </td><td class="mdescRight">No context is current for this thread. <br /></td></tr>
|
|
||||||
<tr class="separator:gaa8290386e9528ccb9e42a3a4e16fc0d0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga76f6bb9c4eea73db675f096b404593ce"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga76f6bb9c4eea73db675f096b404593ce">GLFW_INVALID_ENUM</a>   0x00010003</td></tr>
|
|
||||||
<tr class="memdesc:ga76f6bb9c4eea73db675f096b404593ce"><td class="mdescLeft"> </td><td class="mdescRight">One of the arguments to the function was an invalid enum value. <br /></td></tr>
|
|
||||||
<tr class="separator:ga76f6bb9c4eea73db675f096b404593ce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaaf2ef9aa8202c2b82ac2d921e554c687"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a>   0x00010004</td></tr>
|
|
||||||
<tr class="memdesc:gaaf2ef9aa8202c2b82ac2d921e554c687"><td class="mdescLeft"> </td><td class="mdescRight">One of the arguments to the function was an invalid value. <br /></td></tr>
|
|
||||||
<tr class="separator:gaaf2ef9aa8202c2b82ac2d921e554c687"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga9023953a2bcb98c2906afd071d21ee7f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga9023953a2bcb98c2906afd071d21ee7f">GLFW_OUT_OF_MEMORY</a>   0x00010005</td></tr>
|
|
||||||
<tr class="memdesc:ga9023953a2bcb98c2906afd071d21ee7f"><td class="mdescLeft"> </td><td class="mdescRight">A memory allocation failed. <br /></td></tr>
|
|
||||||
<tr class="separator:ga9023953a2bcb98c2906afd071d21ee7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga56882b290db23261cc6c053c40c2d08e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga56882b290db23261cc6c053c40c2d08e">GLFW_API_UNAVAILABLE</a>   0x00010006</td></tr>
|
|
||||||
<tr class="memdesc:ga56882b290db23261cc6c053c40c2d08e"><td class="mdescLeft"> </td><td class="mdescRight">GLFW could not find support for the requested API on the system. <br /></td></tr>
|
|
||||||
<tr class="separator:ga56882b290db23261cc6c053c40c2d08e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gad16c5565b4a69f9c2a9ac2c0dbc89462"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gad16c5565b4a69f9c2a9ac2c0dbc89462">GLFW_VERSION_UNAVAILABLE</a>   0x00010007</td></tr>
|
|
||||||
<tr class="memdesc:gad16c5565b4a69f9c2a9ac2c0dbc89462"><td class="mdescLeft"> </td><td class="mdescRight">The requested OpenGL or OpenGL ES version is not available. <br /></td></tr>
|
|
||||||
<tr class="separator:gad16c5565b4a69f9c2a9ac2c0dbc89462"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gad44162d78100ea5e87cdd38426b8c7a1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>   0x00010008</td></tr>
|
|
||||||
<tr class="memdesc:gad44162d78100ea5e87cdd38426b8c7a1"><td class="mdescLeft"> </td><td class="mdescRight">A platform-specific error occurred that does not match any of the more specific categories. <br /></td></tr>
|
|
||||||
<tr class="separator:gad44162d78100ea5e87cdd38426b8c7a1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga196e125ef261d94184e2b55c05762f14"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga196e125ef261d94184e2b55c05762f14">GLFW_FORMAT_UNAVAILABLE</a>   0x00010009</td></tr>
|
|
||||||
<tr class="memdesc:ga196e125ef261d94184e2b55c05762f14"><td class="mdescLeft"> </td><td class="mdescRight">The requested format is not supported or available. <br /></td></tr>
|
|
||||||
<tr class="separator:ga196e125ef261d94184e2b55c05762f14"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gacff24d2757da752ae4c80bf452356487"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a>   0x0001000A</td></tr>
|
|
||||||
<tr class="memdesc:gacff24d2757da752ae4c80bf452356487"><td class="mdescLeft"> </td><td class="mdescRight">The specified window does not have an OpenGL or OpenGL ES context. <br /></td></tr>
|
|
||||||
<tr class="separator:gacff24d2757da752ae4c80bf452356487"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga09d6943923a70ddef3a085f5baee786c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga09d6943923a70ddef3a085f5baee786c">GLFW_CURSOR_UNAVAILABLE</a>   0x0001000B</td></tr>
|
|
||||||
<tr class="memdesc:ga09d6943923a70ddef3a085f5baee786c"><td class="mdescLeft"> </td><td class="mdescRight">The specified cursor shape is not available. <br /></td></tr>
|
|
||||||
<tr class="separator:ga09d6943923a70ddef3a085f5baee786c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga526fba20a01504a8086c763b6ca53ce5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</a>   0x0001000C</td></tr>
|
|
||||||
<tr class="memdesc:ga526fba20a01504a8086c763b6ca53ce5"><td class="mdescLeft"> </td><td class="mdescRight">The requested feature is not provided by the platform. <br /></td></tr>
|
|
||||||
<tr class="separator:ga526fba20a01504a8086c763b6ca53ce5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga5dda77e023e83151e8bd55a6758f946a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga5dda77e023e83151e8bd55a6758f946a">GLFW_FEATURE_UNIMPLEMENTED</a>   0x0001000D</td></tr>
|
|
||||||
<tr class="memdesc:ga5dda77e023e83151e8bd55a6758f946a"><td class="mdescLeft"> </td><td class="mdescRight">The requested feature is not implemented for the platform. <br /></td></tr>
|
|
||||||
<tr class="separator:ga5dda77e023e83151e8bd55a6758f946a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga3608c6c29ab7a72f3bf019f4c3a2563d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html#ga3608c6c29ab7a72f3bf019f4c3a2563d">GLFW_PLATFORM_UNAVAILABLE</a>   0x0001000E</td></tr>
|
|
||||||
<tr class="memdesc:ga3608c6c29ab7a72f3bf019f4c3a2563d"><td class="mdescLeft"> </td><td class="mdescRight">Platform unavailable or no matching platform was found. <br /></td></tr>
|
|
||||||
<tr class="separator:ga3608c6c29ab7a72f3bf019f4c3a2563d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="gafa30deee5db4d69c4c93d116ed87dbf4" name="gafa30deee5db4d69c4c93d116ed87dbf4"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gafa30deee5db4d69c4c93d116ed87dbf4">◆ </a></span>GLFW_NO_ERROR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_NO_ERROR   0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>No error has occurred.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Yay. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga2374ee02c177f12e1fa76ff3ed15e14a" name="ga2374ee02c177f12e1fa76ff3ed15e14a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga2374ee02c177f12e1fa76ff3ed15e14a">◆ </a></span>GLFW_NOT_INITIALIZED</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_NOT_INITIALIZED   0x00010001</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This occurs if a GLFW function was called that must not be called unless the library is <a class="el" href="intro_guide.html#intro_init">initialized</a>.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Application programmer error. Initialize GLFW before calling any function that requires initialization. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaa8290386e9528ccb9e42a3a4e16fc0d0" name="gaa8290386e9528ccb9e42a3a4e16fc0d0"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaa8290386e9528ccb9e42a3a4e16fc0d0">◆ </a></span>GLFW_NO_CURRENT_CONTEXT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_NO_CURRENT_CONTEXT   0x00010002</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This occurs if a GLFW function was called that needs and operates on the current OpenGL or OpenGL ES context but no context is current on the calling thread. One such function is <a class="el" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a>.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Application programmer error. Ensure a context is current before calling functions that require a current context. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga76f6bb9c4eea73db675f096b404593ce" name="ga76f6bb9c4eea73db675f096b404593ce"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga76f6bb9c4eea73db675f096b404593ce">◆ </a></span>GLFW_INVALID_ENUM</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_INVALID_ENUM   0x00010003</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>One of the arguments to the function was an invalid enum value, for example requesting <a class="el" href="window_guide.html#GLFW_RED_BITS">GLFW_RED_BITS</a> with <a class="el" href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a>.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Application programmer error. Fix the offending call. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaaf2ef9aa8202c2b82ac2d921e554c687" name="gaaf2ef9aa8202c2b82ac2d921e554c687"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaaf2ef9aa8202c2b82ac2d921e554c687">◆ </a></span>GLFW_INVALID_VALUE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_INVALID_VALUE   0x00010004</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>One of the arguments to the function was an invalid value, for example requesting a non-existent OpenGL or OpenGL ES version like 2.7.</p>
|
|
||||||
<p>Requesting a valid but unavailable OpenGL or OpenGL ES version will instead result in a <a class="el" href="group__errors.html#gad16c5565b4a69f9c2a9ac2c0dbc89462">GLFW_VERSION_UNAVAILABLE</a> error.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Application programmer error. Fix the offending call. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga9023953a2bcb98c2906afd071d21ee7f" name="ga9023953a2bcb98c2906afd071d21ee7f"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga9023953a2bcb98c2906afd071d21ee7f">◆ </a></span>GLFW_OUT_OF_MEMORY</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_OUT_OF_MEMORY   0x00010005</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>A memory allocation failed.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>A bug in GLFW or the underlying operating system. Report the bug to our <a href="https://github.com/glfw/glfw/issues">issue tracker</a>. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga56882b290db23261cc6c053c40c2d08e" name="ga56882b290db23261cc6c053c40c2d08e"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga56882b290db23261cc6c053c40c2d08e">◆ </a></span>GLFW_API_UNAVAILABLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_API_UNAVAILABLE   0x00010006</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>GLFW could not find support for the requested API on the system.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>The installed graphics driver does not support the requested API, or does not support it via the chosen context creation API. Below are a few examples.</dd></dl>
|
|
||||||
<dl class="section user"><dt></dt><dd>Some pre-installed Windows graphics drivers do not support OpenGL. AMD only supports OpenGL ES via EGL, while Nvidia and Intel only support it via a WGL or GLX extension. macOS does not provide OpenGL ES at all. The Mesa EGL, OpenGL and OpenGL ES libraries do not interface with the Nvidia binary driver. Older graphics drivers do not support Vulkan. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gad16c5565b4a69f9c2a9ac2c0dbc89462" name="gad16c5565b4a69f9c2a9ac2c0dbc89462"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad16c5565b4a69f9c2a9ac2c0dbc89462">◆ </a></span>GLFW_VERSION_UNAVAILABLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_VERSION_UNAVAILABLE   0x00010007</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The requested OpenGL or OpenGL ES version (including any requested context or framebuffer hints) is not available on this machine.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>The machine does not support your requirements. If your application is sufficiently flexible, downgrade your requirements and try again. Otherwise, inform the user that their machine does not match your requirements.</dd></dl>
|
|
||||||
<dl class="section user"><dt></dt><dd>Future invalid OpenGL and OpenGL ES versions, for example OpenGL 4.8 if 5.0 comes out before the 4.x series gets that far, also fail with this error and not <a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a>, because GLFW cannot know what future versions will exist. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gad44162d78100ea5e87cdd38426b8c7a1" name="gad44162d78100ea5e87cdd38426b8c7a1"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad44162d78100ea5e87cdd38426b8c7a1">◆ </a></span>GLFW_PLATFORM_ERROR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_PLATFORM_ERROR   0x00010008</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>A platform-specific error occurred that does not match any of the more specific categories.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>A bug or configuration error in GLFW, the underlying operating system or its drivers, or a lack of required resources. Report the issue to our <a href="https://github.com/glfw/glfw/issues">issue tracker</a>. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga196e125ef261d94184e2b55c05762f14" name="ga196e125ef261d94184e2b55c05762f14"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga196e125ef261d94184e2b55c05762f14">◆ </a></span>GLFW_FORMAT_UNAVAILABLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_FORMAT_UNAVAILABLE   0x00010009</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If emitted during window creation, the requested pixel format is not supported.</p>
|
|
||||||
<p>If emitted when querying the clipboard, the contents of the clipboard could not be converted to the requested format.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>If emitted during window creation, one or more <a class="el" href="window_guide.html#window_hints_hard">hard constraints</a> did not match any of the available pixel formats. If your application is sufficiently flexible, downgrade your requirements and try again. Otherwise, inform the user that their machine does not match your requirements.</dd></dl>
|
|
||||||
<dl class="section user"><dt></dt><dd>If emitted when querying the clipboard, ignore the error or report it to the user, as appropriate. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gacff24d2757da752ae4c80bf452356487" name="gacff24d2757da752ae4c80bf452356487"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gacff24d2757da752ae4c80bf452356487">◆ </a></span>GLFW_NO_WINDOW_CONTEXT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_NO_WINDOW_CONTEXT   0x0001000A</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>A window that does not have an OpenGL or OpenGL ES context was passed to a function that requires it to have one.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Application programmer error. Fix the offending call. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga09d6943923a70ddef3a085f5baee786c" name="ga09d6943923a70ddef3a085f5baee786c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga09d6943923a70ddef3a085f5baee786c">◆ </a></span>GLFW_CURSOR_UNAVAILABLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_CURSOR_UNAVAILABLE   0x0001000B</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The specified standard cursor shape is not available, either because the current platform cursor theme does not provide it or because it is not available on the platform.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Platform or system settings limitation. Pick another <a class="el" href="group__shapes.html">standard cursor shape</a> or create a <a class="el" href="input_guide.html#cursor_custom">custom cursor</a>. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga526fba20a01504a8086c763b6ca53ce5" name="ga526fba20a01504a8086c763b6ca53ce5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga526fba20a01504a8086c763b6ca53ce5">◆ </a></span>GLFW_FEATURE_UNAVAILABLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_FEATURE_UNAVAILABLE   0x0001000C</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The requested feature is not provided by the platform, so GLFW is unable to implement it. The documentation for each function notes if it could emit this error.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Platform or platform version limitation. The error can be ignored unless the feature is critical to the application.</dd></dl>
|
|
||||||
<dl class="section user"><dt></dt><dd>A function call that emits this error has no effect other than the error and updating any existing out parameters. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga5dda77e023e83151e8bd55a6758f946a" name="ga5dda77e023e83151e8bd55a6758f946a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga5dda77e023e83151e8bd55a6758f946a">◆ </a></span>GLFW_FEATURE_UNIMPLEMENTED</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_FEATURE_UNIMPLEMENTED   0x0001000D</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The requested feature has not yet been implemented in GLFW for this platform.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>An incomplete implementation of GLFW for this platform, hopefully fixed in a future release. The error can be ignored unless the feature is critical to the application.</dd></dl>
|
|
||||||
<dl class="section user"><dt></dt><dd>A function call that emits this error has no effect other than the error and updating any existing out parameters. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga3608c6c29ab7a72f3bf019f4c3a2563d" name="ga3608c6c29ab7a72f3bf019f4c3a2563d"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga3608c6c29ab7a72f3bf019f4c3a2563d">◆ </a></span>GLFW_PLATFORM_UNAVAILABLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_PLATFORM_UNAVAILABLE   0x0001000E</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If emitted during initialization, no matching platform was found. If <a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a> is set to <code>GLFW_ANY_PLATFORM</code>, GLFW could not detect any of the platforms supported by this library binary, except for the Null platform. If set to a specific platform, it is either not supported by this library binary or GLFW was not able to detect it.</p>
|
|
||||||
<p>If emitted by a native access function, GLFW was initialized for a different platform than the function is for.</p>
|
|
||||||
<dl class="section user"><dt>Analysis</dt><dd>Failure to detect any platform usually only happens on non-macOS Unix systems, either when no window system is running or the program was run from a terminal that does not have the necessary environment variables. Fall back to a different platform if possible or notify the user that no usable platform was detected.</dd></dl>
|
|
||||||
<p>Failure to detect a specific platform may have the same cause as above or be because support for that platform was not compiled in. Call <a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a> to check whether a specific platform is supported by a library binary. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,202 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Gamepad axes</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#define-members">Macros</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Gamepad axes<div class="ingroups"><a class="el" href="group__input.html">Input reference</a></div></div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>See <a class="el" href="input_guide.html#gamepad">Gamepad input</a> for how these are used. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:ga544e396d092036a7d80c1e5f233f7a38"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__axes.html#ga544e396d092036a7d80c1e5f233f7a38">GLFW_GAMEPAD_AXIS_LEFT_X</a>   0</td></tr>
|
|
||||||
<tr class="separator:ga544e396d092036a7d80c1e5f233f7a38"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga64dcf2c6e9be50b7c556ff7671996dd5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__axes.html#ga64dcf2c6e9be50b7c556ff7671996dd5">GLFW_GAMEPAD_AXIS_LEFT_Y</a>   1</td></tr>
|
|
||||||
<tr class="separator:ga64dcf2c6e9be50b7c556ff7671996dd5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gabd6785106cd3c5a044a6e49a395ee2fc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__axes.html#gabd6785106cd3c5a044a6e49a395ee2fc">GLFW_GAMEPAD_AXIS_RIGHT_X</a>   2</td></tr>
|
|
||||||
<tr class="separator:gabd6785106cd3c5a044a6e49a395ee2fc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1cc20566d44d521b7183681a8e88e2e4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__axes.html#ga1cc20566d44d521b7183681a8e88e2e4">GLFW_GAMEPAD_AXIS_RIGHT_Y</a>   3</td></tr>
|
|
||||||
<tr class="separator:ga1cc20566d44d521b7183681a8e88e2e4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6d79561dd8907c37354426242901b86e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__axes.html#ga6d79561dd8907c37354426242901b86e">GLFW_GAMEPAD_AXIS_LEFT_TRIGGER</a>   4</td></tr>
|
|
||||||
<tr class="separator:ga6d79561dd8907c37354426242901b86e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga121a7d5d20589a423cd1634dd6ee6eab"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab">GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</a>   5</td></tr>
|
|
||||||
<tr class="separator:ga121a7d5d20589a423cd1634dd6ee6eab"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga0818fd9433e1359692b7443293e5ac86"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__axes.html#ga0818fd9433e1359692b7443293e5ac86">GLFW_GAMEPAD_AXIS_LAST</a>   <a class="el" href="group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab">GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</a></td></tr>
|
|
||||||
<tr class="separator:ga0818fd9433e1359692b7443293e5ac86"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="ga544e396d092036a7d80c1e5f233f7a38" name="ga544e396d092036a7d80c1e5f233f7a38"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga544e396d092036a7d80c1e5f233f7a38">◆ </a></span>GLFW_GAMEPAD_AXIS_LEFT_X</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_AXIS_LEFT_X   0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga64dcf2c6e9be50b7c556ff7671996dd5" name="ga64dcf2c6e9be50b7c556ff7671996dd5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga64dcf2c6e9be50b7c556ff7671996dd5">◆ </a></span>GLFW_GAMEPAD_AXIS_LEFT_Y</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_AXIS_LEFT_Y   1</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gabd6785106cd3c5a044a6e49a395ee2fc" name="gabd6785106cd3c5a044a6e49a395ee2fc"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gabd6785106cd3c5a044a6e49a395ee2fc">◆ </a></span>GLFW_GAMEPAD_AXIS_RIGHT_X</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_AXIS_RIGHT_X   2</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga1cc20566d44d521b7183681a8e88e2e4" name="ga1cc20566d44d521b7183681a8e88e2e4"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga1cc20566d44d521b7183681a8e88e2e4">◆ </a></span>GLFW_GAMEPAD_AXIS_RIGHT_Y</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_AXIS_RIGHT_Y   3</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6d79561dd8907c37354426242901b86e" name="ga6d79561dd8907c37354426242901b86e"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6d79561dd8907c37354426242901b86e">◆ </a></span>GLFW_GAMEPAD_AXIS_LEFT_TRIGGER</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_AXIS_LEFT_TRIGGER   4</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga121a7d5d20589a423cd1634dd6ee6eab" name="ga121a7d5d20589a423cd1634dd6ee6eab"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga121a7d5d20589a423cd1634dd6ee6eab">◆ </a></span>GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER   5</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga0818fd9433e1359692b7443293e5ac86" name="ga0818fd9433e1359692b7443293e5ac86"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga0818fd9433e1359692b7443293e5ac86">◆ </a></span>GLFW_GAMEPAD_AXIS_LAST</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_AXIS_LAST   <a class="el" href="group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab">GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,410 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Gamepad buttons</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#define-members">Macros</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Gamepad buttons<div class="ingroups"><a class="el" href="group__input.html">Input reference</a></div></div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>See <a class="el" href="input_guide.html#gamepad">Gamepad input</a> for how these are used. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:gae055a12fbf4b48b5954c8e1cd129b810"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810">GLFW_GAMEPAD_BUTTON_A</a>   0</td></tr>
|
|
||||||
<tr class="separator:gae055a12fbf4b48b5954c8e1cd129b810"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga2228a6512fd5950cdb51ba07846546fa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga2228a6512fd5950cdb51ba07846546fa">GLFW_GAMEPAD_BUTTON_B</a>   1</td></tr>
|
|
||||||
<tr class="separator:ga2228a6512fd5950cdb51ba07846546fa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga52cc94785cf3fe9a12e246539259887c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga52cc94785cf3fe9a12e246539259887c">GLFW_GAMEPAD_BUTTON_X</a>   2</td></tr>
|
|
||||||
<tr class="separator:ga52cc94785cf3fe9a12e246539259887c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gafc931248bda494b530cbe057f386a5ed"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gafc931248bda494b530cbe057f386a5ed">GLFW_GAMEPAD_BUTTON_Y</a>   3</td></tr>
|
|
||||||
<tr class="separator:gafc931248bda494b530cbe057f386a5ed"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga17d67b4f39a39d6b813bd1567a3507c3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga17d67b4f39a39d6b813bd1567a3507c3">GLFW_GAMEPAD_BUTTON_LEFT_BUMPER</a>   4</td></tr>
|
|
||||||
<tr class="separator:ga17d67b4f39a39d6b813bd1567a3507c3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gadfbc9ea9bf3aae896b79fa49fdc85c7f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gadfbc9ea9bf3aae896b79fa49fdc85c7f">GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER</a>   5</td></tr>
|
|
||||||
<tr class="separator:gadfbc9ea9bf3aae896b79fa49fdc85c7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gabc7c0264ce778835b516a472b47f6caf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gabc7c0264ce778835b516a472b47f6caf">GLFW_GAMEPAD_BUTTON_BACK</a>   6</td></tr>
|
|
||||||
<tr class="separator:gabc7c0264ce778835b516a472b47f6caf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga04606949dd9139434b8a1bedf4ac1021"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga04606949dd9139434b8a1bedf4ac1021">GLFW_GAMEPAD_BUTTON_START</a>   7</td></tr>
|
|
||||||
<tr class="separator:ga04606949dd9139434b8a1bedf4ac1021"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga7fa48c32e5b2f5db2f080aa0b8b573dc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga7fa48c32e5b2f5db2f080aa0b8b573dc">GLFW_GAMEPAD_BUTTON_GUIDE</a>   8</td></tr>
|
|
||||||
<tr class="separator:ga7fa48c32e5b2f5db2f080aa0b8b573dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga3e089787327454f7bfca7364d6ca206a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga3e089787327454f7bfca7364d6ca206a">GLFW_GAMEPAD_BUTTON_LEFT_THUMB</a>   9</td></tr>
|
|
||||||
<tr class="separator:ga3e089787327454f7bfca7364d6ca206a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1c003f52b5aebb45272475b48953b21a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga1c003f52b5aebb45272475b48953b21a">GLFW_GAMEPAD_BUTTON_RIGHT_THUMB</a>   10</td></tr>
|
|
||||||
<tr class="separator:ga1c003f52b5aebb45272475b48953b21a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga4f1ed6f974a47bc8930d4874a283476a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga4f1ed6f974a47bc8930d4874a283476a">GLFW_GAMEPAD_BUTTON_DPAD_UP</a>   11</td></tr>
|
|
||||||
<tr class="separator:ga4f1ed6f974a47bc8930d4874a283476a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gae2a780d2a8c79e0b77c0b7b601ca57c6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gae2a780d2a8c79e0b77c0b7b601ca57c6">GLFW_GAMEPAD_BUTTON_DPAD_RIGHT</a>   12</td></tr>
|
|
||||||
<tr class="separator:gae2a780d2a8c79e0b77c0b7b601ca57c6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga8f2b731b97d80f90f11967a83207665c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga8f2b731b97d80f90f11967a83207665c">GLFW_GAMEPAD_BUTTON_DPAD_DOWN</a>   13</td></tr>
|
|
||||||
<tr class="separator:ga8f2b731b97d80f90f11967a83207665c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaf0697e0e8607b2ebe1c93b0c6befe301"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gaf0697e0e8607b2ebe1c93b0c6befe301">GLFW_GAMEPAD_BUTTON_DPAD_LEFT</a>   14</td></tr>
|
|
||||||
<tr class="separator:gaf0697e0e8607b2ebe1c93b0c6befe301"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga5cc98882f4f81dacf761639a567f61eb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga5cc98882f4f81dacf761639a567f61eb">GLFW_GAMEPAD_BUTTON_LAST</a>   <a class="el" href="group__gamepad__buttons.html#gaf0697e0e8607b2ebe1c93b0c6befe301">GLFW_GAMEPAD_BUTTON_DPAD_LEFT</a></td></tr>
|
|
||||||
<tr class="separator:ga5cc98882f4f81dacf761639a567f61eb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaf08d0df26527c9305253422bd98ed63a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gaf08d0df26527c9305253422bd98ed63a">GLFW_GAMEPAD_BUTTON_CROSS</a>   <a class="el" href="group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810">GLFW_GAMEPAD_BUTTON_A</a></td></tr>
|
|
||||||
<tr class="separator:gaf08d0df26527c9305253422bd98ed63a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaaef094b3dacbf15f272b274516839b82"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gaaef094b3dacbf15f272b274516839b82">GLFW_GAMEPAD_BUTTON_CIRCLE</a>   <a class="el" href="group__gamepad__buttons.html#ga2228a6512fd5950cdb51ba07846546fa">GLFW_GAMEPAD_BUTTON_B</a></td></tr>
|
|
||||||
<tr class="separator:gaaef094b3dacbf15f272b274516839b82"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gafc7821e87d77d41ed2cd3e1f726ec35f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#gafc7821e87d77d41ed2cd3e1f726ec35f">GLFW_GAMEPAD_BUTTON_SQUARE</a>   <a class="el" href="group__gamepad__buttons.html#ga52cc94785cf3fe9a12e246539259887c">GLFW_GAMEPAD_BUTTON_X</a></td></tr>
|
|
||||||
<tr class="separator:gafc7821e87d77d41ed2cd3e1f726ec35f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga3a7ef6bcb768a08cd3bf142f7f09f802"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gamepad__buttons.html#ga3a7ef6bcb768a08cd3bf142f7f09f802">GLFW_GAMEPAD_BUTTON_TRIANGLE</a>   <a class="el" href="group__gamepad__buttons.html#gafc931248bda494b530cbe057f386a5ed">GLFW_GAMEPAD_BUTTON_Y</a></td></tr>
|
|
||||||
<tr class="separator:ga3a7ef6bcb768a08cd3bf142f7f09f802"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="gae055a12fbf4b48b5954c8e1cd129b810" name="gae055a12fbf4b48b5954c8e1cd129b810"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gae055a12fbf4b48b5954c8e1cd129b810">◆ </a></span>GLFW_GAMEPAD_BUTTON_A</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_A   0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga2228a6512fd5950cdb51ba07846546fa" name="ga2228a6512fd5950cdb51ba07846546fa"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga2228a6512fd5950cdb51ba07846546fa">◆ </a></span>GLFW_GAMEPAD_BUTTON_B</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_B   1</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga52cc94785cf3fe9a12e246539259887c" name="ga52cc94785cf3fe9a12e246539259887c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga52cc94785cf3fe9a12e246539259887c">◆ </a></span>GLFW_GAMEPAD_BUTTON_X</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_X   2</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gafc931248bda494b530cbe057f386a5ed" name="gafc931248bda494b530cbe057f386a5ed"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gafc931248bda494b530cbe057f386a5ed">◆ </a></span>GLFW_GAMEPAD_BUTTON_Y</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_Y   3</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga17d67b4f39a39d6b813bd1567a3507c3" name="ga17d67b4f39a39d6b813bd1567a3507c3"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga17d67b4f39a39d6b813bd1567a3507c3">◆ </a></span>GLFW_GAMEPAD_BUTTON_LEFT_BUMPER</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_LEFT_BUMPER   4</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gadfbc9ea9bf3aae896b79fa49fdc85c7f" name="gadfbc9ea9bf3aae896b79fa49fdc85c7f"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gadfbc9ea9bf3aae896b79fa49fdc85c7f">◆ </a></span>GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER   5</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gabc7c0264ce778835b516a472b47f6caf" name="gabc7c0264ce778835b516a472b47f6caf"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gabc7c0264ce778835b516a472b47f6caf">◆ </a></span>GLFW_GAMEPAD_BUTTON_BACK</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_BACK   6</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga04606949dd9139434b8a1bedf4ac1021" name="ga04606949dd9139434b8a1bedf4ac1021"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga04606949dd9139434b8a1bedf4ac1021">◆ </a></span>GLFW_GAMEPAD_BUTTON_START</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_START   7</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga7fa48c32e5b2f5db2f080aa0b8b573dc" name="ga7fa48c32e5b2f5db2f080aa0b8b573dc"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga7fa48c32e5b2f5db2f080aa0b8b573dc">◆ </a></span>GLFW_GAMEPAD_BUTTON_GUIDE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_GUIDE   8</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga3e089787327454f7bfca7364d6ca206a" name="ga3e089787327454f7bfca7364d6ca206a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga3e089787327454f7bfca7364d6ca206a">◆ </a></span>GLFW_GAMEPAD_BUTTON_LEFT_THUMB</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_LEFT_THUMB   9</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga1c003f52b5aebb45272475b48953b21a" name="ga1c003f52b5aebb45272475b48953b21a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga1c003f52b5aebb45272475b48953b21a">◆ </a></span>GLFW_GAMEPAD_BUTTON_RIGHT_THUMB</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_RIGHT_THUMB   10</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga4f1ed6f974a47bc8930d4874a283476a" name="ga4f1ed6f974a47bc8930d4874a283476a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga4f1ed6f974a47bc8930d4874a283476a">◆ </a></span>GLFW_GAMEPAD_BUTTON_DPAD_UP</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_DPAD_UP   11</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gae2a780d2a8c79e0b77c0b7b601ca57c6" name="gae2a780d2a8c79e0b77c0b7b601ca57c6"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gae2a780d2a8c79e0b77c0b7b601ca57c6">◆ </a></span>GLFW_GAMEPAD_BUTTON_DPAD_RIGHT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_DPAD_RIGHT   12</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga8f2b731b97d80f90f11967a83207665c" name="ga8f2b731b97d80f90f11967a83207665c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8f2b731b97d80f90f11967a83207665c">◆ </a></span>GLFW_GAMEPAD_BUTTON_DPAD_DOWN</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_DPAD_DOWN   13</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaf0697e0e8607b2ebe1c93b0c6befe301" name="gaf0697e0e8607b2ebe1c93b0c6befe301"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaf0697e0e8607b2ebe1c93b0c6befe301">◆ </a></span>GLFW_GAMEPAD_BUTTON_DPAD_LEFT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_DPAD_LEFT   14</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga5cc98882f4f81dacf761639a567f61eb" name="ga5cc98882f4f81dacf761639a567f61eb"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga5cc98882f4f81dacf761639a567f61eb">◆ </a></span>GLFW_GAMEPAD_BUTTON_LAST</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_LAST   <a class="el" href="group__gamepad__buttons.html#gaf0697e0e8607b2ebe1c93b0c6befe301">GLFW_GAMEPAD_BUTTON_DPAD_LEFT</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaf08d0df26527c9305253422bd98ed63a" name="gaf08d0df26527c9305253422bd98ed63a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaf08d0df26527c9305253422bd98ed63a">◆ </a></span>GLFW_GAMEPAD_BUTTON_CROSS</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_CROSS   <a class="el" href="group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810">GLFW_GAMEPAD_BUTTON_A</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaaef094b3dacbf15f272b274516839b82" name="gaaef094b3dacbf15f272b274516839b82"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaaef094b3dacbf15f272b274516839b82">◆ </a></span>GLFW_GAMEPAD_BUTTON_CIRCLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_CIRCLE   <a class="el" href="group__gamepad__buttons.html#ga2228a6512fd5950cdb51ba07846546fa">GLFW_GAMEPAD_BUTTON_B</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gafc7821e87d77d41ed2cd3e1f726ec35f" name="gafc7821e87d77d41ed2cd3e1f726ec35f"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gafc7821e87d77d41ed2cd3e1f726ec35f">◆ </a></span>GLFW_GAMEPAD_BUTTON_SQUARE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_SQUARE   <a class="el" href="group__gamepad__buttons.html#ga52cc94785cf3fe9a12e246539259887c">GLFW_GAMEPAD_BUTTON_X</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga3a7ef6bcb768a08cd3bf142f7f09f802" name="ga3a7ef6bcb768a08cd3bf142f7f09f802"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga3a7ef6bcb768a08cd3bf142f7f09f802">◆ </a></span>GLFW_GAMEPAD_BUTTON_TRIANGLE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_GAMEPAD_BUTTON_TRIANGLE   <a class="el" href="group__gamepad__buttons.html#gafc931248bda494b530cbe057f386a5ed">GLFW_GAMEPAD_BUTTON_Y</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,234 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Joystick hat states</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#define-members">Macros</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Joystick hat states<div class="ingroups"><a class="el" href="group__input.html">Input reference</a></div></div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>See <a class="el" href="input_guide.html#joystick_hat">joystick hat input</a> for how these are used. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:gae2c0bcb7aec609e4736437554f6638fd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#gae2c0bcb7aec609e4736437554f6638fd">GLFW_HAT_CENTERED</a>   0</td></tr>
|
|
||||||
<tr class="separator:gae2c0bcb7aec609e4736437554f6638fd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga8c9720c76cd1b912738159ed74c85b36"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#ga8c9720c76cd1b912738159ed74c85b36">GLFW_HAT_UP</a>   1</td></tr>
|
|
||||||
<tr class="separator:ga8c9720c76cd1b912738159ed74c85b36"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga252586e3bbde75f4b0e07ad3124867f5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a>   2</td></tr>
|
|
||||||
<tr class="separator:ga252586e3bbde75f4b0e07ad3124867f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gad60d1fd0dc85c18f2642cbae96d3deff"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#gad60d1fd0dc85c18f2642cbae96d3deff">GLFW_HAT_DOWN</a>   4</td></tr>
|
|
||||||
<tr class="separator:gad60d1fd0dc85c18f2642cbae96d3deff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac775f4b3154fdf5db93eb432ba546dff"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#gac775f4b3154fdf5db93eb432ba546dff">GLFW_HAT_LEFT</a>   8</td></tr>
|
|
||||||
<tr class="separator:gac775f4b3154fdf5db93eb432ba546dff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga94aea0ae241a8b902883536c592ee693"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#ga94aea0ae241a8b902883536c592ee693">GLFW_HAT_RIGHT_UP</a>   (<a class="el" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a> | <a class="el" href="group__hat__state.html#ga8c9720c76cd1b912738159ed74c85b36">GLFW_HAT_UP</a>)</td></tr>
|
|
||||||
<tr class="separator:ga94aea0ae241a8b902883536c592ee693"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gad7f0e4f52fd68d734863aaeadab3a3f5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#gad7f0e4f52fd68d734863aaeadab3a3f5">GLFW_HAT_RIGHT_DOWN</a>   (<a class="el" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a> | <a class="el" href="group__hat__state.html#gad60d1fd0dc85c18f2642cbae96d3deff">GLFW_HAT_DOWN</a>)</td></tr>
|
|
||||||
<tr class="separator:gad7f0e4f52fd68d734863aaeadab3a3f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga638f0e20dc5de90de21a33564e8ce129"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#ga638f0e20dc5de90de21a33564e8ce129">GLFW_HAT_LEFT_UP</a>   (<a class="el" href="group__hat__state.html#gac775f4b3154fdf5db93eb432ba546dff">GLFW_HAT_LEFT</a> | <a class="el" href="group__hat__state.html#ga8c9720c76cd1b912738159ed74c85b36">GLFW_HAT_UP</a>)</td></tr>
|
|
||||||
<tr class="separator:ga638f0e20dc5de90de21a33564e8ce129"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga76c02baf1ea345fcbe3e8ff176a73e19"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hat__state.html#ga76c02baf1ea345fcbe3e8ff176a73e19">GLFW_HAT_LEFT_DOWN</a>   (<a class="el" href="group__hat__state.html#gac775f4b3154fdf5db93eb432ba546dff">GLFW_HAT_LEFT</a> | <a class="el" href="group__hat__state.html#gad60d1fd0dc85c18f2642cbae96d3deff">GLFW_HAT_DOWN</a>)</td></tr>
|
|
||||||
<tr class="separator:ga76c02baf1ea345fcbe3e8ff176a73e19"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="gae2c0bcb7aec609e4736437554f6638fd" name="gae2c0bcb7aec609e4736437554f6638fd"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gae2c0bcb7aec609e4736437554f6638fd">◆ </a></span>GLFW_HAT_CENTERED</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_CENTERED   0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga8c9720c76cd1b912738159ed74c85b36" name="ga8c9720c76cd1b912738159ed74c85b36"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8c9720c76cd1b912738159ed74c85b36">◆ </a></span>GLFW_HAT_UP</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_UP   1</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga252586e3bbde75f4b0e07ad3124867f5" name="ga252586e3bbde75f4b0e07ad3124867f5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga252586e3bbde75f4b0e07ad3124867f5">◆ </a></span>GLFW_HAT_RIGHT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_RIGHT   2</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gad60d1fd0dc85c18f2642cbae96d3deff" name="gad60d1fd0dc85c18f2642cbae96d3deff"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad60d1fd0dc85c18f2642cbae96d3deff">◆ </a></span>GLFW_HAT_DOWN</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_DOWN   4</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gac775f4b3154fdf5db93eb432ba546dff" name="gac775f4b3154fdf5db93eb432ba546dff"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gac775f4b3154fdf5db93eb432ba546dff">◆ </a></span>GLFW_HAT_LEFT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_LEFT   8</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga94aea0ae241a8b902883536c592ee693" name="ga94aea0ae241a8b902883536c592ee693"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga94aea0ae241a8b902883536c592ee693">◆ </a></span>GLFW_HAT_RIGHT_UP</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_RIGHT_UP   (<a class="el" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a> | <a class="el" href="group__hat__state.html#ga8c9720c76cd1b912738159ed74c85b36">GLFW_HAT_UP</a>)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gad7f0e4f52fd68d734863aaeadab3a3f5" name="gad7f0e4f52fd68d734863aaeadab3a3f5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad7f0e4f52fd68d734863aaeadab3a3f5">◆ </a></span>GLFW_HAT_RIGHT_DOWN</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_RIGHT_DOWN   (<a class="el" href="group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5">GLFW_HAT_RIGHT</a> | <a class="el" href="group__hat__state.html#gad60d1fd0dc85c18f2642cbae96d3deff">GLFW_HAT_DOWN</a>)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga638f0e20dc5de90de21a33564e8ce129" name="ga638f0e20dc5de90de21a33564e8ce129"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga638f0e20dc5de90de21a33564e8ce129">◆ </a></span>GLFW_HAT_LEFT_UP</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_LEFT_UP   (<a class="el" href="group__hat__state.html#gac775f4b3154fdf5db93eb432ba546dff">GLFW_HAT_LEFT</a> | <a class="el" href="group__hat__state.html#ga8c9720c76cd1b912738159ed74c85b36">GLFW_HAT_UP</a>)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga76c02baf1ea345fcbe3e8ff176a73e19" name="ga76c02baf1ea345fcbe3e8ff176a73e19"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga76c02baf1ea345fcbe3e8ff176a73e19">◆ </a></span>GLFW_HAT_LEFT_DOWN</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAT_LEFT_DOWN   (<a class="el" href="group__hat__state.html#gac775f4b3154fdf5db93eb432ba546dff">GLFW_HAT_LEFT</a> | <a class="el" href="group__hat__state.html#gad60d1fd0dc85c18f2642cbae96d3deff">GLFW_HAT_DOWN</a>)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,984 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<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>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#groups">Modules</a> |
|
|
||||||
<a href="#define-members">Macros</a> |
|
|
||||||
<a href="#typedef-members">Typedefs</a> |
|
|
||||||
<a href="#func-members">Functions</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Initialization, version and error reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>This is the reference documentation for initialization and termination of the library, version management and error handling. For more task-oriented information, see the <a class="el" href="intro_guide.html">Introduction to the API</a>. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
|
|
||||||
Modules</h2></td></tr>
|
|
||||||
<tr class="memitem:group__errors"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__errors.html">Error codes</a></td></tr>
|
|
||||||
<tr class="memdesc:group__errors"><td class="mdescLeft"> </td><td class="mdescRight">Error codes. <br /></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:ga2744fbb29b5631bb28802dbe0cf36eba"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>   1</td></tr>
|
|
||||||
<tr class="memdesc:ga2744fbb29b5631bb28802dbe0cf36eba"><td class="mdescLeft"> </td><td class="mdescRight">One. <br /></td></tr>
|
|
||||||
<tr class="separator:ga2744fbb29b5631bb28802dbe0cf36eba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac877fe3b627d21ef3a0a23e0a73ba8c5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a>   0</td></tr>
|
|
||||||
<tr class="memdesc:gac877fe3b627d21ef3a0a23e0a73ba8c5"><td class="mdescLeft"> </td><td class="mdescRight">Zero. <br /></td></tr>
|
|
||||||
<tr class="separator:gac877fe3b627d21ef3a0a23e0a73ba8c5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gab9c0534709fda03ec8959201da3a9a18"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gab9c0534709fda03ec8959201da3a9a18">GLFW_JOYSTICK_HAT_BUTTONS</a>   0x00050001</td></tr>
|
|
||||||
<tr class="memdesc:gab9c0534709fda03ec8959201da3a9a18"><td class="mdescLeft"> </td><td class="mdescRight">Joystick hat buttons init hint. <br /></td></tr>
|
|
||||||
<tr class="separator:gab9c0534709fda03ec8959201da3a9a18"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaec269b24cf549ab46292c0125d8bbdce"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaec269b24cf549ab46292c0125d8bbdce">GLFW_ANGLE_PLATFORM_TYPE</a>   0x00050002</td></tr>
|
|
||||||
<tr class="memdesc:gaec269b24cf549ab46292c0125d8bbdce"><td class="mdescLeft"> </td><td class="mdescRight">ANGLE rendering backend init hint. <br /></td></tr>
|
|
||||||
<tr class="separator:gaec269b24cf549ab46292c0125d8bbdce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga9d38bf1fdf4f91d6565401734a7cd967"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga9d38bf1fdf4f91d6565401734a7cd967">GLFW_PLATFORM</a>   0x00050003</td></tr>
|
|
||||||
<tr class="memdesc:ga9d38bf1fdf4f91d6565401734a7cd967"><td class="mdescLeft"> </td><td class="mdescRight">Platform selection init hint. <br /></td></tr>
|
|
||||||
<tr class="separator:ga9d38bf1fdf4f91d6565401734a7cd967"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gab937983147a3158d45f88fad7129d9f2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gab937983147a3158d45f88fad7129d9f2">GLFW_COCOA_CHDIR_RESOURCES</a>   0x00051001</td></tr>
|
|
||||||
<tr class="memdesc:gab937983147a3158d45f88fad7129d9f2"><td class="mdescLeft"> </td><td class="mdescRight">macOS specific init hint. <br /></td></tr>
|
|
||||||
<tr class="separator:gab937983147a3158d45f88fad7129d9f2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga71e0b4ce2f2696a84a9b8c5e12dc70cf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf">GLFW_COCOA_MENUBAR</a>   0x00051002</td></tr>
|
|
||||||
<tr class="memdesc:ga71e0b4ce2f2696a84a9b8c5e12dc70cf"><td class="mdescLeft"> </td><td class="mdescRight">macOS specific init hint. <br /></td></tr>
|
|
||||||
<tr class="separator:ga71e0b4ce2f2696a84a9b8c5e12dc70cf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaa341e303ebeb8e4199b8ab8be84351f6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaa341e303ebeb8e4199b8ab8be84351f6">GLFW_X11_XCB_VULKAN_SURFACE</a>   0x00052001</td></tr>
|
|
||||||
<tr class="memdesc:gaa341e303ebeb8e4199b8ab8be84351f6"><td class="mdescLeft"> </td><td class="mdescRight">X11 specific init hint. <br /></td></tr>
|
|
||||||
<tr class="separator:gaa341e303ebeb8e4199b8ab8be84351f6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga18b2d37374d0dea28cd69194fa85b859"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga18b2d37374d0dea28cd69194fa85b859">GLFW_ANY_PLATFORM</a>   0x00060000</td></tr>
|
|
||||||
<tr class="memdesc:ga18b2d37374d0dea28cd69194fa85b859"><td class="mdescLeft"> </td><td class="mdescRight">Hint value that enables automatic platform selection. <br /></td></tr>
|
|
||||||
<tr class="separator:ga18b2d37374d0dea28cd69194fa85b859"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga8d3d17df2ab57492cef665da52c603a1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga8d3d17df2ab57492cef665da52c603a1">GLFW_PLATFORM_WIN32</a>   0x00060001</td></tr>
|
|
||||||
<tr class="separator:ga8d3d17df2ab57492cef665da52c603a1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga83b18714254f75bc2f0cdbafa0f10b6b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga83b18714254f75bc2f0cdbafa0f10b6b">GLFW_PLATFORM_COCOA</a>   0x00060002</td></tr>
|
|
||||||
<tr class="separator:ga83b18714254f75bc2f0cdbafa0f10b6b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac4b08906a3cbf26c518a4a543eedd740"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gac4b08906a3cbf26c518a4a543eedd740">GLFW_PLATFORM_WAYLAND</a>   0x00060003</td></tr>
|
|
||||||
<tr class="separator:gac4b08906a3cbf26c518a4a543eedd740"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaf5333f3933e9c248a00cfda6523f386b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaf5333f3933e9c248a00cfda6523f386b">GLFW_PLATFORM_X11</a>   0x00060004</td></tr>
|
|
||||||
<tr class="separator:gaf5333f3933e9c248a00cfda6523f386b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac06fad5a4866ae7a1d7b2675fac72d7f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gac06fad5a4866ae7a1d7b2675fac72d7f">GLFW_PLATFORM_NULL</a>   0x00060005</td></tr>
|
|
||||||
<tr class="separator:gac06fad5a4866ae7a1d7b2675fac72d7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
|
|
||||||
Typedefs</h2></td></tr>
|
|
||||||
<tr class="memitem:ga4306a564e9f60f4de8cc8f31731a3120"><td class="memItemLeft" align="right" valign="top">typedef void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga4306a564e9f60f4de8cc8f31731a3120">GLFWallocatefun</a>) (size_t size, void *user)</td></tr>
|
|
||||||
<tr class="memdesc:ga4306a564e9f60f4de8cc8f31731a3120"><td class="mdescLeft"> </td><td class="mdescRight">The function pointer type for memory allocation callbacks. <br /></td></tr>
|
|
||||||
<tr class="separator:ga4306a564e9f60f4de8cc8f31731a3120"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga3e88a829615d8efe8bec1746f7309c63"><td class="memItemLeft" align="right" valign="top">typedef void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga3e88a829615d8efe8bec1746f7309c63">GLFWreallocatefun</a>) (void *block, size_t size, void *user)</td></tr>
|
|
||||||
<tr class="memdesc:ga3e88a829615d8efe8bec1746f7309c63"><td class="mdescLeft"> </td><td class="mdescRight">The function pointer type for memory reallocation callbacks. <br /></td></tr>
|
|
||||||
<tr class="separator:ga3e88a829615d8efe8bec1746f7309c63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga7181615eda94c4b07bd72bdcee39fa28"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga7181615eda94c4b07bd72bdcee39fa28">GLFWdeallocatefun</a>) (void *block, void *user)</td></tr>
|
|
||||||
<tr class="memdesc:ga7181615eda94c4b07bd72bdcee39fa28"><td class="mdescLeft"> </td><td class="mdescRight">The function pointer type for memory deallocation callbacks. <br /></td></tr>
|
|
||||||
<tr class="separator:ga7181615eda94c4b07bd72bdcee39fa28"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga8184701785c096b3862a75cda1bf44a3"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga8184701785c096b3862a75cda1bf44a3">GLFWerrorfun</a>) (int error_code, const char *description)</td></tr>
|
|
||||||
<tr class="memdesc:ga8184701785c096b3862a75cda1bf44a3"><td class="mdescLeft"> </td><td class="mdescRight">The function pointer type for error callbacks. <br /></td></tr>
|
|
||||||
<tr class="separator:ga8184701785c096b3862a75cda1bf44a3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga145c57d7f2aeda0b704a5a4ba1d6104b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga145c57d7f2aeda0b704a5a4ba1d6104b">GLFWallocator</a></td></tr>
|
|
||||||
<tr class="separator:ga145c57d7f2aeda0b704a5a4ba1d6104b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
||||||
Functions</h2></td></tr>
|
|
||||||
<tr class="memitem:ga317aac130a235ab08c6db0834907d85e"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Initializes the GLFW library. <br /></td></tr>
|
|
||||||
<tr class="separator:ga317aac130a235ab08c6db0834907d85e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaaae48c0a18607ea4a4ba951d939f0901"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Terminates the GLFW library. <br /></td></tr>
|
|
||||||
<tr class="separator:gaaae48c0a18607ea4a4ba951d939f0901"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga110fd1d3f0412822b4f1908c026f724a"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Sets the specified init hint to the desired value. <br /></td></tr>
|
|
||||||
<tr class="separator:ga110fd1d3f0412822b4f1908c026f724a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga9dde93e9891fa7dd17e4194c9f3ae7c6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a> (const <a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a> *allocator)</td></tr>
|
|
||||||
<tr class="memdesc:ga9dde93e9891fa7dd17e4194c9f3ae7c6"><td class="mdescLeft"> </td><td class="mdescRight">Sets the init allocator to the desired value. <br /></td></tr>
|
|
||||||
<tr class="separator:ga9dde93e9891fa7dd17e4194c9f3ae7c6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga76af552d0307bb5f7791f245417d4752"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga76af552d0307bb5f7791f245417d4752">glfwInitVulkanLoader</a> (PFN_vkGetInstanceProcAddr loader)</td></tr>
|
|
||||||
<tr class="memdesc:ga76af552d0307bb5f7791f245417d4752"><td class="mdescLeft"> </td><td class="mdescRight">Sets the desired Vulkan <code>vkGetInstanceProcAddr</code> function. <br /></td></tr>
|
|
||||||
<tr class="separator:ga76af552d0307bb5f7791f245417d4752"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Retrieves the version of the GLFW library. <br /></td></tr>
|
|
||||||
<tr class="separator:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga026abd003c8e6501981ab1662062f1c0"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga026abd003c8e6501981ab1662062f1c0">glfwGetVersionString</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:ga026abd003c8e6501981ab1662062f1c0"><td class="mdescLeft"> </td><td class="mdescRight">Returns a string describing the compile-time configuration. <br /></td></tr>
|
|
||||||
<tr class="separator:ga026abd003c8e6501981ab1662062f1c0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga944986b4ec0b928d488141f92982aa18"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Returns and clears the last error for the calling thread. <br /></td></tr>
|
|
||||||
<tr class="separator:ga944986b4ec0b928d488141f92982aa18"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaff45816610d53f0b83656092a4034f40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__init.html#ga8184701785c096b3862a75cda1bf44a3">GLFWerrorfun</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a> (<a class="el" href="group__init.html#ga8184701785c096b3862a75cda1bf44a3">GLFWerrorfun</a> callback)</td></tr>
|
|
||||||
<tr class="memdesc:gaff45816610d53f0b83656092a4034f40"><td class="mdescLeft"> </td><td class="mdescRight">Sets the error callback. <br /></td></tr>
|
|
||||||
<tr class="separator:gaff45816610d53f0b83656092a4034f40"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6d6a983d38bd4e8fd786d7a9061d399e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:ga6d6a983d38bd4e8fd786d7a9061d399e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the currently selected platform. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6d6a983d38bd4e8fd786d7a9061d399e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga8785d2b6b36632368d803e78079d38ed"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a> (int platform)</td></tr>
|
|
||||||
<tr class="memdesc:ga8785d2b6b36632368d803e78079d38ed"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the library includes support for the specified platform. <br /></td></tr>
|
|
||||||
<tr class="separator:ga8785d2b6b36632368d803e78079d38ed"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="ga6337d9ea43b22fc529b2bba066b4a576" name="ga6337d9ea43b22fc529b2bba066b4a576"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6337d9ea43b22fc529b2bba066b4a576">◆ </a></span>GLFW_VERSION_MAJOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_VERSION_MAJOR   3</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The major version number of the GLFW header. This is incremented when the API is changed in non-compatible ways. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaf80d40f0aea7088ff337606e9c48f7a3" name="gaf80d40f0aea7088ff337606e9c48f7a3"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaf80d40f0aea7088ff337606e9c48f7a3">◆ </a></span>GLFW_VERSION_MINOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_VERSION_MINOR   4</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The minor version number of the GLFW header. This is incremented when features are added to the API but it remains backward-compatible. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gab72ae2e2035d9ea461abc3495eac0502" name="gab72ae2e2035d9ea461abc3495eac0502"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gab72ae2e2035d9ea461abc3495eac0502">◆ </a></span>GLFW_VERSION_REVISION</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_VERSION_REVISION   0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The revision number of the GLFW header. This is incremented when a bug fix release is made that does not contain any API changes. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga2744fbb29b5631bb28802dbe0cf36eba" name="ga2744fbb29b5631bb28802dbe0cf36eba"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga2744fbb29b5631bb28802dbe0cf36eba">◆ </a></span>GLFW_TRUE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_TRUE   1</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This is only semantic sugar for the number 1. You can instead use <code>1</code> or <code>true</code> or <code>_True</code> or <code>GL_TRUE</code> or <code>VK_TRUE</code> or anything else that is equal to one. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gac877fe3b627d21ef3a0a23e0a73ba8c5" name="gac877fe3b627d21ef3a0a23e0a73ba8c5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gac877fe3b627d21ef3a0a23e0a73ba8c5">◆ </a></span>GLFW_FALSE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_FALSE   0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This is only semantic sugar for the number 0. You can instead use <code>0</code> or <code>false</code> or <code>_False</code> or <code>GL_FALSE</code> or <code>VK_FALSE</code> or anything else that is equal to zero. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gab9c0534709fda03ec8959201da3a9a18" name="gab9c0534709fda03ec8959201da3a9a18"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gab9c0534709fda03ec8959201da3a9a18">◆ </a></span>GLFW_JOYSTICK_HAT_BUTTONS</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_HAT_BUTTONS   0x00050001</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>Joystick hat buttons <a class="el" href="intro_guide.html#GLFW_JOYSTICK_HAT_BUTTONS">init hint</a>. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaec269b24cf549ab46292c0125d8bbdce" name="gaec269b24cf549ab46292c0125d8bbdce"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaec269b24cf549ab46292c0125d8bbdce">◆ </a></span>GLFW_ANGLE_PLATFORM_TYPE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_ANGLE_PLATFORM_TYPE   0x00050002</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>ANGLE rendering backend <a class="el" href="intro_guide.html#GLFW_ANGLE_PLATFORM_TYPE_hint">init hint</a>. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga9d38bf1fdf4f91d6565401734a7cd967" name="ga9d38bf1fdf4f91d6565401734a7cd967"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga9d38bf1fdf4f91d6565401734a7cd967">◆ </a></span>GLFW_PLATFORM</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_PLATFORM   0x00050003</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>Platform selection <a class="el" href="intro_guide.html#GLFW_PLATFORM">init hint</a>. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gab937983147a3158d45f88fad7129d9f2" name="gab937983147a3158d45f88fad7129d9f2"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gab937983147a3158d45f88fad7129d9f2">◆ </a></span>GLFW_COCOA_CHDIR_RESOURCES</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_COCOA_CHDIR_RESOURCES   0x00051001</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>macOS specific <a class="el" href="intro_guide.html#GLFW_COCOA_CHDIR_RESOURCES_hint">init hint</a>. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga71e0b4ce2f2696a84a9b8c5e12dc70cf" name="ga71e0b4ce2f2696a84a9b8c5e12dc70cf"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga71e0b4ce2f2696a84a9b8c5e12dc70cf">◆ </a></span>GLFW_COCOA_MENUBAR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_COCOA_MENUBAR   0x00051002</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>macOS specific <a class="el" href="intro_guide.html#GLFW_COCOA_MENUBAR_hint">init hint</a>. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaa341e303ebeb8e4199b8ab8be84351f6" name="gaa341e303ebeb8e4199b8ab8be84351f6"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaa341e303ebeb8e4199b8ab8be84351f6">◆ </a></span>GLFW_X11_XCB_VULKAN_SURFACE</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_X11_XCB_VULKAN_SURFACE   0x00052001</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>X11 specific <a class="el" href="intro_guide.html#GLFW_X11_XCB_VULKAN_SURFACE_hint">init hint</a>. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga18b2d37374d0dea28cd69194fa85b859" name="ga18b2d37374d0dea28cd69194fa85b859"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga18b2d37374d0dea28cd69194fa85b859">◆ </a></span>GLFW_ANY_PLATFORM</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_ANY_PLATFORM   0x00060000</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>Hint value for <a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a> that enables automatic platform selection. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga8d3d17df2ab57492cef665da52c603a1" name="ga8d3d17df2ab57492cef665da52c603a1"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8d3d17df2ab57492cef665da52c603a1">◆ </a></span>GLFW_PLATFORM_WIN32</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_PLATFORM_WIN32   0x00060001</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga83b18714254f75bc2f0cdbafa0f10b6b" name="ga83b18714254f75bc2f0cdbafa0f10b6b"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga83b18714254f75bc2f0cdbafa0f10b6b">◆ </a></span>GLFW_PLATFORM_COCOA</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_PLATFORM_COCOA   0x00060002</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gac4b08906a3cbf26c518a4a543eedd740" name="gac4b08906a3cbf26c518a4a543eedd740"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gac4b08906a3cbf26c518a4a543eedd740">◆ </a></span>GLFW_PLATFORM_WAYLAND</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_PLATFORM_WAYLAND   0x00060003</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaf5333f3933e9c248a00cfda6523f386b" name="gaf5333f3933e9c248a00cfda6523f386b"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaf5333f3933e9c248a00cfda6523f386b">◆ </a></span>GLFW_PLATFORM_X11</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_PLATFORM_X11   0x00060004</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gac06fad5a4866ae7a1d7b2675fac72d7f" name="gac06fad5a4866ae7a1d7b2675fac72d7f"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gac06fad5a4866ae7a1d7b2675fac72d7f">◆ </a></span>GLFW_PLATFORM_NULL</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_PLATFORM_NULL   0x00060005</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2 class="groupheader">Typedef Documentation</h2>
|
|
||||||
<a id="ga4306a564e9f60f4de8cc8f31731a3120" name="ga4306a564e9f60f4de8cc8f31731a3120"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga4306a564e9f60f4de8cc8f31731a3120">◆ </a></span>GLFWallocatefun</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef void *(* GLFWallocatefun) (size_t size, void *user)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This is the function pointer type for memory allocation callbacks. A memory allocation callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span>* function_name(<span class="keywordtype">size_t</span> size, <span class="keywordtype">void</span>* user)</div>
|
|
||||||
</div><!-- fragment --><p>This function must return either a memory block at least <code>size</code> bytes long, or <code>NULL</code> if allocation failed. Note that not all parts of GLFW handle allocation failures gracefully yet.</p>
|
|
||||||
<p>This function may be called during <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> but before the library is flagged as initialized, as well as during <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> after the library is no longer flagged as initialized.</p>
|
|
||||||
<p>Any memory allocated by this function will be deallocated during library termination or earlier.</p>
|
|
||||||
<p>The size will always be greater than zero. Allocations of size zero are filtered out before reaching the custom allocator.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The minimum size, in bytes, of the memory block. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>The user-defined pointer from the allocator. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The address of the newly allocated memory block, or <code>NULL</code> if an error occurred.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Pointer lifetime</dt><dd>The returned memory block must be valid at least until it is deallocated.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Reentrancy</dt><dd>This function should not call any GLFW function.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread that calls GLFW functions.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#init_allocator">Custom heap memory allocator</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.4. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga3e88a829615d8efe8bec1746f7309c63" name="ga3e88a829615d8efe8bec1746f7309c63"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga3e88a829615d8efe8bec1746f7309c63">◆ </a></span>GLFWreallocatefun</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef void *(* GLFWreallocatefun) (void *block, size_t size, void *user)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This is the function pointer type for memory reallocation callbacks. A memory reallocation callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span>* function_name(<span class="keywordtype">void</span>* block, <span class="keywordtype">size_t</span> size, <span class="keywordtype">void</span>* user)</div>
|
|
||||||
</div><!-- fragment --><p>This function must return a memory block at least <code>size</code> bytes long, or <code>NULL</code> if allocation failed. Note that not all parts of GLFW handle allocation failures gracefully yet.</p>
|
|
||||||
<p>This function may be called during <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> but before the library is flagged as initialized, as well as during <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> after the library is no longer flagged as initialized.</p>
|
|
||||||
<p>Any memory allocated by this function will be deallocated during library termination or earlier.</p>
|
|
||||||
<p>The block address will never be <code>NULL</code> and the size will always be greater than zero. Reallocations of a block to size zero are converted into deallocations. Reallocations of <code>NULL</code> to a non-zero size are converted into regular allocations.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>The address of the memory block to reallocate. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The new minimum size, in bytes, of the memory block. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>The user-defined pointer from the allocator. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The address of the newly allocated or resized memory block, or <code>NULL</code> if an error occurred.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Pointer lifetime</dt><dd>The returned memory block must be valid at least until it is deallocated.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Reentrancy</dt><dd>This function should not call any GLFW function.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread that calls GLFW functions.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#init_allocator">Custom heap memory allocator</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.4. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga7181615eda94c4b07bd72bdcee39fa28" name="ga7181615eda94c4b07bd72bdcee39fa28"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga7181615eda94c4b07bd72bdcee39fa28">◆ </a></span>GLFWdeallocatefun</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef void(* GLFWdeallocatefun) (void *block, void *user)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This is the function pointer type for memory deallocation callbacks. A memory deallocation callback function has the following signature: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function_name(<span class="keywordtype">void</span>* block, <span class="keywordtype">void</span>* user)</div>
|
|
||||||
</div><!-- fragment --><p>This function may deallocate the specified memory block. This memory block will have been allocated with the same allocator.</p>
|
|
||||||
<p>This function may be called during <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> but before the library is flagged as initialized, as well as during <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> after the library is no longer flagged as initialized.</p>
|
|
||||||
<p>The block address will never be <code>NULL</code>. Deallocations of <code>NULL</code> are filtered out before reaching the custom allocator.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>The address of the memory block to deallocate. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>The user-defined pointer from the allocator.</td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section user"><dt>Pointer lifetime</dt><dd>The specified memory block will not be accessed by GLFW after this function is called.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Reentrancy</dt><dd>This function should not call any GLFW function.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread that calls GLFW functions.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#init_allocator">Custom heap memory allocator</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.4. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga8184701785c096b3862a75cda1bf44a3" name="ga8184701785c096b3862a75cda1bf44a3"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8184701785c096b3862a75cda1bf44a3">◆ </a></span>GLFWerrorfun</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef void(* GLFWerrorfun) (int error_code, const char *description)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<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_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#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga145c57d7f2aeda0b704a5a4ba1d6104b" name="ga145c57d7f2aeda0b704a5a4ba1d6104b"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga145c57d7f2aeda0b704a5a4ba1d6104b">◆ </a></span>GLFWallocator</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef struct <a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a> <a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#init_allocator">Custom heap memory allocator</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.4. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2 class="groupheader">Function Documentation</h2>
|
|
||||||
<a id="ga317aac130a235ab08c6db0834907d85e" name="ga317aac130a235ab08c6db0834907d85e"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga317aac130a235ab08c6db0834907d85e">◆ </a></span>glfwInit()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwInit </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function initializes the GLFW library. Before most GLFW functions can be used, GLFW must be initialized, and before an application terminates GLFW should be terminated in order to free any resources allocated during or after initialization.</p>
|
|
||||||
<p>If this function fails, it calls <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> before returning. If it succeeds, you should call <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> before the application exits.</p>
|
|
||||||
<p>Additional calls to this function after successful initialization but before termination will return <code>GLFW_TRUE</code> immediately.</p>
|
|
||||||
<p>The <a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a> init hint controls which platforms are considered during initialization. This also depends on which platforms the library was compiled to support.</p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd><code>GLFW_TRUE</code> if successful, or <code>GLFW_FALSE</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#ga3608c6c29ab7a72f3bf019f4c3a2563d">GLFW_PLATFORM_UNAVAILABLE</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>macOS:</b> This function will change the current directory of the application to the <code>Contents/Resources</code> subdirectory of the application's bundle, if present. This can be disabled with the <a class="el" href="group__init.html#gab937983147a3158d45f88fad7129d9f2">GLFW_COCOA_CHDIR_RESOURCES</a> init hint.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>macOS:</b> This function will create the main menu and dock icon for the application. If GLFW finds a <code>MainMenu.nib</code> it is loaded and assumed to contain a menu bar. Otherwise a minimal menu bar is created manually with common commands like Hide, Quit and About. The About entry opens a minimal about dialog with information from the application's bundle. The menu bar and dock icon can be disabled entirely with the <a class="el" href="group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf">GLFW_COCOA_MENUBAR</a> init hint.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>X11:</b> This function will set the <code>LC_CTYPE</code> category of the application locale according to the current environment if that category is still "C". This is because the "C" locale breaks Unicode text input.</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="intro_guide.html#intro_init">Initialization and termination</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaaae48c0a18607ea4a4ba951d939f0901" name="gaaae48c0a18607ea4a4ba951d939f0901"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaaae48c0a18607ea4a4ba951d939f0901">◆ </a></span>glfwTerminate()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwTerminate </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function destroys all remaining windows and cursors, restores any modified gamma ramps and frees any other allocated resources. Once this function is called, you must again call <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> successfully before you will be able to use most GLFW functions.</p>
|
|
||||||
<p>If GLFW has been successfully initialized, this function should be called before the application exits. If initialization fails, there is no need to call this function, as it is called by <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> before it returns failure.</p>
|
|
||||||
<p>This function has no effect if GLFW is not initialized.</p>
|
|
||||||
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a>.</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 warning"><dt>Warning</dt><dd>The contexts of any remaining windows must not be current on any other thread when this function is called.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Reentrancy</dt><dd>This function must not be called from a callback.</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="intro_guide.html#intro_init">Initialization and termination</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga110fd1d3f0412822b4f1908c026f724a" name="ga110fd1d3f0412822b4f1908c026f724a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga110fd1d3f0412822b4f1908c026f724a">◆ </a></span>glfwInitHint()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwInitHint </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">int </td>
|
|
||||||
<td class="paramname"><em>hint</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int </td>
|
|
||||||
<td class="paramname"><em>value</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function sets hints for the next initialization of GLFW.</p>
|
|
||||||
<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>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>The <a class="el" href="intro_guide.html#init_hints">init hint</a> to set. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The new value of the init hint.</td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga76f6bb9c4eea73db675f096b404593ce">GLFW_INVALID_ENUM</a> and <a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a>.</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>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd>init_hints </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e" title="Initializes the GLFW library.">glfwInit</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga9dde93e9891fa7dd17e4194c9f3ae7c6" name="ga9dde93e9891fa7dd17e4194c9f3ae7c6"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga9dde93e9891fa7dd17e4194c9f3ae7c6">◆ </a></span>glfwInitAllocator()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwInitAllocator </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">const <a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a> * </td>
|
|
||||||
<td class="paramname"><em>allocator</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>To use the default allocator, call this function with a <code>NULL</code> argument.</p>
|
|
||||||
<p>If you specify an allocator struct, every member must be a valid function pointer. If any member is <code>NULL</code>, this function emits <a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a> and the init allocator is unchanged.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">allocator</td><td>The allocator to use at the next initialization, or <code>NULL</code> to use the default one.</td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Pointer lifetime</dt><dd>The specified allocator 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="intro_guide.html#init_allocator">Custom heap memory allocator</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.4. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga76af552d0307bb5f7791f245417d4752" name="ga76af552d0307bb5f7791f245417d4752"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga76af552d0307bb5f7791f245417d4752">◆ </a></span>glfwInitVulkanLoader()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwInitVulkanLoader </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">PFN_vkGetInstanceProcAddr </td>
|
|
||||||
<td class="paramname"><em>loader</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function sets the <code>vkGetInstanceProcAddr</code> function that GLFW will use for all Vulkan related entry point queries.</p>
|
|
||||||
<p>This feature is mostly useful on macOS, if your copy of the Vulkan loader is in a location where GLFW cannot find it through dynamic loading, or if you are still using the static library version of the loader.</p>
|
|
||||||
<p>If set to <code>NULL</code>, GLFW will try to load the Vulkan loader dynamically by its standard name and get this function from there. This is the default behavior.</p>
|
|
||||||
<p>The standard name of the loader is <code>vulkan-1.dll</code> on Windows, <code>libvulkan.so.1</code> on Linux and other Unix-like systems and <code>libvulkan.1.dylib</code> on macOS. If your code is also loading it via these names then you probably don't need to use this function.</p>
|
|
||||||
<p>The function address you set is never reset by GLFW, but it only takes effect during initialization. Once GLFW has been initialized, any updates will be ignored until the library is terminated and initialized again.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">loader</td><td>The address of the function to use, or <code>NULL</code>.</td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section user"><dt>Loader function signature</dt><dd><div class="fragment"><div class="line">PFN_vkVoidFunction vkGetInstanceProcAddr(VkInstance instance, <span class="keyword">const</span> <span class="keywordtype">char</span>* name)</div>
|
|
||||||
</div><!-- fragment --> For more information about this function, see the <a href="https://www.khronos.org/registry/vulkan/">Vulkan Registry</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>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="vulkan_guide.html#vulkan_loader">Finding the Vulkan loader</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.4. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga9f8ffaacf3c269cc48eafbf8b9b71197" name="ga9f8ffaacf3c269cc48eafbf8b9b71197"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga9f8ffaacf3c269cc48eafbf8b9b71197">◆ </a></span>glfwGetVersion()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwGetVersion </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>major</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>minor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>rev</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function retrieves the major, minor and revision numbers of the GLFW library. It is intended for when you are using GLFW as a shared library and want to ensure that you are using the minimum required version.</p>
|
|
||||||
<p>Any or all of the version arguments may be <code>NULL</code>.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">major</td><td>Where to store the major version number, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">minor</td><td>Where to store the minor version number, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">rev</td><td>Where to store the revision number, or <code>NULL</code>.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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 may be called from any thread.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#intro_version">Version management</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga026abd003c8e6501981ab1662062f1c0">glfwGetVersionString</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga026abd003c8e6501981ab1662062f1c0" name="ga026abd003c8e6501981ab1662062f1c0"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga026abd003c8e6501981ab1662062f1c0">◆ </a></span>glfwGetVersionString()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const char * glfwGetVersionString </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the compile-time generated <a class="el" href="intro_guide.html#intro_version_string">version string</a> of the GLFW library binary. It describes the version, platforms, compiler and any platform or operating system specific compile-time options. It should not be confused with the OpenGL or OpenGL ES version string, queried with <code>glGetString</code>.</p>
|
|
||||||
<p><b>Do not use the version string</b> to parse the GLFW library version. The <a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a> function provides the version of the running library binary in numerical format.</p>
|
|
||||||
<p><b>Do not use the version string</b> to parse what platforms are supported. The <a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a> function lets you query platform support.</p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The ASCII encoded GLFW version string.</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>Pointer lifetime</dt><dd>The returned string is static and compile-time generated.</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="intro_guide.html#intro_version">Version management</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga944986b4ec0b928d488141f92982aa18" name="ga944986b4ec0b928d488141f92982aa18"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga944986b4ec0b928d488141f92982aa18">◆ </a></span>glfwGetError()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwGetError </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">const char ** </td>
|
|
||||||
<td class="paramname"><em>description</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns and clears the <a class="el" href="group__errors.html">error code</a> of the last error that occurred on the calling thread, and optionally a UTF-8 encoded human-readable description of it. If no error has occurred since the last call, it returns <a class="el" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a> (zero) and the description pointer is set to <code>NULL</code>.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">description</td><td>Where to store the error description pointer, or <code>NULL</code>. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The last error code for the calling thread, or <a class="el" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a> (zero).</dd></dl>
|
|
||||||
<dl class="section user"><dt>Errors</dt><dd>None.</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 guaranteed to be valid only until the next error occurs or the library is terminated.</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 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#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaff45816610d53f0b83656092a4034f40" name="gaff45816610d53f0b83656092a4034f40"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaff45816610d53f0b83656092a4034f40">◆ </a></span>glfwSetErrorCallback()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="group__init.html#ga8184701785c096b3862a75cda1bf44a3">GLFWerrorfun</a> glfwSetErrorCallback </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__init.html#ga8184701785c096b3862a75cda1bf44a3">GLFWerrorfun</a> </td>
|
|
||||||
<td class="paramname"><em>callback</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function sets the error callback, which is called with an error code and a human-readable description each time a GLFW error occurs.</p>
|
|
||||||
<p>The error code is set before the callback is called. Calling <a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a> from the error callback will return the same value as the error code argument.</p>
|
|
||||||
<p>The error callback is called on the thread where the error occurred. If you are using GLFW from multiple threads, your error callback needs to be written accordingly.</p>
|
|
||||||
<p>Because the description string may have been generated specifically for that error, it is not guaranteed to be valid after the callback has returned. If you wish to use it after the callback returns, you need to make a copy.</p>
|
|
||||||
<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">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#ga8184701785c096b3862a75cda1bf44a3">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>
|
|
||||||
<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#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6d6a983d38bd4e8fd786d7a9061d399e" name="ga6d6a983d38bd4e8fd786d7a9061d399e"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6d6a983d38bd4e8fd786d7a9061d399e">◆ </a></span>glfwGetPlatform()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwGetPlatform </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the platform that was selected during initialization. The returned value will be one of <code>GLFW_PLATFORM_WIN32</code>, <code>GLFW_PLATFORM_COCOA</code>, <code>GLFW_PLATFORM_WAYLAND</code>, <code>GLFW_PLATFORM_X11</code> or <code>GLFW_PLATFORM_NULL</code>.</p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The currently selected platform, or zero if an error 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.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#platform">Runtime platform selection</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.4. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga8785d2b6b36632368d803e78079d38ed" name="ga8785d2b6b36632368d803e78079d38ed"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8785d2b6b36632368d803e78079d38ed">◆ </a></span>glfwPlatformSupported()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwPlatformSupported </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">int </td>
|
|
||||||
<td class="paramname"><em>platform</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns whether the library was compiled with support for the specified platform. The platform must be one of <code>GLFW_PLATFORM_WIN32</code>, <code>GLFW_PLATFORM_COCOA</code>, <code>GLFW_PLATFORM_WAYLAND</code>, <code>GLFW_PLATFORM_X11</code> or <code>GLFW_PLATFORM_NULL</code>.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">platform</td><td>The platform to query. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd><code>GLFW_TRUE</code> if the platform is supported, or <code>GLFW_FALSE</code> otherwise.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Errors</dt><dd>Possible errors include <a class="el" href="group__errors.html#ga76f6bb9c4eea73db675f096b404593ce">GLFW_INVALID_ENUM</a>.</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 may be called from any thread.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="intro_guide.html#platform">Runtime platform selection</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.4. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,362 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Joysticks</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#define-members">Macros</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Joysticks<div class="ingroups"><a class="el" href="group__input.html">Input reference</a></div></div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>See <a class="el" href="input_guide.html#joystick">joystick input</a> for how these are used. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:ga34a0443d059e9f22272cd4669073f73d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga34a0443d059e9f22272cd4669073f73d">GLFW_JOYSTICK_1</a>   0</td></tr>
|
|
||||||
<tr class="separator:ga34a0443d059e9f22272cd4669073f73d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6eab65ec88e65e0850ef8413504cb50c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga6eab65ec88e65e0850ef8413504cb50c">GLFW_JOYSTICK_2</a>   1</td></tr>
|
|
||||||
<tr class="separator:ga6eab65ec88e65e0850ef8413504cb50c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gae6f3eedfeb42424c2f5e3161efb0b654"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654">GLFW_JOYSTICK_3</a>   2</td></tr>
|
|
||||||
<tr class="separator:gae6f3eedfeb42424c2f5e3161efb0b654"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga97ddbcad02b7f48d74fad4ddb08fff59"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga97ddbcad02b7f48d74fad4ddb08fff59">GLFW_JOYSTICK_4</a>   3</td></tr>
|
|
||||||
<tr class="separator:ga97ddbcad02b7f48d74fad4ddb08fff59"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gae43281bc66d3fa5089fb50c3e7a28695"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#gae43281bc66d3fa5089fb50c3e7a28695">GLFW_JOYSTICK_5</a>   4</td></tr>
|
|
||||||
<tr class="separator:gae43281bc66d3fa5089fb50c3e7a28695"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga74771620aa53bd68a487186dea66fd77"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga74771620aa53bd68a487186dea66fd77">GLFW_JOYSTICK_6</a>   5</td></tr>
|
|
||||||
<tr class="separator:ga74771620aa53bd68a487186dea66fd77"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga20a9f4f3aaefed9ea5e66072fc588b87"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87">GLFW_JOYSTICK_7</a>   6</td></tr>
|
|
||||||
<tr class="separator:ga20a9f4f3aaefed9ea5e66072fc588b87"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga21a934c940bcf25db0e4c8fe9b364bdb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga21a934c940bcf25db0e4c8fe9b364bdb">GLFW_JOYSTICK_8</a>   7</td></tr>
|
|
||||||
<tr class="separator:ga21a934c940bcf25db0e4c8fe9b364bdb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga87689d47df0ba6f9f5fcbbcaf7b3cecf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga87689d47df0ba6f9f5fcbbcaf7b3cecf">GLFW_JOYSTICK_9</a>   8</td></tr>
|
|
||||||
<tr class="separator:ga87689d47df0ba6f9f5fcbbcaf7b3cecf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaef55389ee605d6dfc31aef6fe98c54ec"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#gaef55389ee605d6dfc31aef6fe98c54ec">GLFW_JOYSTICK_10</a>   9</td></tr>
|
|
||||||
<tr class="separator:gaef55389ee605d6dfc31aef6fe98c54ec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gae7d26e3df447c2c14a569fcc18516af4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#gae7d26e3df447c2c14a569fcc18516af4">GLFW_JOYSTICK_11</a>   10</td></tr>
|
|
||||||
<tr class="separator:gae7d26e3df447c2c14a569fcc18516af4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gab91bbf5b7ca6be8d3ac5c4d89ff48ac7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#gab91bbf5b7ca6be8d3ac5c4d89ff48ac7">GLFW_JOYSTICK_12</a>   11</td></tr>
|
|
||||||
<tr class="separator:gab91bbf5b7ca6be8d3ac5c4d89ff48ac7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga5c84fb4e49bf661d7d7c78eb4018c508"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga5c84fb4e49bf661d7d7c78eb4018c508">GLFW_JOYSTICK_13</a>   12</td></tr>
|
|
||||||
<tr class="separator:ga5c84fb4e49bf661d7d7c78eb4018c508"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga89540873278ae5a42b3e70d64164dc74"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga89540873278ae5a42b3e70d64164dc74">GLFW_JOYSTICK_14</a>   13</td></tr>
|
|
||||||
<tr class="separator:ga89540873278ae5a42b3e70d64164dc74"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga7b02ab70daf7a78bcc942d5d4cc1dcf9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga7b02ab70daf7a78bcc942d5d4cc1dcf9">GLFW_JOYSTICK_15</a>   14</td></tr>
|
|
||||||
<tr class="separator:ga7b02ab70daf7a78bcc942d5d4cc1dcf9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga453edeeabf350827646b6857df4f80ce"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga453edeeabf350827646b6857df4f80ce">GLFW_JOYSTICK_16</a>   15</td></tr>
|
|
||||||
<tr class="separator:ga453edeeabf350827646b6857df4f80ce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga9ca13ebf24c331dd98df17d84a4b72c9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joysticks.html#ga9ca13ebf24c331dd98df17d84a4b72c9">GLFW_JOYSTICK_LAST</a>   <a class="el" href="group__joysticks.html#ga453edeeabf350827646b6857df4f80ce">GLFW_JOYSTICK_16</a></td></tr>
|
|
||||||
<tr class="separator:ga9ca13ebf24c331dd98df17d84a4b72c9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="ga34a0443d059e9f22272cd4669073f73d" name="ga34a0443d059e9f22272cd4669073f73d"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga34a0443d059e9f22272cd4669073f73d">◆ </a></span>GLFW_JOYSTICK_1</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_1   0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6eab65ec88e65e0850ef8413504cb50c" name="ga6eab65ec88e65e0850ef8413504cb50c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6eab65ec88e65e0850ef8413504cb50c">◆ </a></span>GLFW_JOYSTICK_2</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_2   1</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gae6f3eedfeb42424c2f5e3161efb0b654" name="gae6f3eedfeb42424c2f5e3161efb0b654"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gae6f3eedfeb42424c2f5e3161efb0b654">◆ </a></span>GLFW_JOYSTICK_3</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_3   2</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga97ddbcad02b7f48d74fad4ddb08fff59" name="ga97ddbcad02b7f48d74fad4ddb08fff59"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga97ddbcad02b7f48d74fad4ddb08fff59">◆ </a></span>GLFW_JOYSTICK_4</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_4   3</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gae43281bc66d3fa5089fb50c3e7a28695" name="gae43281bc66d3fa5089fb50c3e7a28695"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gae43281bc66d3fa5089fb50c3e7a28695">◆ </a></span>GLFW_JOYSTICK_5</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_5   4</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga74771620aa53bd68a487186dea66fd77" name="ga74771620aa53bd68a487186dea66fd77"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga74771620aa53bd68a487186dea66fd77">◆ </a></span>GLFW_JOYSTICK_6</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_6   5</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga20a9f4f3aaefed9ea5e66072fc588b87" name="ga20a9f4f3aaefed9ea5e66072fc588b87"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga20a9f4f3aaefed9ea5e66072fc588b87">◆ </a></span>GLFW_JOYSTICK_7</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_7   6</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga21a934c940bcf25db0e4c8fe9b364bdb" name="ga21a934c940bcf25db0e4c8fe9b364bdb"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga21a934c940bcf25db0e4c8fe9b364bdb">◆ </a></span>GLFW_JOYSTICK_8</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_8   7</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga87689d47df0ba6f9f5fcbbcaf7b3cecf" name="ga87689d47df0ba6f9f5fcbbcaf7b3cecf"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga87689d47df0ba6f9f5fcbbcaf7b3cecf">◆ </a></span>GLFW_JOYSTICK_9</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_9   8</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaef55389ee605d6dfc31aef6fe98c54ec" name="gaef55389ee605d6dfc31aef6fe98c54ec"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaef55389ee605d6dfc31aef6fe98c54ec">◆ </a></span>GLFW_JOYSTICK_10</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_10   9</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gae7d26e3df447c2c14a569fcc18516af4" name="gae7d26e3df447c2c14a569fcc18516af4"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gae7d26e3df447c2c14a569fcc18516af4">◆ </a></span>GLFW_JOYSTICK_11</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_11   10</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gab91bbf5b7ca6be8d3ac5c4d89ff48ac7" name="gab91bbf5b7ca6be8d3ac5c4d89ff48ac7"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gab91bbf5b7ca6be8d3ac5c4d89ff48ac7">◆ </a></span>GLFW_JOYSTICK_12</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_12   11</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga5c84fb4e49bf661d7d7c78eb4018c508" name="ga5c84fb4e49bf661d7d7c78eb4018c508"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga5c84fb4e49bf661d7d7c78eb4018c508">◆ </a></span>GLFW_JOYSTICK_13</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_13   12</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga89540873278ae5a42b3e70d64164dc74" name="ga89540873278ae5a42b3e70d64164dc74"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga89540873278ae5a42b3e70d64164dc74">◆ </a></span>GLFW_JOYSTICK_14</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_14   13</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga7b02ab70daf7a78bcc942d5d4cc1dcf9" name="ga7b02ab70daf7a78bcc942d5d4cc1dcf9"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga7b02ab70daf7a78bcc942d5d4cc1dcf9">◆ </a></span>GLFW_JOYSTICK_15</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_15   14</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga453edeeabf350827646b6857df4f80ce" name="ga453edeeabf350827646b6857df4f80ce"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga453edeeabf350827646b6857df4f80ce">◆ </a></span>GLFW_JOYSTICK_16</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_16   15</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga9ca13ebf24c331dd98df17d84a4b72c9" name="ga9ca13ebf24c331dd98df17d84a4b72c9"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga9ca13ebf24c331dd98df17d84a4b72c9">◆ </a></span>GLFW_JOYSTICK_LAST</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_JOYSTICK_LAST   <a class="el" href="group__joysticks.html#ga453edeeabf350827646b6857df4f80ce">GLFW_JOYSTICK_16</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,198 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Modifier key flags</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#define-members">Macros</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Modifier key flags<div class="ingroups"><a class="el" href="group__input.html">Input reference</a></div></div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>See <a class="el" href="input_guide.html#input_key">key input</a> for how these are used. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:ga14994d3196c290aaa347248e51740274"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#ga14994d3196c290aaa347248e51740274">GLFW_MOD_SHIFT</a>   0x0001</td></tr>
|
|
||||||
<tr class="memdesc:ga14994d3196c290aaa347248e51740274"><td class="mdescLeft"> </td><td class="mdescRight">If this bit is set one or more Shift keys were held down. <br /></td></tr>
|
|
||||||
<tr class="separator:ga14994d3196c290aaa347248e51740274"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6ed94871c3208eefd85713fa929d45aa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#ga6ed94871c3208eefd85713fa929d45aa">GLFW_MOD_CONTROL</a>   0x0002</td></tr>
|
|
||||||
<tr class="memdesc:ga6ed94871c3208eefd85713fa929d45aa"><td class="mdescLeft"> </td><td class="mdescRight">If this bit is set one or more Control keys were held down. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6ed94871c3208eefd85713fa929d45aa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gad2acd5633463c29e07008687ea73c0f4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#gad2acd5633463c29e07008687ea73c0f4">GLFW_MOD_ALT</a>   0x0004</td></tr>
|
|
||||||
<tr class="memdesc:gad2acd5633463c29e07008687ea73c0f4"><td class="mdescLeft"> </td><td class="mdescRight">If this bit is set one or more Alt keys were held down. <br /></td></tr>
|
|
||||||
<tr class="separator:gad2acd5633463c29e07008687ea73c0f4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6b64ba10ea0227cf6f42efd0a220aba1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#ga6b64ba10ea0227cf6f42efd0a220aba1">GLFW_MOD_SUPER</a>   0x0008</td></tr>
|
|
||||||
<tr class="memdesc:ga6b64ba10ea0227cf6f42efd0a220aba1"><td class="mdescLeft"> </td><td class="mdescRight">If this bit is set one or more Super keys were held down. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6b64ba10ea0227cf6f42efd0a220aba1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaefeef8fcf825a6e43e241b337897200f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#gaefeef8fcf825a6e43e241b337897200f">GLFW_MOD_CAPS_LOCK</a>   0x0010</td></tr>
|
|
||||||
<tr class="memdesc:gaefeef8fcf825a6e43e241b337897200f"><td class="mdescLeft"> </td><td class="mdescRight">If this bit is set the Caps Lock key is enabled. <br /></td></tr>
|
|
||||||
<tr class="separator:gaefeef8fcf825a6e43e241b337897200f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga64e020b8a42af8376e944baf61feecbe"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mods.html#ga64e020b8a42af8376e944baf61feecbe">GLFW_MOD_NUM_LOCK</a>   0x0020</td></tr>
|
|
||||||
<tr class="memdesc:ga64e020b8a42af8376e944baf61feecbe"><td class="mdescLeft"> </td><td class="mdescRight">If this bit is set the Num Lock key is enabled. <br /></td></tr>
|
|
||||||
<tr class="separator:ga64e020b8a42af8376e944baf61feecbe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="ga14994d3196c290aaa347248e51740274" name="ga14994d3196c290aaa347248e51740274"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga14994d3196c290aaa347248e51740274">◆ </a></span>GLFW_MOD_SHIFT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOD_SHIFT   0x0001</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If this bit is set one or more Shift keys were held down. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6ed94871c3208eefd85713fa929d45aa" name="ga6ed94871c3208eefd85713fa929d45aa"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6ed94871c3208eefd85713fa929d45aa">◆ </a></span>GLFW_MOD_CONTROL</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOD_CONTROL   0x0002</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If this bit is set one or more Control keys were held down. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gad2acd5633463c29e07008687ea73c0f4" name="gad2acd5633463c29e07008687ea73c0f4"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad2acd5633463c29e07008687ea73c0f4">◆ </a></span>GLFW_MOD_ALT</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOD_ALT   0x0004</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If this bit is set one or more Alt keys were held down. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6b64ba10ea0227cf6f42efd0a220aba1" name="ga6b64ba10ea0227cf6f42efd0a220aba1"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6b64ba10ea0227cf6f42efd0a220aba1">◆ </a></span>GLFW_MOD_SUPER</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOD_SUPER   0x0008</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If this bit is set one or more Super keys were held down. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaefeef8fcf825a6e43e241b337897200f" name="gaefeef8fcf825a6e43e241b337897200f"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaefeef8fcf825a6e43e241b337897200f">◆ </a></span>GLFW_MOD_CAPS_LOCK</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOD_CAPS_LOCK   0x0010</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If this bit is set the Caps Lock key is enabled and the <a class="el" href="input_guide.html#GLFW_LOCK_KEY_MODS">GLFW_LOCK_KEY_MODS</a> input mode is set. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga64e020b8a42af8376e944baf61feecbe" name="ga64e020b8a42af8376e944baf61feecbe"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga64e020b8a42af8376e944baf61feecbe">◆ </a></span>GLFW_MOD_NUM_LOCK</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_MOD_NUM_LOCK   0x0020</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If this bit is set the Num Lock key is enabled and the <a class="el" href="input_guide.html#GLFW_LOCK_KEY_MODS">GLFW_LOCK_KEY_MODS</a> input mode is set. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,848 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Monitor reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#typedef-members">Typedefs</a> |
|
|
||||||
<a href="#func-members">Functions</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Monitor reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>This is the reference documentation for monitor related functions and types. For more task-oriented information, see the <a class="el" href="monitor_guide.html">Monitor guide</a>. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" 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> </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"> </td><td class="mdescRight">Opaque monitor object. <br /></td></tr>
|
|
||||||
<tr class="separator:ga8d9efd1cde9426692c73fe40437d0ae3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaabe16caca8dea952504dfdebdf4cd249"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gaabe16caca8dea952504dfdebdf4cd249">GLFWmonitorfun</a>) (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int event)</td></tr>
|
|
||||||
<tr class="memdesc:gaabe16caca8dea952504dfdebdf4cd249"><td class="mdescLeft"> </td><td class="mdescRight">The function pointer type for monitor configuration callbacks. <br /></td></tr>
|
|
||||||
<tr class="separator:gaabe16caca8dea952504dfdebdf4cd249"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga902c2816ac9b34b757282daab59b2565"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga902c2816ac9b34b757282daab59b2565">GLFWvidmode</a></td></tr>
|
|
||||||
<tr class="memdesc:ga902c2816ac9b34b757282daab59b2565"><td class="mdescLeft"> </td><td class="mdescRight">Video mode type. <br /></td></tr>
|
|
||||||
<tr class="separator:ga902c2816ac9b34b757282daab59b2565"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga939cf093cb0af0498b7b54dc2e181404"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga939cf093cb0af0498b7b54dc2e181404">GLFWgammaramp</a></td></tr>
|
|
||||||
<tr class="memdesc:ga939cf093cb0af0498b7b54dc2e181404"><td class="mdescLeft"> </td><td class="mdescRight">Gamma ramp. <br /></td></tr>
|
|
||||||
<tr class="separator:ga939cf093cb0af0498b7b54dc2e181404"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
||||||
Functions</h2></td></tr>
|
|
||||||
<tr class="memitem:ga70b1156d5d24e9928f145d6c864369d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga70b1156d5d24e9928f145d6c864369d2">glfwGetMonitors</a> (int *count)</td></tr>
|
|
||||||
<tr class="memdesc:ga70b1156d5d24e9928f145d6c864369d2"><td class="mdescLeft"> </td><td class="mdescRight">Returns the currently connected monitors. <br /></td></tr>
|
|
||||||
<tr class="separator:ga70b1156d5d24e9928f145d6c864369d2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac3adb24947eb709e1874028272e5dfc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gac3adb24947eb709e1874028272e5dfc5">glfwGetPrimaryMonitor</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:gac3adb24947eb709e1874028272e5dfc5"><td class="mdescLeft"> </td><td class="mdescRight">Returns the primary monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gac3adb24947eb709e1874028272e5dfc5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga102f54e7acc9149edbcf0997152df8c9"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Returns the position of the monitor's viewport on the virtual screen. <br /></td></tr>
|
|
||||||
<tr class="separator:ga102f54e7acc9149edbcf0997152df8c9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Retrieves the work area of the monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga7d8bffc6c55539286a6bd20d32a8d7ea"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Returns the physical size of the monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga7d8bffc6c55539286a6bd20d32a8d7ea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gad3152e84465fa620b601265ebfcdb21b"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Retrieves the content scale for the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gad3152e84465fa620b601265ebfcdb21b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga7af83e13489d90379588fb331b9e4b68"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga7af83e13489d90379588fb331b9e4b68">glfwGetMonitorName</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:ga7af83e13489d90379588fb331b9e4b68"><td class="mdescLeft"> </td><td class="mdescRight">Returns the name of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga7af83e13489d90379588fb331b9e4b68"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga702750e24313a686d3637297b6e85fda"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Sets the user pointer of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga702750e24313a686d3637297b6e85fda"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1adbfbfb8cd58b23cfee82e574fbbdc5"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga1adbfbfb8cd58b23cfee82e574fbbdc5">glfwGetMonitorUserPointer</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:ga1adbfbfb8cd58b23cfee82e574fbbdc5"><td class="mdescLeft"> </td><td class="mdescRight">Returns the user pointer of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga1adbfbfb8cd58b23cfee82e574fbbdc5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gab39df645587c8518192aa746c2fb06c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#gaabe16caca8dea952504dfdebdf4cd249">GLFWmonitorfun</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">glfwSetMonitorCallback</a> (<a class="el" href="group__monitor.html#gaabe16caca8dea952504dfdebdf4cd249">GLFWmonitorfun</a> callback)</td></tr>
|
|
||||||
<tr class="memdesc:gab39df645587c8518192aa746c2fb06c3"><td class="mdescLeft"> </td><td class="mdescRight">Sets the monitor configuration callback. <br /></td></tr>
|
|
||||||
<tr class="separator:gab39df645587c8518192aa746c2fb06c3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gad2e24d2843cb7d6c26202cddd530fc1b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gad2e24d2843cb7d6c26202cddd530fc1b">glfwGetVideoModes</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int *count)</td></tr>
|
|
||||||
<tr class="memdesc:gad2e24d2843cb7d6c26202cddd530fc1b"><td class="mdescLeft"> </td><td class="mdescRight">Returns the available video modes for the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gad2e24d2843cb7d6c26202cddd530fc1b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaba376fa7e76634b4788bddc505d6c9d5"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5">glfwGetVideoMode</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:gaba376fa7e76634b4788bddc505d6c9d5"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current mode of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gaba376fa7e76634b4788bddc505d6c9d5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6ac582625c990220785ddd34efa3169a"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Generates a gamma ramp and sets it for the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6ac582625c990220785ddd34efa3169a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga76ba90debcf0062b5c4b73052b24f96f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__monitor.html#ga76ba90debcf0062b5c4b73052b24f96f">glfwGetGammaRamp</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:ga76ba90debcf0062b5c4b73052b24f96f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current gamma ramp for the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga76ba90debcf0062b5c4b73052b24f96f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga583f0ffd0d29613d8cd172b996bbf0dd"><td class="memItemLeft" align="right" valign="top">void </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="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a> *ramp)</td></tr>
|
|
||||||
<tr class="memdesc:ga583f0ffd0d29613d8cd172b996bbf0dd"><td class="mdescLeft"> </td><td class="mdescRight">Sets the current gamma ramp for the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga583f0ffd0d29613d8cd172b996bbf0dd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Typedef Documentation</h2>
|
|
||||||
<a id="ga8d9efd1cde9426692c73fe40437d0ae3" name="ga8d9efd1cde9426692c73fe40437d0ae3"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8d9efd1cde9426692c73fe40437d0ae3">◆ </a></span>GLFWmonitor</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef struct <a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> <a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>Opaque monitor object.</p>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_object">Monitor objects</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaabe16caca8dea952504dfdebdf4cd249" name="gaabe16caca8dea952504dfdebdf4cd249"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaabe16caca8dea952504dfdebdf4cd249">◆ </a></span>GLFWmonitorfun</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef void(* GLFWmonitorfun) (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, int event)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<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 hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* monitor, <span class="keywordtype">int</span> event)</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:1423</div></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>. 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#gab39df645587c8518192aa746c2fb06c3">glfwSetMonitorCallback</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga902c2816ac9b34b757282daab59b2565" name="ga902c2816ac9b34b757282daab59b2565"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga902c2816ac9b34b757282daab59b2565">◆ </a></span>GLFWvidmode</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef struct <a class="el" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a> <a class="el" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This describes a single video mode.</p>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_modes">Video modes</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5">glfwGetVideoMode</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#gad2e24d2843cb7d6c26202cddd530fc1b">glfwGetVideoModes</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. <b>GLFW 3:</b> Added refresh rate member. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga939cf093cb0af0498b7b54dc2e181404" name="ga939cf093cb0af0498b7b54dc2e181404"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga939cf093cb0af0498b7b54dc2e181404">◆ </a></span>GLFWgammaramp</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef struct <a class="el" href="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a> <a class="el" href="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This describes the gamma ramp for a monitor.</p>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_gamma">Gamma ramp</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#ga76ba90debcf0062b5c4b73052b24f96f">glfwGetGammaRamp</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2 class="groupheader">Function Documentation</h2>
|
|
||||||
<a id="ga70b1156d5d24e9928f145d6c864369d2" name="ga70b1156d5d24e9928f145d6c864369d2"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga70b1156d5d24e9928f145d6c864369d2">◆ </a></span>glfwGetMonitors()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> ** glfwGetMonitors </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>count</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns an array of handles for all currently connected monitors. The primary monitor is always first in the returned array. If no monitors were found, this function returns <code>NULL</code>.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">count</td><td>Where to store the number of monitors in the returned array. This is set to zero if an error occurred. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>An array of monitor handles, or <code>NULL</code> if no monitors were found or 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>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 monitor configuration changes 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_monitors">Retrieving monitors</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="monitor_guide.html#monitor_event">Monitor configuration changes</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#gac3adb24947eb709e1874028272e5dfc5">glfwGetPrimaryMonitor</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gac3adb24947eb709e1874028272e5dfc5" name="gac3adb24947eb709e1874028272e5dfc5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gac3adb24947eb709e1874028272e5dfc5">◆ </a></span>glfwGetPrimaryMonitor()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * glfwGetPrimaryMonitor </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the primary monitor. This is usually the monitor where elements like the task bar or global menu bar are located.</p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The primary monitor, or <code>NULL</code> if no monitors were found or 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 must only be called from the main thread.</dd></dl>
|
|
||||||
<dl class="section remark"><dt>Remarks</dt><dd>The primary monitor is always first in the array returned by <a class="el" href="group__monitor.html#ga70b1156d5d24e9928f145d6c864369d2">glfwGetMonitors</a>.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_monitors">Retrieving monitors</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#ga70b1156d5d24e9928f145d6c864369d2">glfwGetMonitors</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga102f54e7acc9149edbcf0997152df8c9" name="ga102f54e7acc9149edbcf0997152df8c9"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga102f54e7acc9149edbcf0997152df8c9">◆ </a></span>glfwGetMonitorPos()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwGetMonitorPos </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>xpos</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>ypos</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the position, in screen coordinates, of the upper-left corner of the specified monitor.</p>
|
|
||||||
<p>Any or all of the position arguments may be <code>NULL</code>. If an error occurs, all non-<code>NULL</code> position arguments will be set to zero.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to query. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">xpos</td><td>Where to store the monitor x-coordinate, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">ypos</td><td>Where to store the monitor y-coordinate, or <code>NULL</code>.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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>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_properties">Monitor properties</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0" name="ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">◆ </a></span>glfwGetMonitorWorkarea()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwGetMonitorWorkarea </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>xpos</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>ypos</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>width</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>height</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the position, in screen coordinates, of the upper-left corner of the work area of the specified monitor along with the work area size in screen coordinates. The work area is defined as the area of the monitor not occluded by the window system task bar where present. If no task bar exists then the work area is the monitor resolution in screen coordinates.</p>
|
|
||||||
<p>Any or all of the position and size arguments may be <code>NULL</code>. If an error occurs, all non-<code>NULL</code> position and size arguments will be set to zero.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to query. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">xpos</td><td>Where to store the monitor x-coordinate, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">ypos</td><td>Where to store the monitor y-coordinate, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">width</td><td>Where to store the monitor width, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">height</td><td>Where to store the monitor height, or <code>NULL</code>.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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>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_workarea">Work area</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga7d8bffc6c55539286a6bd20d32a8d7ea" name="ga7d8bffc6c55539286a6bd20d32a8d7ea"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga7d8bffc6c55539286a6bd20d32a8d7ea">◆ </a></span>glfwGetMonitorPhysicalSize()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwGetMonitorPhysicalSize </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>widthMM</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>heightMM</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the size, in millimetres, of the display area of the specified monitor.</p>
|
|
||||||
<p>Some platforms do not provide accurate monitor size information, either because the monitor <a href="https://en.wikipedia.org/wiki/Extended_display_identification_data">EDID</a> data is incorrect or because the driver does not report it accurately.</p>
|
|
||||||
<p>Any or all of the size arguments may be <code>NULL</code>. If an error occurs, all non-<code>NULL</code> size arguments will be set to zero.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to query. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">widthMM</td><td>Where to store the width, in millimetres, of the monitor's display area, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">heightMM</td><td>Where to store the height, in millimetres, of the monitor's display area, or <code>NULL</code>.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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>Windows:</b> On Windows 8 and earlier the physical size is calculated from the current resolution and system DPI instead of querying the monitor EDID data.</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_properties">Monitor properties</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gad3152e84465fa620b601265ebfcdb21b" name="gad3152e84465fa620b601265ebfcdb21b"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad3152e84465fa620b601265ebfcdb21b">◆ </a></span>glfwGetMonitorContentScale()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwGetMonitorContentScale </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">float * </td>
|
|
||||||
<td class="paramname"><em>xscale</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">float * </td>
|
|
||||||
<td class="paramname"><em>yscale</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function retrieves the content scale for the specified monitor. The content scale is the ratio between the current DPI and the platform's default DPI. This is especially important for text and any UI elements. If the pixel dimensions of your UI scaled by this look appropriate on your machine then it should appear at a reasonable size on other machines regardless of their DPI and scaling settings. This relies on the system DPI and scaling settings being somewhat correct.</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>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to query. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">xscale</td><td>Where to store the x-axis content scale, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">yscale</td><td>Where to store the y-axis content scale, or <code>NULL</code>.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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>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_scale">Content scale</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__window.html#gaf5d31de9c19c4f994facea64d2b3106c">glfwGetWindowContentScale</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga7af83e13489d90379588fb331b9e4b68" name="ga7af83e13489d90379588fb331b9e4b68"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga7af83e13489d90379588fb331b9e4b68">◆ </a></span>glfwGetMonitorName()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const char * glfwGetMonitorName </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns a human-readable name, encoded as UTF-8, of the specified monitor. The name typically reflects the make and model of the monitor and is not guaranteed to be unique among the connected monitors.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to query. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The UTF-8 encoded name of the monitor, 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>.</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 specified monitor is disconnected 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_properties">Monitor properties</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga702750e24313a686d3637297b6e85fda" name="ga702750e24313a686d3637297b6e85fda"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga702750e24313a686d3637297b6e85fda">◆ </a></span>glfwSetMonitorUserPointer()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwSetMonitorUserPointer </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">void * </td>
|
|
||||||
<td class="paramname"><em>pointer</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function sets the user-defined pointer of the specified monitor. The current value is retained until the monitor is disconnected. The initial value is <code>NULL</code>.</p>
|
|
||||||
<p>This function may be called from the monitor callback, even for a monitor that is being disconnected.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor whose pointer to set. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">pointer</td><td>The new value.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_userptr">User pointer</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#ga1adbfbfb8cd58b23cfee82e574fbbdc5">glfwGetMonitorUserPointer</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga1adbfbfb8cd58b23cfee82e574fbbdc5" name="ga1adbfbfb8cd58b23cfee82e574fbbdc5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga1adbfbfb8cd58b23cfee82e574fbbdc5">◆ </a></span>glfwGetMonitorUserPointer()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void * glfwGetMonitorUserPointer </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the current value of the user-defined pointer of the specified monitor. The initial value is <code>NULL</code>.</p>
|
|
||||||
<p>This function may be called from the monitor callback, even for a monitor that is being disconnected.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor whose pointer to return.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="monitor_guide.html#monitor_userptr">User pointer</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#ga702750e24313a686d3637297b6e85fda">glfwSetMonitorUserPointer</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gab39df645587c8518192aa746c2fb06c3" name="gab39df645587c8518192aa746c2fb06c3"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gab39df645587c8518192aa746c2fb06c3">◆ </a></span>glfwSetMonitorCallback()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="group__monitor.html#gaabe16caca8dea952504dfdebdf4cd249">GLFWmonitorfun</a> glfwSetMonitorCallback </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#gaabe16caca8dea952504dfdebdf4cd249">GLFWmonitorfun</a> </td>
|
|
||||||
<td class="paramname"><em>callback</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<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">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 hl_typedef" 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#gaabe16caca8dea952504dfdebdf4cd249">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>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gad2e24d2843cb7d6c26202cddd530fc1b" name="gad2e24d2843cb7d6c26202cddd530fc1b"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad2e24d2843cb7d6c26202cddd530fc1b">◆ </a></span>glfwGetVideoModes()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const <a class="el" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a> * glfwGetVideoModes </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>count</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns an array of all video modes supported by the specified monitor. The returned array is sorted in ascending order, first by color bit depth (the sum of all channel depths), then by resolution area (the product of width and height), then resolution width and finally by refresh rate.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to query. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">count</td><td>Where to store the number of video modes in the returned array. This is set to zero if an error occurred. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>An array of video modes, 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 user"><dt>Pointer lifetime</dt><dd>The returned array is allocated and freed by GLFW. You should not free it yourself. It is valid until the specified monitor is disconnected, this function is called again for that monitor or the library is terminated.</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_modes">Video modes</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5">glfwGetVideoMode</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 1.0. <b>GLFW 3:</b> Changed to return an array of modes for a specific monitor. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaba376fa7e76634b4788bddc505d6c9d5" name="gaba376fa7e76634b4788bddc505d6c9d5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaba376fa7e76634b4788bddc505d6c9d5">◆ </a></span>glfwGetVideoMode()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const <a class="el" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a> * glfwGetVideoMode </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the current video mode of the specified monitor. If you have created a full screen window for that monitor, the return value will depend on whether that window is iconified.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to query. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The current mode of the monitor, 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 user"><dt>Pointer lifetime</dt><dd>The returned array is allocated and freed by GLFW. You should not free it yourself. It is valid until the specified monitor is disconnected or the library is terminated.</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_modes">Video modes</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__monitor.html#gad2e24d2843cb7d6c26202cddd530fc1b">glfwGetVideoModes</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. Replaces <code>glfwGetDesktopMode</code>. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6ac582625c990220785ddd34efa3169a" name="ga6ac582625c990220785ddd34efa3169a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6ac582625c990220785ddd34efa3169a">◆ </a></span>glfwSetGamma()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwSetGamma </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">float </td>
|
|
||||||
<td class="paramname"><em>gamma</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function generates an appropriately sized gamma ramp from the specified exponent and then calls <a class="el" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a> with it. The value must be a finite number greater than zero.</p>
|
|
||||||
<p>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.</p>
|
|
||||||
<p>For gamma correct rendering with OpenGL or OpenGL ES, see the <a class="el" href="window_guide.html#GLFW_SRGB_CAPABLE">GLFW_SRGB_CAPABLE</a> hint.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor whose gamma ramp to set. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">gamma</td><td>The desired exponent.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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>, <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a> and <a class="el" href="group__errors.html#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</a> (see remarks).</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#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</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>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga76ba90debcf0062b5c4b73052b24f96f" name="ga76ba90debcf0062b5c4b73052b24f96f"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga76ba90debcf0062b5c4b73052b24f96f">◆ </a></span>glfwGetGammaRamp()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const <a class="el" href="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a> * glfwGetGammaRamp </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the current gamma ramp of the specified monitor.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to query. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</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>, <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a> and <a class="el" href="group__errors.html#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</a> (see remarks).</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#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</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>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga583f0ffd0d29613d8cd172b996bbf0dd" name="ga583f0ffd0d29613d8cd172b996bbf0dd"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga583f0ffd0d29613d8cd172b996bbf0dd">◆ </a></span>glfwSetGammaRamp()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwSetGammaRamp </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">const <a class="el" href="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a> * </td>
|
|
||||||
<td class="paramname"><em>ramp</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function sets the current gamma ramp for the specified monitor. The original gamma ramp for that monitor is saved by GLFW the first time this function is called and is restored by <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>.</p>
|
|
||||||
<p>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.</p>
|
|
||||||
<p>For gamma correct rendering with OpenGL or OpenGL ES, see the <a class="el" href="window_guide.html#GLFW_SRGB_CAPABLE">GLFW_SRGB_CAPABLE</a> hint.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor whose gamma ramp to set. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">ramp</td><td>The gamma ramp to use.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a> and <a class="el" href="group__errors.html#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</a> (see remarks).</dd></dl>
|
|
||||||
<dl class="section remark"><dt>Remarks</dt><dd>The size of the specified gamma ramp should match the size of the current ramp for that monitor.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>Windows:</b> The gamma ramp size must be 256.</dd>
|
|
||||||
<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#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</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>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,812 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Native access</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#func-members">Functions</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Native access</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p><b>By using the native access functions you assert that you know what you're doing and how to fix problems caused by using them. If you don't, you shouldn't be using them.</b></p>
|
|
||||||
<p>Before the inclusion of <a class="el" href="glfw3native_8h.html">glfw3native.h</a>, you may define zero or more window system API macro and zero or more context creation API macros.</p>
|
|
||||||
<p>The chosen backends must match those the library was compiled for. Failure to do this will cause a link-time error.</p>
|
|
||||||
<p>The available window API macros are:</p><ul>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_WIN32</code></li>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_COCOA</code></li>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_X11</code></li>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_WAYLAND</code></li>
|
|
||||||
</ul>
|
|
||||||
<p>The available context API macros are:</p><ul>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_WGL</code></li>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_NSGL</code></li>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_GLX</code></li>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_EGL</code></li>
|
|
||||||
<li><code>GLFW_EXPOSE_NATIVE_OSMESA</code></li>
|
|
||||||
</ul>
|
|
||||||
<p>These macros select which of the native access functions that are declared and which platform-specific headers to include. It is then up your (by definition platform-specific) code to handle which of these should be defined.</p>
|
|
||||||
<p>If you do not want the platform-specific headers to be included, define <code>GLFW_NATIVE_INCLUDE_NONE</code> before including the <a class="el" href="glfw3native_8h.html">glfw3native.h</a> header.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_EXPOSE_NATIVE_WIN32</span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#define GLFW_EXPOSE_NATIVE_WGL</span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#define GLFW_NATIVE_INCLUDE_NONE</span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <<a class="code" href="glfw3native_8h.html">GLFW/glfw3native.h</a>></span></div>
|
|
||||||
<div class="ttc" id="aglfw3native_8h_html"><div class="ttname"><a href="glfw3native_8h.html">glfw3native.h</a></div><div class="ttdoc">The header of the native access functions.</div></div>
|
|
||||||
</div><!-- fragment --> <table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
||||||
Functions</h2></td></tr>
|
|
||||||
<tr class="memitem:gad4d3e9242536c0ba6be88a98f4c73a41"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gad4d3e9242536c0ba6be88a98f4c73a41">glfwGetWin32Adapter</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:gad4d3e9242536c0ba6be88a98f4c73a41"><td class="mdescLeft"> </td><td class="mdescRight">Returns the adapter device name of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gad4d3e9242536c0ba6be88a98f4c73a41"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac845f7dbe4c1d7fdd682a3c6fdae6766"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gac845f7dbe4c1d7fdd682a3c6fdae6766">glfwGetWin32Monitor</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:gac845f7dbe4c1d7fdd682a3c6fdae6766"><td class="mdescLeft"> </td><td class="mdescRight">Returns the display device name of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gac845f7dbe4c1d7fdd682a3c6fdae6766"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gafe5079aa79038b0079fc09d5f0a8e667"><td class="memItemLeft" align="right" valign="top">HWND </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"> </td><td class="mdescRight">Returns the <code>HWND</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:gafe5079aa79038b0079fc09d5f0a8e667"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gadc4010d91d9cc1134d040eeb1202a143"><td class="memItemLeft" align="right" valign="top">HGLRC </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"> </td><td class="mdescRight">Returns the <code>HGLRC</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:gadc4010d91d9cc1134d040eeb1202a143"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaf22f429aec4b1aab316142d66d9be3e6"><td class="memItemLeft" align="right" valign="top">CGDirectDisplayID </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"> </td><td class="mdescRight">Returns the <code>CGDirectDisplayID</code> of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gaf22f429aec4b1aab316142d66d9be3e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gac3ed9d495d0c2bb9652de5a50c648715"><td class="memItemLeft" align="right" valign="top">id </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"> </td><td class="mdescRight">Returns the <code>NSWindow</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:gac3ed9d495d0c2bb9652de5a50c648715"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga559e002e3cd63c979881770cd4dc63bc"><td class="memItemLeft" align="right" valign="top">id </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"> </td><td class="mdescRight">Returns the <code>NSOpenGLContext</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga559e002e3cd63c979881770cd4dc63bc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6e7822385cc8a1cc3b18f60352830189"><td class="memItemLeft" align="right" valign="top">Display * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga6e7822385cc8a1cc3b18f60352830189">glfwGetX11Display</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:ga6e7822385cc8a1cc3b18f60352830189"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <code>Display</code> used by GLFW. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6e7822385cc8a1cc3b18f60352830189"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga088fbfa80f50569402b41be71ad66e40"><td class="memItemLeft" align="right" valign="top">RRCrtc </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"> </td><td class="mdescRight">Returns the <code>RRCrtc</code> of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga088fbfa80f50569402b41be71ad66e40"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gab2f8cc043905e9fa9b12bfdbbcfe874c"><td class="memItemLeft" align="right" valign="top">RROutput </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"> </td><td class="mdescRight">Returns the <code>RROutput</code> of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:gab2f8cc043905e9fa9b12bfdbbcfe874c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga90ca676322740842db446999a1b1f21d"><td class="memItemLeft" align="right" valign="top">Window </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"> </td><td class="mdescRight">Returns the <code>Window</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga90ca676322740842db446999a1b1f21d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga55f879ab02d93367f966186b6f0133f7"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Sets the current primary selection to the specified string. <br /></td></tr>
|
|
||||||
<tr class="separator:ga55f879ab02d93367f966186b6f0133f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gae084ef64dc0db140b455b1427256d3f7"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gae084ef64dc0db140b455b1427256d3f7">glfwGetX11SelectionString</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:gae084ef64dc0db140b455b1427256d3f7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the contents of the current primary selection as a string. <br /></td></tr>
|
|
||||||
<tr class="separator:gae084ef64dc0db140b455b1427256d3f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga62d884114b0abfcdc2930e89f20867e2"><td class="memItemLeft" align="right" valign="top">GLXContext </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"> </td><td class="mdescRight">Returns the <code>GLXContext</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga62d884114b0abfcdc2930e89f20867e2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1ed27b8766e859a21381e8f8ce18d049"><td class="memItemLeft" align="right" valign="top">GLXWindow </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"> </td><td class="mdescRight">Returns the <code>GLXWindow</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga1ed27b8766e859a21381e8f8ce18d049"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gacbe11f93ce20621de82989bbba94e62a"><td class="memItemLeft" align="right" valign="top">struct wl_display * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#gacbe11f93ce20621de82989bbba94e62a">glfwGetWaylandDisplay</a> (void)</td></tr>
|
|
||||||
<tr class="memdesc:gacbe11f93ce20621de82989bbba94e62a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <code>struct wl_display*</code> used by GLFW. <br /></td></tr>
|
|
||||||
<tr class="separator:gacbe11f93ce20621de82989bbba94e62a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga4f16066bd4c59e2f99418adfcb43dd16"><td class="memItemLeft" align="right" valign="top">struct wl_output * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga4f16066bd4c59e2f99418adfcb43dd16">glfwGetWaylandMonitor</a> (<a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor)</td></tr>
|
|
||||||
<tr class="memdesc:ga4f16066bd4c59e2f99418adfcb43dd16"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <code>struct wl_output*</code> of the specified monitor. <br /></td></tr>
|
|
||||||
<tr class="separator:ga4f16066bd4c59e2f99418adfcb43dd16"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga5c597f2841229d9626f0811cca41ceb3"><td class="memItemLeft" align="right" valign="top">struct wl_surface * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__native.html#ga5c597f2841229d9626f0811cca41ceb3">glfwGetWaylandWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
|
|
||||||
<tr class="memdesc:ga5c597f2841229d9626f0811cca41ceb3"><td class="mdescLeft"> </td><td class="mdescRight">Returns the main <code>struct wl_surface*</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga5c597f2841229d9626f0811cca41ceb3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1cd8d973f47aacb5532d368147cc3138"><td class="memItemLeft" align="right" valign="top">EGLDisplay </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"> </td><td class="mdescRight">Returns the <code>EGLDisplay</code> used by GLFW. <br /></td></tr>
|
|
||||||
<tr class="separator:ga1cd8d973f47aacb5532d368147cc3138"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga671c5072becd085f4ab5771a9c8efcf1"><td class="memItemLeft" align="right" valign="top">EGLContext </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"> </td><td class="mdescRight">Returns the <code>EGLContext</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga671c5072becd085f4ab5771a9c8efcf1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga2199b36117a6a695fec8441d8052eee6"><td class="memItemLeft" align="right" valign="top">EGLSurface </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"> </td><td class="mdescRight">Returns the <code>EGLSurface</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga2199b36117a6a695fec8441d8052eee6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga3b36e3e3dcf308b776427b6bd73cc132"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Retrieves the color buffer associated with the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga3b36e3e3dcf308b776427b6bd73cc132"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga6b64039ffc88a7a2f57f0956c0c75d53"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Retrieves the depth buffer associated with the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga6b64039ffc88a7a2f57f0956c0c75d53"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga9e47700080094eb569cb053afaa88773"><td class="memItemLeft" align="right" valign="top">OSMesaContext </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"> </td><td class="mdescRight">Returns the <code>OSMesaContext</code> of the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga9e47700080094eb569cb053afaa88773"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Function Documentation</h2>
|
|
||||||
<a id="gad4d3e9242536c0ba6be88a98f4c73a41" name="gad4d3e9242536c0ba6be88a98f4c73a41"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gad4d3e9242536c0ba6be88a98f4c73a41">◆ </a></span>glfwGetWin32Adapter()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const char * glfwGetWin32Adapter </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The UTF-8 encoded adapter device name (for example <code>\\.\DISPLAY1</code>) of the specified monitor, 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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.1. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gac845f7dbe4c1d7fdd682a3c6fdae6766" name="gac845f7dbe4c1d7fdd682a3c6fdae6766"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gac845f7dbe4c1d7fdd682a3c6fdae6766">◆ </a></span>glfwGetWin32Monitor()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const char * glfwGetWin32Monitor </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The UTF-8 encoded display device name (for example <code>\\.\DISPLAY1\Monitor0</code>) of the specified monitor, 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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.1. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gafe5079aa79038b0079fc09d5f0a8e667" name="gafe5079aa79038b0079fc09d5f0a8e667"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gafe5079aa79038b0079fc09d5f0a8e667">◆ </a></span>glfwGetWin32Window()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">HWND glfwGetWin32Window </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>HWND</code> of the specified window, 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>.</dd></dl>
|
|
||||||
<dl class="section remark"><dt>Remarks</dt><dd>The <code>HDC</code> associated with the window can be queried with the <a href="https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc">GetDC</a> function. <div class="fragment"><div class="line">HDC dc = GetDC(<a class="code hl_function" href="group__native.html#gafe5079aa79038b0079fc09d5f0a8e667">glfwGetWin32Window</a>(window));</div>
|
|
||||||
<div class="ttc" id="agroup__native_html_gafe5079aa79038b0079fc09d5f0a8e667"><div class="ttname"><a href="group__native.html#gafe5079aa79038b0079fc09d5f0a8e667">glfwGetWin32Window</a></div><div class="ttdeci">HWND glfwGetWin32Window(GLFWwindow *window)</div><div class="ttdoc">Returns the HWND of the specified window.</div></div>
|
|
||||||
</div><!-- fragment --> This DC is private and does not need to be released.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gadc4010d91d9cc1134d040eeb1202a143" name="gadc4010d91d9cc1134d040eeb1202a143"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gadc4010d91d9cc1134d040eeb1202a143">◆ </a></span>glfwGetWGLContext()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">HGLRC glfwGetWGLContext </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>HGLRC</code> of the specified window, 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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a>.</dd></dl>
|
|
||||||
<dl class="section remark"><dt>Remarks</dt><dd>The <code>HDC</code> associated with the window can be queried with the <a href="https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc">GetDC</a> function. <div class="fragment"><div class="line">HDC dc = GetDC(<a class="code hl_function" href="group__native.html#gafe5079aa79038b0079fc09d5f0a8e667">glfwGetWin32Window</a>(window));</div>
|
|
||||||
</div><!-- fragment --> This DC is private and does not need to be released.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaf22f429aec4b1aab316142d66d9be3e6" name="gaf22f429aec4b1aab316142d66d9be3e6"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaf22f429aec4b1aab316142d66d9be3e6">◆ </a></span>glfwGetCocoaMonitor()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">CGDirectDisplayID glfwGetCocoaMonitor </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>CGDirectDisplayID</code> of the specified monitor, or <code>kCGNullDirectDisplay</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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.1. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gac3ed9d495d0c2bb9652de5a50c648715" name="gac3ed9d495d0c2bb9652de5a50c648715"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gac3ed9d495d0c2bb9652de5a50c648715">◆ </a></span>glfwGetCocoaWindow()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">id glfwGetCocoaWindow </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>NSWindow</code> of the specified window, or <code>nil</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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga559e002e3cd63c979881770cd4dc63bc" name="ga559e002e3cd63c979881770cd4dc63bc"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga559e002e3cd63c979881770cd4dc63bc">◆ </a></span>glfwGetNSGLContext()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">id glfwGetNSGLContext </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>NSOpenGLContext</code> of the specified window, or <code>nil</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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6e7822385cc8a1cc3b18f60352830189" name="ga6e7822385cc8a1cc3b18f60352830189"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6e7822385cc8a1cc3b18f60352830189">◆ </a></span>glfwGetX11Display()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">Display * glfwGetX11Display </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>Display</code> used by GLFW, 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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga088fbfa80f50569402b41be71ad66e40" name="ga088fbfa80f50569402b41be71ad66e40"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga088fbfa80f50569402b41be71ad66e40">◆ </a></span>glfwGetX11Adapter()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">RRCrtc glfwGetX11Adapter </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>RRCrtc</code> of the specified monitor, or <code>None</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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.1. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gab2f8cc043905e9fa9b12bfdbbcfe874c" name="gab2f8cc043905e9fa9b12bfdbbcfe874c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gab2f8cc043905e9fa9b12bfdbbcfe874c">◆ </a></span>glfwGetX11Monitor()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">RROutput glfwGetX11Monitor </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>RROutput</code> of the specified monitor, or <code>None</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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.1. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga90ca676322740842db446999a1b1f21d" name="ga90ca676322740842db446999a1b1f21d"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga90ca676322740842db446999a1b1f21d">◆ </a></span>glfwGetX11Window()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">Window glfwGetX11Window </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>Window</code> of the specified window, or <code>None</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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga55f879ab02d93367f966186b6f0133f7" name="ga55f879ab02d93367f966186b6f0133f7"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga55f879ab02d93367f966186b6f0133f7">◆ </a></span>glfwSetX11SelectionString()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void glfwSetX11SelectionString </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">const char * </td>
|
|
||||||
<td class="paramname"><em>string</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">string</td><td>A UTF-8 encoded string.</td></tr>
|
|
||||||
</table>
|
|
||||||
</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 specified string 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="input_guide.html#clipboard">Clipboard input and output</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__native.html#gae084ef64dc0db140b455b1427256d3f7" title="Returns the contents of the current primary selection as a string.">glfwGetX11SelectionString</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd" title="Sets the clipboard to the specified string.">glfwSetClipboardString</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gae084ef64dc0db140b455b1427256d3f7" name="gae084ef64dc0db140b455b1427256d3f7"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gae084ef64dc0db140b455b1427256d3f7">◆ </a></span>glfwGetX11SelectionString()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const char * glfwGetX11SelectionString </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>If the selection is empty or if its contents cannot be converted, <code>NULL</code> is returned and a <a class="el" href="group__errors.html#ga196e125ef261d94184e2b55c05762f14">GLFW_FORMAT_UNAVAILABLE</a> error is generated.</p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The contents of the selection as a UTF-8 encoded string, 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 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__native.html#gae084ef64dc0db140b455b1427256d3f7">glfwGetX11SelectionString</a> or <a class="el" href="group__native.html#ga55f879ab02d93367f966186b6f0133f7">glfwSetX11SelectionString</a>, or 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#clipboard">Clipboard input and output</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__native.html#ga55f879ab02d93367f966186b6f0133f7" title="Sets the current primary selection to the specified string.">glfwSetX11SelectionString</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__input.html#ga71a5b20808ea92193d65c21b82580355" title="Returns the contents of the clipboard as a string.">glfwGetClipboardString</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga62d884114b0abfcdc2930e89f20867e2" name="ga62d884114b0abfcdc2930e89f20867e2"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga62d884114b0abfcdc2930e89f20867e2">◆ </a></span>glfwGetGLXContext()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">GLXContext glfwGetGLXContext </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>GLXContext</code> of the specified window, 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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga1ed27b8766e859a21381e8f8ce18d049" name="ga1ed27b8766e859a21381e8f8ce18d049"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga1ed27b8766e859a21381e8f8ce18d049">◆ </a></span>glfwGetGLXWindow()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">GLXWindow glfwGetGLXWindow </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>GLXWindow</code> of the specified window, or <code>None</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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gacbe11f93ce20621de82989bbba94e62a" name="gacbe11f93ce20621de82989bbba94e62a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gacbe11f93ce20621de82989bbba94e62a">◆ </a></span>glfwGetWaylandDisplay()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">struct wl_display * glfwGetWaylandDisplay </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>struct wl_display*</code> used by GLFW, 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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga4f16066bd4c59e2f99418adfcb43dd16" name="ga4f16066bd4c59e2f99418adfcb43dd16"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga4f16066bd4c59e2f99418adfcb43dd16">◆ </a></span>glfwGetWaylandMonitor()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">struct wl_output * glfwGetWaylandMonitor </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> * </td>
|
|
||||||
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>struct wl_output*</code> of the specified monitor, 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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga5c597f2841229d9626f0811cca41ceb3" name="ga5c597f2841229d9626f0811cca41ceb3"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga5c597f2841229d9626f0811cca41ceb3">◆ </a></span>glfwGetWaylandWindow()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">struct wl_surface * glfwGetWaylandWindow </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The main <code>struct wl_surface*</code> of the specified window, 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>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga1cd8d973f47aacb5532d368147cc3138" name="ga1cd8d973f47aacb5532d368147cc3138"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga1cd8d973f47aacb5532d368147cc3138">◆ </a></span>glfwGetEGLDisplay()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">EGLDisplay glfwGetEGLDisplay </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>EGLDisplay</code> used by GLFW, or <code>EGL_NO_DISPLAY</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>.</dd></dl>
|
|
||||||
<dl class="section remark"><dt>Remarks</dt><dd>Because EGL is initialized on demand, this function will return <code>EGL_NO_DISPLAY</code> until the first context has been created via EGL.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga671c5072becd085f4ab5771a9c8efcf1" name="ga671c5072becd085f4ab5771a9c8efcf1"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga671c5072becd085f4ab5771a9c8efcf1">◆ </a></span>glfwGetEGLContext()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">EGLContext glfwGetEGLContext </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>EGLContext</code> of the specified window, or <code>EGL_NO_CONTEXT</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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga2199b36117a6a695fec8441d8052eee6" name="ga2199b36117a6a695fec8441d8052eee6"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga2199b36117a6a695fec8441d8052eee6">◆ </a></span>glfwGetEGLSurface()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">EGLSurface glfwGetEGLSurface </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>EGLSurface</code> of the specified window, or <code>EGL_NO_SURFACE</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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.0. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga3b36e3e3dcf308b776427b6bd73cc132" name="ga3b36e3e3dcf308b776427b6bd73cc132"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga3b36e3e3dcf308b776427b6bd73cc132">◆ </a></span>glfwGetOSMesaColorBuffer()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwGetOSMesaColorBuffer </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>width</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>height</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>format</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">void ** </td>
|
|
||||||
<td class="paramname"><em>buffer</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<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 color buffer to retrieve. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">width</td><td>Where to store the width of the color buffer, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">height</td><td>Where to store the height of the color buffer, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">format</td><td>Where to store the OSMesa pixel format of the color buffer, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>Where to store the address of the color buffer, or <code>NULL</code>. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd><code>GLFW_TRUE</code> if successful, or <code>GLFW_FALSE</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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga6b64039ffc88a7a2f57f0956c0c75d53" name="ga6b64039ffc88a7a2f57f0956c0c75d53"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6b64039ffc88a7a2f57f0956c0c75d53">◆ </a></span>glfwGetOSMesaDepthBuffer()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwGetOSMesaDepthBuffer </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>width</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>height</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">int * </td>
|
|
||||||
<td class="paramname"><em>bytesPerValue</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">void ** </td>
|
|
||||||
<td class="paramname"><em>buffer</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<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 depth buffer to retrieve. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">width</td><td>Where to store the width of the depth buffer, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">height</td><td>Where to store the height of the depth buffer, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">bytesPerValue</td><td>Where to store the number of bytes per depth buffer element, or <code>NULL</code>. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>Where to store the address of the depth buffer, or <code>NULL</code>. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd><code>GLFW_TRUE</code> if successful, or <code>GLFW_FALSE</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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga9e47700080094eb569cb053afaa88773" name="ga9e47700080094eb569cb053afaa88773"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga9e47700080094eb569cb053afaa88773">◆ </a></span>glfwGetOSMesaContext()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">OSMesaContext glfwGetOSMesaContext </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The <code>OSMesaContext</code> of the specified window, 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#gacff24d2757da752ae4c80bf452356487">GLFW_NO_WINDOW_CONTEXT</a> and <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. Access is not synchronized.</dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.3. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,337 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Standard cursor shapes</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#define-members">Macros</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Standard cursor shapes<div class="ingroups"><a class="el" href="group__input.html">Input reference</a></div></div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>These are the <a class="el" href="input_guide.html#cursor_standard">standard cursor shapes</a> that can be requested from the platform (window system). </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:ga8ab0e717245b85506cb0eaefdea39d0a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga8ab0e717245b85506cb0eaefdea39d0a">GLFW_ARROW_CURSOR</a>   0x00036001</td></tr>
|
|
||||||
<tr class="memdesc:ga8ab0e717245b85506cb0eaefdea39d0a"><td class="mdescLeft"> </td><td class="mdescRight">The regular arrow cursor shape. <br /></td></tr>
|
|
||||||
<tr class="separator:ga8ab0e717245b85506cb0eaefdea39d0a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga36185f4375eaada1b04e431244774c86"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga36185f4375eaada1b04e431244774c86">GLFW_IBEAM_CURSOR</a>   0x00036002</td></tr>
|
|
||||||
<tr class="memdesc:ga36185f4375eaada1b04e431244774c86"><td class="mdescLeft"> </td><td class="mdescRight">The text input I-beam cursor shape. <br /></td></tr>
|
|
||||||
<tr class="separator:ga36185f4375eaada1b04e431244774c86"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga8af88c0ea05ab9e8f9ac1530e8873c22"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga8af88c0ea05ab9e8f9ac1530e8873c22">GLFW_CROSSHAIR_CURSOR</a>   0x00036003</td></tr>
|
|
||||||
<tr class="memdesc:ga8af88c0ea05ab9e8f9ac1530e8873c22"><td class="mdescLeft"> </td><td class="mdescRight">The crosshair cursor shape. <br /></td></tr>
|
|
||||||
<tr class="separator:ga8af88c0ea05ab9e8f9ac1530e8873c22"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaad01a50929fb515bf27e4462c51f6ed0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a>   0x00036004</td></tr>
|
|
||||||
<tr class="memdesc:gaad01a50929fb515bf27e4462c51f6ed0"><td class="mdescLeft"> </td><td class="mdescRight">The pointing hand cursor shape. <br /></td></tr>
|
|
||||||
<tr class="separator:gaad01a50929fb515bf27e4462c51f6ed0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga2010a43dc1050a7c9154148a63cf01ad"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga2010a43dc1050a7c9154148a63cf01ad">GLFW_RESIZE_EW_CURSOR</a>   0x00036005</td></tr>
|
|
||||||
<tr class="memdesc:ga2010a43dc1050a7c9154148a63cf01ad"><td class="mdescLeft"> </td><td class="mdescRight">The horizontal resize/move arrow shape. <br /></td></tr>
|
|
||||||
<tr class="separator:ga2010a43dc1050a7c9154148a63cf01ad"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaa59214e8cdc8c8adf08fdf125ed68388"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#gaa59214e8cdc8c8adf08fdf125ed68388">GLFW_RESIZE_NS_CURSOR</a>   0x00036006</td></tr>
|
|
||||||
<tr class="memdesc:gaa59214e8cdc8c8adf08fdf125ed68388"><td class="mdescLeft"> </td><td class="mdescRight">The vertical resize/move arrow shape. <br /></td></tr>
|
|
||||||
<tr class="separator:gaa59214e8cdc8c8adf08fdf125ed68388"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gadf2c0a495ec9cef4e1a364cc99aa78da"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#gadf2c0a495ec9cef4e1a364cc99aa78da">GLFW_RESIZE_NWSE_CURSOR</a>   0x00036007</td></tr>
|
|
||||||
<tr class="memdesc:gadf2c0a495ec9cef4e1a364cc99aa78da"><td class="mdescLeft"> </td><td class="mdescRight">The top-left to bottom-right diagonal resize/move arrow shape. <br /></td></tr>
|
|
||||||
<tr class="separator:gadf2c0a495ec9cef4e1a364cc99aa78da"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gab06bba3b407f92807ba9b48de667a323"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#gab06bba3b407f92807ba9b48de667a323">GLFW_RESIZE_NESW_CURSOR</a>   0x00036008</td></tr>
|
|
||||||
<tr class="memdesc:gab06bba3b407f92807ba9b48de667a323"><td class="mdescLeft"> </td><td class="mdescRight">The top-right to bottom-left diagonal resize/move arrow shape. <br /></td></tr>
|
|
||||||
<tr class="separator:gab06bba3b407f92807ba9b48de667a323"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga3a5f4811155f95ccafbbb4c9a899fc1d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga3a5f4811155f95ccafbbb4c9a899fc1d">GLFW_RESIZE_ALL_CURSOR</a>   0x00036009</td></tr>
|
|
||||||
<tr class="memdesc:ga3a5f4811155f95ccafbbb4c9a899fc1d"><td class="mdescLeft"> </td><td class="mdescRight">The omni-directional resize/move cursor shape. <br /></td></tr>
|
|
||||||
<tr class="separator:ga3a5f4811155f95ccafbbb4c9a899fc1d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga297c503095b034bc8891393b637844b1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga297c503095b034bc8891393b637844b1">GLFW_NOT_ALLOWED_CURSOR</a>   0x0003600A</td></tr>
|
|
||||||
<tr class="memdesc:ga297c503095b034bc8891393b637844b1"><td class="mdescLeft"> </td><td class="mdescRight">The operation-not-allowed shape. <br /></td></tr>
|
|
||||||
<tr class="separator:ga297c503095b034bc8891393b637844b1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gabb3eb0109f11bb808fc34659177ca962"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#gabb3eb0109f11bb808fc34659177ca962">GLFW_HRESIZE_CURSOR</a>   <a class="el" href="group__shapes.html#ga2010a43dc1050a7c9154148a63cf01ad">GLFW_RESIZE_EW_CURSOR</a></td></tr>
|
|
||||||
<tr class="memdesc:gabb3eb0109f11bb808fc34659177ca962"><td class="mdescLeft"> </td><td class="mdescRight">Legacy name for compatibility. <br /></td></tr>
|
|
||||||
<tr class="separator:gabb3eb0109f11bb808fc34659177ca962"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaf024f0e1ff8366fb2b5c260509a1fce5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#gaf024f0e1ff8366fb2b5c260509a1fce5">GLFW_VRESIZE_CURSOR</a>   <a class="el" href="group__shapes.html#gaa59214e8cdc8c8adf08fdf125ed68388">GLFW_RESIZE_NS_CURSOR</a></td></tr>
|
|
||||||
<tr class="memdesc:gaf024f0e1ff8366fb2b5c260509a1fce5"><td class="mdescLeft"> </td><td class="mdescRight">Legacy name for compatibility. <br /></td></tr>
|
|
||||||
<tr class="separator:gaf024f0e1ff8366fb2b5c260509a1fce5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1db35e20849e0837c82e3dc1fd797263"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__shapes.html#ga1db35e20849e0837c82e3dc1fd797263">GLFW_HAND_CURSOR</a>   <a class="el" href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a></td></tr>
|
|
||||||
<tr class="memdesc:ga1db35e20849e0837c82e3dc1fd797263"><td class="mdescLeft"> </td><td class="mdescRight">Legacy name for compatibility. <br /></td></tr>
|
|
||||||
<tr class="separator:ga1db35e20849e0837c82e3dc1fd797263"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
||||||
<a id="ga8ab0e717245b85506cb0eaefdea39d0a" name="ga8ab0e717245b85506cb0eaefdea39d0a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8ab0e717245b85506cb0eaefdea39d0a">◆ </a></span>GLFW_ARROW_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_ARROW_CURSOR   0x00036001</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The regular arrow cursor shape. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga36185f4375eaada1b04e431244774c86" name="ga36185f4375eaada1b04e431244774c86"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga36185f4375eaada1b04e431244774c86">◆ </a></span>GLFW_IBEAM_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_IBEAM_CURSOR   0x00036002</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The text input I-beam cursor shape. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga8af88c0ea05ab9e8f9ac1530e8873c22" name="ga8af88c0ea05ab9e8f9ac1530e8873c22"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8af88c0ea05ab9e8f9ac1530e8873c22">◆ </a></span>GLFW_CROSSHAIR_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_CROSSHAIR_CURSOR   0x00036003</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The crosshair cursor shape. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaad01a50929fb515bf27e4462c51f6ed0" name="gaad01a50929fb515bf27e4462c51f6ed0"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaad01a50929fb515bf27e4462c51f6ed0">◆ </a></span>GLFW_POINTING_HAND_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_POINTING_HAND_CURSOR   0x00036004</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The pointing hand cursor shape. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga2010a43dc1050a7c9154148a63cf01ad" name="ga2010a43dc1050a7c9154148a63cf01ad"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga2010a43dc1050a7c9154148a63cf01ad">◆ </a></span>GLFW_RESIZE_EW_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_RESIZE_EW_CURSOR   0x00036005</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The horizontal resize/move arrow shape. This is usually a horizontal double-headed arrow. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaa59214e8cdc8c8adf08fdf125ed68388" name="gaa59214e8cdc8c8adf08fdf125ed68388"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaa59214e8cdc8c8adf08fdf125ed68388">◆ </a></span>GLFW_RESIZE_NS_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_RESIZE_NS_CURSOR   0x00036006</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The vertical resize/move shape. This is usually a vertical double-headed arrow. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gadf2c0a495ec9cef4e1a364cc99aa78da" name="gadf2c0a495ec9cef4e1a364cc99aa78da"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gadf2c0a495ec9cef4e1a364cc99aa78da">◆ </a></span>GLFW_RESIZE_NWSE_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_RESIZE_NWSE_CURSOR   0x00036007</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The top-left to bottom-right diagonal resize/move shape. This is usually a diagonal double-headed arrow.</p>
|
|
||||||
<dl class="section note"><dt>Note</dt><dd><b>macOS:</b> This shape is provided by a private system API and may fail with <a class="el" href="group__errors.html#ga09d6943923a70ddef3a085f5baee786c">GLFW_CURSOR_UNAVAILABLE</a> in the future.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>X11:</b> This shape is provided by a newer standard not supported by all cursor themes.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>Wayland:</b> This shape is provided by a newer standard not supported by all cursor themes. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gab06bba3b407f92807ba9b48de667a323" name="gab06bba3b407f92807ba9b48de667a323"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gab06bba3b407f92807ba9b48de667a323">◆ </a></span>GLFW_RESIZE_NESW_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_RESIZE_NESW_CURSOR   0x00036008</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The top-right to bottom-left diagonal resize/move shape. This is usually a diagonal double-headed arrow.</p>
|
|
||||||
<dl class="section note"><dt>Note</dt><dd><b>macOS:</b> This shape is provided by a private system API and may fail with <a class="el" href="group__errors.html#ga09d6943923a70ddef3a085f5baee786c">GLFW_CURSOR_UNAVAILABLE</a> in the future.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>X11:</b> This shape is provided by a newer standard not supported by all cursor themes.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>Wayland:</b> This shape is provided by a newer standard not supported by all cursor themes. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga3a5f4811155f95ccafbbb4c9a899fc1d" name="ga3a5f4811155f95ccafbbb4c9a899fc1d"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga3a5f4811155f95ccafbbb4c9a899fc1d">◆ </a></span>GLFW_RESIZE_ALL_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_RESIZE_ALL_CURSOR   0x00036009</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The omni-directional resize cursor/move shape. This is usually either a combined horizontal and vertical double-headed arrow or a grabbing hand. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga297c503095b034bc8891393b637844b1" name="ga297c503095b034bc8891393b637844b1"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga297c503095b034bc8891393b637844b1">◆ </a></span>GLFW_NOT_ALLOWED_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_NOT_ALLOWED_CURSOR   0x0003600A</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>The operation-not-allowed shape. This is usually a circle with a diagonal line through it.</p>
|
|
||||||
<dl class="section note"><dt>Note</dt><dd><b>X11:</b> This shape is provided by a newer standard not supported by all cursor themes.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>Wayland:</b> This shape is provided by a newer standard not supported by all cursor themes. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gabb3eb0109f11bb808fc34659177ca962" name="gabb3eb0109f11bb808fc34659177ca962"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gabb3eb0109f11bb808fc34659177ca962">◆ </a></span>GLFW_HRESIZE_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HRESIZE_CURSOR   <a class="el" href="group__shapes.html#ga2010a43dc1050a7c9154148a63cf01ad">GLFW_RESIZE_EW_CURSOR</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This is an alias for compatibility with earlier versions. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaf024f0e1ff8366fb2b5c260509a1fce5" name="gaf024f0e1ff8366fb2b5c260509a1fce5"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaf024f0e1ff8366fb2b5c260509a1fce5">◆ </a></span>GLFW_VRESIZE_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_VRESIZE_CURSOR   <a class="el" href="group__shapes.html#gaa59214e8cdc8c8adf08fdf125ed68388">GLFW_RESIZE_NS_CURSOR</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This is an alias for compatibility with earlier versions. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga1db35e20849e0837c82e3dc1fd797263" name="ga1db35e20849e0837c82e3dc1fd797263"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga1db35e20849e0837c82e3dc1fd797263">◆ </a></span>GLFW_HAND_CURSOR</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">#define GLFW_HAND_CURSOR   <a class="el" href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This is an alias for compatibility with earlier versions. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,361 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Vulkan support reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#typedef-members">Typedefs</a> |
|
|
||||||
<a href="#func-members">Functions</a> </div>
|
|
||||||
<div class="headertitle"><div class="title">Vulkan support reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
||||||
<p>This is the reference documentation for Vulkan related functions and types. For more task-oriented information, see the <a class="el" href="vulkan_guide.html">Vulkan guide</a>. </p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
|
|
||||||
Typedefs</h2></td></tr>
|
|
||||||
<tr class="memitem:ga70c01918dc9d233a4fbe0681a43018af"><td class="memItemLeft" align="right" valign="top">typedef void(* </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"> </td><td class="mdescRight">Vulkan API function pointer type. <br /></td></tr>
|
|
||||||
<tr class="separator:ga70c01918dc9d233a4fbe0681a43018af"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
||||||
Functions</h2></td></tr>
|
|
||||||
<tr class="memitem:ga2e7f30931e02464b5bc8d0d4b6f9fe2b"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Returns whether the Vulkan loader and an ICD have been found. <br /></td></tr>
|
|
||||||
<tr class="separator:ga2e7f30931e02464b5bc8d0d4b6f9fe2b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga99ad342d82f4a3421e2864978cb6d1d6"><td class="memItemLeft" align="right" valign="top">const char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a> (uint32_t *count)</td></tr>
|
|
||||||
<tr class="memdesc:ga99ad342d82f4a3421e2864978cb6d1d6"><td class="mdescLeft"> </td><td class="mdescRight">Returns the Vulkan instance extensions required by GLFW. <br /></td></tr>
|
|
||||||
<tr class="separator:ga99ad342d82f4a3421e2864978cb6d1d6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gadf228fac94c5fd8f12423ec9af9ff1e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__vulkan.html#ga70c01918dc9d233a4fbe0681a43018af">GLFWvkproc</a> </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"> </td><td class="mdescRight">Returns the address of the specified Vulkan instance function. <br /></td></tr>
|
|
||||||
<tr class="separator:gadf228fac94c5fd8f12423ec9af9ff1e9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:gaff3823355cdd7e2f3f9f4d9ea9518d92"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Returns whether the specified queue family can present images. <br /></td></tr>
|
|
||||||
<tr class="separator:gaff3823355cdd7e2f3f9f4d9ea9518d92"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ga1a24536bec3f80b08ead18e28e6ae965"><td class="memItemLeft" align="right" valign="top">VkResult </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"> </td><td class="mdescRight">Creates a Vulkan surface for the specified window. <br /></td></tr>
|
|
||||||
<tr class="separator:ga1a24536bec3f80b08ead18e28e6ae965"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2 class="groupheader">Typedef Documentation</h2>
|
|
||||||
<a id="ga70c01918dc9d233a4fbe0681a43018af" name="ga70c01918dc9d233a4fbe0681a43018af"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga70c01918dc9d233a4fbe0681a43018af">◆ </a></span>GLFWvkproc</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef void(* GLFWvkproc) (void)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>Generic function pointer used for returning Vulkan API function pointers without forcing a cast from a regular pointer.</p>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="vulkan_guide.html#vulkan_proc">Querying Vulkan function pointers</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__vulkan.html#gadf228fac94c5fd8f12423ec9af9ff1e9">glfwGetInstanceProcAddress</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2 class="groupheader">Function Documentation</h2>
|
|
||||||
<a id="ga2e7f30931e02464b5bc8d0d4b6f9fe2b" name="ga2e7f30931e02464b5bc8d0d4b6f9fe2b"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga2e7f30931e02464b5bc8d0d4b6f9fe2b">◆ </a></span>glfwVulkanSupported()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwVulkanSupported </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">void </td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns whether the Vulkan loader and any minimally functional ICD have been found.</p>
|
|
||||||
<p>The availability of a Vulkan loader and even an ICD does not by itself guarantee that surface creation or even instance creation is possible. Call <a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a> to check whether the extensions necessary for Vulkan surface creation are available and <a class="el" href="group__vulkan.html#gaff3823355cdd7e2f3f9f4d9ea9518d92">glfwGetPhysicalDevicePresentationSupport</a> to check whether a queue family of a physical device supports image presentation.</p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd><code>GLFW_TRUE</code> if Vulkan is minimally available, or <code>GLFW_FALSE</code> otherwise.</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.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="vulkan_guide.html#vulkan_support">Querying for Vulkan support</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga99ad342d82f4a3421e2864978cb6d1d6" name="ga99ad342d82f4a3421e2864978cb6d1d6"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga99ad342d82f4a3421e2864978cb6d1d6">◆ </a></span>glfwGetRequiredInstanceExtensions()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">const char ** glfwGetRequiredInstanceExtensions </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">uint32_t * </td>
|
|
||||||
<td class="paramname"><em>count</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</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 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>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">count</td><td>Where to store the number of extensions in the returned array. This is set to zero if an error occurred. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>An array of ASCII encoded extension names, 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#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></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>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__vulkan.html#ga1a24536bec3f80b08ead18e28e6ae965">glfwCreateWindowSurface</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gadf228fac94c5fd8f12423ec9af9ff1e9" name="gadf228fac94c5fd8f12423ec9af9ff1e9"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gadf228fac94c5fd8f12423ec9af9ff1e9">◆ </a></span>glfwGetInstanceProcAddress()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="group__vulkan.html#ga70c01918dc9d233a4fbe0681a43018af">GLFWvkproc</a> glfwGetInstanceProcAddress </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">VkInstance </td>
|
|
||||||
<td class="paramname"><em>instance</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">const char * </td>
|
|
||||||
<td class="paramname"><em>procname</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns the address of the specified Vulkan core or extension function for the specified instance. If instance is set to <code>NULL</code> it can return any function exported from the Vulkan loader, including at least the following functions:</p>
|
|
||||||
<ul>
|
|
||||||
<li><code>vkEnumerateInstanceExtensionProperties</code></li>
|
|
||||||
<li><code>vkEnumerateInstanceLayerProperties</code></li>
|
|
||||||
<li><code>vkCreateInstance</code></li>
|
|
||||||
<li><code>vkGetInstanceProcAddr</code></li>
|
|
||||||
</ul>
|
|
||||||
<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>This function is equivalent to calling <code>vkGetInstanceProcAddr</code> with a platform-specific query of the Vulkan loader as a fallback.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The Vulkan instance to query, or <code>NULL</code> to retrieve functions related to instance creation. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">procname</td><td>The ASCII encoded name of the function. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The address of the function, 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#ga56882b290db23261cc6c053c40c2d08e">GLFW_API_UNAVAILABLE</a>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Pointer lifetime</dt><dd>The returned function pointer is valid 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_proc">Querying Vulkan function pointers</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="gaff3823355cdd7e2f3f9f4d9ea9518d92" name="gaff3823355cdd7e2f3f9f4d9ea9518d92"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#gaff3823355cdd7e2f3f9f4d9ea9518d92">◆ </a></span>glfwGetPhysicalDevicePresentationSupport()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int glfwGetPhysicalDevicePresentationSupport </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">VkInstance </td>
|
|
||||||
<td class="paramname"><em>instance</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">VkPhysicalDevice </td>
|
|
||||||
<td class="paramname"><em>device</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint32_t </td>
|
|
||||||
<td class="paramname"><em>queuefamily</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function returns whether the specified queue family of the specified physical device supports presentation to the platform GLFW was built for.</p>
|
|
||||||
<p>If Vulkan or the required window surface creation instance extensions are not available on the machine, or if the specified instance was not created with the required extensions, this function returns <code>GLFW_FALSE</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 and <a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a> to check what instance extensions are required.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance that the physical device belongs to. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>The physical device that the queue family belongs to. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">queuefamily</td><td>The index of the queue family to query. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd><code>GLFW_TRUE</code> if the queue family supports presentation, or <code>GLFW_FALSE</code> otherwise.</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#ga56882b290db23261cc6c053c40c2d08e">GLFW_API_UNAVAILABLE</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>macOS:</b> This function currently always returns <code>GLFW_TRUE</code>, as the <code>VK_MVK_macos_surface</code> and <code>VK_EXT_metal_surface</code> extensions do not provide a <code>vkGetPhysicalDevice*PresentationSupport</code> type function.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. For synchronization details of Vulkan objects, see the Vulkan specification.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="vulkan_guide.html#vulkan_present">Querying for Vulkan presentation support</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ga1a24536bec3f80b08ead18e28e6ae965" name="ga1a24536bec3f80b08ead18e28e6ae965"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ga1a24536bec3f80b08ead18e28e6ae965">◆ </a></span>glfwCreateWindowSurface()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">VkResult glfwCreateWindowSurface </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">VkInstance </td>
|
|
||||||
<td class="paramname"><em>instance</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> * </td>
|
|
||||||
<td class="paramname"><em>window</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">const VkAllocationCallbacks * </td>
|
|
||||||
<td class="paramname"><em>allocator</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">VkSurfaceKHR * </td>
|
|
||||||
<td class="paramname"><em>surface</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>This function creates a Vulkan surface for the specified window.</p>
|
|
||||||
<p>If the Vulkan loader or at least one minimally functional ICD were not found, this function returns <code>VK_ERROR_INITIALIZATION_FAILED</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 the required window surface creation instance extensions are not available or if the specified instance was not created with these extensions enabled, this function returns <code>VK_ERROR_EXTENSION_NOT_PRESENT</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#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a> to check what instance extensions are required.</p>
|
|
||||||
<p>The window surface cannot be shared with another API so the window must have been created with the <a class="el" href="window_guide.html#GLFW_CLIENT_API_attrib">client api hint</a> set to <code>GLFW_NO_API</code> otherwise it generates a <a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a> error and returns <code>VK_ERROR_NATIVE_WINDOW_IN_USE_KHR</code>.</p>
|
|
||||||
<p>The window surface must be destroyed before the specified Vulkan instance. It is the responsibility of the caller to destroy the window surface. GLFW does not destroy it for you. Call <code>vkDestroySurfaceKHR</code> to destroy the surface.</p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The Vulkan instance to create the surface in. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window to create the surface for. </td></tr>
|
|
||||||
<tr><td class="paramdir">[in]</td><td class="paramname">allocator</td><td>The allocator to use, or <code>NULL</code> to use the default allocator. </td></tr>
|
|
||||||
<tr><td class="paramdir">[out]</td><td class="paramname">surface</td><td>Where to store the handle of the surface. This is set to <code>VK_NULL_HANDLE</code> if an error occurred. </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd><code>VK_SUCCESS</code> if successful, or a Vulkan error 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>, <a class="el" href="group__errors.html#ga56882b290db23261cc6c053c40c2d08e">GLFW_API_UNAVAILABLE</a>, <a class="el" href="group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1">GLFW_PLATFORM_ERROR</a> and <a class="el" href="group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687">GLFW_INVALID_VALUE</a></dd></dl>
|
|
||||||
<dl class="section remark"><dt>Remarks</dt><dd>If an error occurs before the creation call is made, GLFW returns the Vulkan error code most appropriate for the error. Appropriate use of <a class="el" href="group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b">glfwVulkanSupported</a> and <a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a> should eliminate almost all occurrences of these errors.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>macOS:</b> GLFW prefers the <code>VK_EXT_metal_surface</code> extension, with the <code>VK_MVK_macos_surface</code> extension as a fallback. The name of the selected extension, if any, is included in the array returned by <a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a>.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>macOS:</b> This function creates and sets a <code>CAMetalLayer</code> instance for the window content view, which is required for MoltenVK to function.</dd>
|
|
||||||
<dd>
|
|
||||||
<b>X11:</b> By default GLFW prefers the <code>VK_KHR_xcb_surface</code> extension, with the <code>VK_KHR_xlib_surface</code> extension as a fallback. You can make <code>VK_KHR_xlib_surface</code> the preferred extension by setting the <a class="el" href="intro_guide.html#GLFW_X11_XCB_VULKAN_SURFACE_hint">GLFW_X11_XCB_VULKAN_SURFACE</a> init hint. The name of the selected extension, if any, is included in the array returned by <a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Thread safety</dt><dd>This function may be called from any thread. For synchronization details of Vulkan objects, see the Vulkan specification.</dd></dl>
|
|
||||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="vulkan_guide.html#vulkan_surface">Creating a Vulkan window surface</a> </dd>
|
|
||||||
<dd>
|
|
||||||
<a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a></dd></dl>
|
|
||||||
<dl class="section since"><dt>Since</dt><dd>Added in version 3.2. </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,100 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Main Page</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div><div class="contents">
|
|
||||||
<div class="textblock"><h1><a class="anchor" id="main_intro"></a>
|
|
||||||
Introduction</h1>
|
|
||||||
<p>GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.</p>
|
|
||||||
<p><a class="el" href="news.html#news_34">Release notes for version 3.4</a> list new features, caveats and deprecations.</p>
|
|
||||||
<p><a class="el" href="quick_guide.html">Getting started</a> is a guide for users new to GLFW. It takes you through how to write a small but complete program.</p>
|
|
||||||
<p>There are guides for each section of the API:</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="intro_guide.html">Introduction to the API</a> – initialization, error handling and high-level design</li>
|
|
||||||
<li><a class="el" href="window_guide.html">Window guide</a> – creating and working with windows and framebuffers</li>
|
|
||||||
<li><a class="el" href="context_guide.html">Context guide</a> – working with OpenGL and OpenGL ES contexts</li>
|
|
||||||
<li><a class="el" href="vulkan_guide.html">Vulkan guide</a> - working with Vulkan objects and extensions</li>
|
|
||||||
<li><a class="el" href="monitor_guide.html">Monitor guide</a> – enumerating and working with monitors and video modes</li>
|
|
||||||
<li><a class="el" href="input_guide.html">Input guide</a> – receiving events, polling and processing input</li>
|
|
||||||
</ul>
|
|
||||||
<p>Once you have written a program, see <a class="el" href="compile_guide.html">Compiling GLFW</a> and <a class="el" href="build_guide.html">Building applications</a>.</p>
|
|
||||||
<p>The <a href="modules.html">reference documentation</a> provides more detailed information about specific functions.</p>
|
|
||||||
<p><a class="el" href="moving_guide.html">Moving from GLFW 2 to 3</a> explains what has changed and how to update existing code to use the new API.</p>
|
|
||||||
<p>There is a section on <a class="el" href="intro_guide.html#guarantees_limitations">Guarantees and limitations</a> for pointer lifetimes, reentrancy, thread safety, event order and backward and forward compatibility.</p>
|
|
||||||
<p>The <a href="https://www.glfw.org/faq.html">FAQ</a> answers many common questions about the design, implementation and use of GLFW.</p>
|
|
||||||
<p>Finally, <a class="el" href="compat_guide.html">Standards conformance</a> explains what APIs, standards and protocols GLFW uses and what happens when they are not present on a given machine.</p>
|
|
||||||
<p>This documentation was generated with Doxygen. The sources for it are available in both the <a href="https://www.glfw.org/download.html">source distribution</a> and <a href="https://github.com/glfw/glfw">GitHub repository</a>. </p>
|
|
||||||
</div></div><!-- PageDoc -->
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: input.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">input.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,575 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Input guide</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Input guide </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#events">Event processing</a></li>
|
|
||||||
<li class="level1"><a href="#input_keyboard">Keyboard input</a><ul><li class="level2"><a href="#input_key">Key input</a></li>
|
|
||||||
<li class="level2"><a href="#input_char">Text input</a></li>
|
|
||||||
<li class="level2"><a href="#input_key_name">Key names</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#input_mouse">Mouse input</a><ul><li class="level2"><a href="#cursor_pos">Cursor position</a></li>
|
|
||||||
<li class="level2"><a href="#cursor_mode">Cursor mode</a></li>
|
|
||||||
<li class="level2"><a href="#raw_mouse_motion">Raw mouse motion</a></li>
|
|
||||||
<li class="level2"><a href="#cursor_object">Cursor objects</a><ul><li class="level3"><a href="#cursor_custom">Custom cursor creation</a></li>
|
|
||||||
<li class="level3"><a href="#cursor_standard">Standard cursor creation</a></li>
|
|
||||||
<li class="level3"><a href="#cursor_destruction">Cursor destruction</a></li>
|
|
||||||
<li class="level3"><a href="#cursor_set">Cursor setting</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level2"><a href="#cursor_enter">Cursor enter/leave events</a></li>
|
|
||||||
<li class="level2"><a href="#input_mouse_button">Mouse button input</a></li>
|
|
||||||
<li class="level2"><a href="#scrolling">Scroll input</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#joystick">Joystick input</a><ul><li class="level2"><a href="#joystick_axis">Joystick axis states</a></li>
|
|
||||||
<li class="level2"><a href="#joystick_button">Joystick button states</a></li>
|
|
||||||
<li class="level2"><a href="#joystick_hat">Joystick hat states</a></li>
|
|
||||||
<li class="level2"><a href="#joystick_name">Joystick name</a></li>
|
|
||||||
<li class="level2"><a href="#joystick_userptr">Joystick user pointer</a></li>
|
|
||||||
<li class="level2"><a href="#joystick_event">Joystick configuration changes</a></li>
|
|
||||||
<li class="level2"><a href="#gamepad">Gamepad input</a></li>
|
|
||||||
<li class="level2"><a href="#gamepad_mapping">Gamepad mappings</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#time">Time input</a></li>
|
|
||||||
<li class="level1"><a href="#clipboard">Clipboard input and output</a></li>
|
|
||||||
<li class="level1"><a href="#path_drop">Path drop input</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This guide introduces the input related functions of GLFW. For details on a specific function in this category, see the <a class="el" href="group__input.html">Input reference</a>. There are also guides for the other areas of GLFW.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="intro_guide.html">Introduction to the API</a></li>
|
|
||||||
<li><a class="el" href="window_guide.html">Window guide</a></li>
|
|
||||||
<li><a class="el" href="context_guide.html">Context guide</a></li>
|
|
||||||
<li><a class="el" href="vulkan_guide.html">Vulkan guide</a></li>
|
|
||||||
<li><a class="el" href="monitor_guide.html">Monitor guide</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>GLFW provides many kinds of input. While some can only be polled, like time, or only received via callbacks, like scrolling, many provide both callbacks and polling. Callbacks are more work to use than polling but is less CPU intensive and guarantees that you do not miss state changes.</p>
|
|
||||||
<p>All input callbacks receive a window handle. By using the <a class="el" href="window_guide.html#window_userptr">window user pointer</a>, you can access non-global structures or objects from your callbacks.</p>
|
|
||||||
<p>To get a better feel for how the various events callbacks behave, run the <code>events</code> test program. It registers every callback supported by GLFW and prints out all arguments provided for every event, along with time and sequence information.</p>
|
|
||||||
<h1><a class="anchor" id="events"></a>
|
|
||||||
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 hl_function" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>();</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><!-- 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 hl_function" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a>();</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><!-- 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 hl_function" href="group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf">glfwWaitEventsTimeout</a>(0.7);</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><!-- 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 hl_function" href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a>();</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><!-- 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>
|
|
||||||
<p>GLFW divides keyboard input into two categories; key events and character events. Key events relate to actual physical keyboard keys, whereas character events relate to the Unicode code points generated by pressing some of them.</p>
|
|
||||||
<p>Keys and characters do not map 1:1. A single key press may produce several characters, and a single character may require several keys to produce. This may not be the case on your machine, but your users are likely not all using the same keyboard layout, input method or even operating system as you.</p>
|
|
||||||
<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 hl_function" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">glfwSetKeyCallback</a>(window, key_callback);</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><!-- 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 hl_typedef" 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 hl_define" href="group__keys.html#gabf48fcc3afbe69349df432b470c96ef2">GLFW_KEY_E</a> && action == <a class="code hl_define" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
|
|
||||||
<div class="line"> activate_airship();</div>
|
|
||||||
<div class="line">}</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:338</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:416</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:1435</div></div>
|
|
||||||
</div><!-- fragment --><p>The action is one of <code>GLFW_PRESS</code>, <code>GLFW_REPEAT</code> or <code>GLFW_RELEASE</code>. Events with <code>GLFW_PRESS</code> and <code>GLFW_RELEASE</code> actions are emitted for every key press. Most keys will also emit events with <code>GLFW_REPEAT</code> actions while a key is held down.</p>
|
|
||||||
<p>Key events with <code>GLFW_REPEAT</code> actions are intended for text input. They are emitted at the rate set in the user's keyboard settings. At most one key is repeated even if several keys are held down. <code>GLFW_REPEAT</code> actions should not be relied on to know which keys are being held down or to drive animation. Instead you should either save the state of relevant keys based on <code>GLFW_PRESS</code> and <code>GLFW_RELEASE</code> actions, or call <a class="el" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>, which provides basic cached key state.</p>
|
|
||||||
<p>The key will be one of the existing <a class="el" href="group__keys.html">key tokens</a>, or <code>GLFW_KEY_UNKNOWN</code> if GLFW lacks a 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 hl_function" href="group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a">glfwGetKeyScancode</a>(<a class="code hl_define" href="group__keys.html#gac1c42c0bf4192cea713c55598b06b744">GLFW_KEY_X</a>);</div>
|
|
||||||
<div class="line">set_key_mapping(scancode, swap_weapons);</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__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:435</div></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 hl_function" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a>(window, <a class="code hl_define" href="group__keys.html#gabf48fcc3afbe69349df432b470c96ef2">GLFW_KEY_E</a>);</div>
|
|
||||||
<div class="line"><span class="keywordflow">if</span> (state == <a class="code hl_define" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> activate_airship();</div>
|
|
||||||
<div class="line">}</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><!-- 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 hl_function" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code hl_define" href="glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc">GLFW_STICKY_KEYS</a>, <a class="code hl_define" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</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:1141</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:312</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><!-- 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 hl_function" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code hl_define" href="glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947">GLFW_LOCK_KEY_MODS</a>, <a class="code hl_define" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</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:1143</div></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 hl_function" href="group__input.html#gab25c4a220fd8f5717718dbc487828996">glfwSetCharCallback</a>(window, character_callback);</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><!-- 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 hl_typedef" 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#gaeaed62e69c3bd62b7ff8f7b19913ce4f">glfwGetKeyName</a>.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span>* key_name = <a class="code hl_function" href="group__input.html#gaeaed62e69c3bd62b7ff8f7b19913ce4f">glfwGetKeyName</a>(<a class="code hl_define" href="group__keys.html#gaa06a712e6202661fc03da5bdb7b6e545">GLFW_KEY_W</a>, 0);</div>
|
|
||||||
<div class="line">show_tutorial_hint(<span class="stringliteral">"Press %s to move forward"</span>, key_name);</div>
|
|
||||||
<div class="ttc" id="agroup__input_html_gaeaed62e69c3bd62b7ff8f7b19913ce4f"><div class="ttname"><a href="group__input.html#gaeaed62e69c3bd62b7ff8f7b19913ce4f">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="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:434</div></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 hl_function" href="group__input.html#gac1f879ab7435d54d4d79bb469fe225d7">glfwSetCursorPosCallback</a>(window, cursor_position_callback);</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><!-- 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 hl_typedef" 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 hl_function" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a>(window, &xpos, &ypos);</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><!-- 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 hl_function" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code hl_define" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code hl_define" href="glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88">GLFW_CURSOR_DISABLED</a>);</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:1148</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:1140</div></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 hl_function" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code hl_define" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code hl_define" href="glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11">GLFW_CURSOR_HIDDEN</a>);</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:1147</div></div>
|
|
||||||
</div><!-- fragment --><p>This mode puts no limit on the motion of the cursor.</p>
|
|
||||||
<p>If you wish the cursor to be visible but confined to the content area of the window, set the cursor mode to <code>GLFW_CURSOR_CAPTURED</code>.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code hl_define" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code hl_define" href="glfw3_8h.html#ac1dbfa0cb4641a0edc93412ade0895dc">GLFW_CURSOR_CAPTURED</a>);</div>
|
|
||||||
<div class="ttc" id="aglfw3_8h_html_ac1dbfa0cb4641a0edc93412ade0895dc"><div class="ttname"><a href="glfw3_8h.html#ac1dbfa0cb4641a0edc93412ade0895dc">GLFW_CURSOR_CAPTURED</a></div><div class="ttdeci">#define GLFW_CURSOR_CAPTURED</div><div class="ttdef"><b>Definition:</b> glfw3.h:1149</div></div>
|
|
||||||
</div><!-- fragment --><p>The cursor will behave normally inside the content area but will not be able to leave unless the window loses focus.</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 hl_function" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code hl_define" href="glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c">GLFW_CURSOR</a>, <a class="code hl_define" href="glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68">GLFW_CURSOR_NORMAL</a>);</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:1146</div></div>
|
|
||||||
</div><!-- fragment --><p>If the cursor was disabled, this will move it back to its last visible position.</p>
|
|
||||||
<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 hl_function" href="group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2">glfwRawMouseMotionSupported</a>())</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code hl_define" href="glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb">GLFW_RAW_MOUSE_MOTION</a>, <a class="code hl_define" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</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:1144</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><!-- 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#ga556f604f73af156c0db0e97c081373c3">glfwCreateCursor</a> or <a class="el" href="group__input.html#gaf2fb2eb2c9dd842d1cef8a34e3c6403e">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#ga556f604f73af156c0db0e97c081373c3">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 hl_struct" href="struct_g_l_f_wimage.html">GLFWimage</a> image;</div>
|
|
||||||
<div class="line">image.<a class="code hl_variable" href="struct_g_l_f_wimage.html#af6a71cc999fe6d3aea31dd7e9687d835">width</a> = 16;</div>
|
|
||||||
<div class="line">image.<a class="code hl_variable" href="struct_g_l_f_wimage.html#a0b7d95368f0c80d5e5c9875057c7dbec">height</a> = 16;</div>
|
|
||||||
<div class="line">image.<a class="code hl_variable" href="struct_g_l_f_wimage.html#a0c532a5c2bb715555279b7817daba0fb">pixels</a> = pixels;</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><a class="code hl_typedef" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a>* cursor = <a class="code hl_function" href="group__input.html#ga556f604f73af156c0db0e97c081373c3">glfwCreateCursor</a>(&image, 0, 0);</div>
|
|
||||||
<div class="ttc" id="agroup__input_html_ga556f604f73af156c0db0e97c081373c3"><div class="ttname"><a href="group__input.html#ga556f604f73af156c0db0e97c081373c3">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_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:1447</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wimage_html"><div class="ttname"><a href="struct_g_l_f_wimage.html">GLFWimage</a></div><div class="ttdoc">Image data.</div><div class="ttdef"><b>Definition:</b> glfw3.h:2096</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wimage_html_a0b7d95368f0c80d5e5c9875057c7dbec"><div class="ttname"><a href="struct_g_l_f_wimage.html#a0b7d95368f0c80d5e5c9875057c7dbec">GLFWimage::height</a></div><div class="ttdeci">int height</div><div class="ttdef"><b>Definition:</b> glfw3.h:2102</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wimage_html_a0c532a5c2bb715555279b7817daba0fb"><div class="ttname"><a href="struct_g_l_f_wimage.html#a0c532a5c2bb715555279b7817daba0fb">GLFWimage::pixels</a></div><div class="ttdeci">unsigned char * pixels</div><div class="ttdef"><b>Definition:</b> glfw3.h:2105</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wimage_html_af6a71cc999fe6d3aea31dd7e9687d835"><div class="ttname"><a href="struct_g_l_f_wimage.html#af6a71cc999fe6d3aea31dd7e9687d835">GLFWimage::width</a></div><div class="ttdeci">int width</div><div class="ttdef"><b>Definition:</b> glfw3.h:2099</div></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 created with <a class="el" href="group__input.html#gaf2fb2eb2c9dd842d1cef8a34e3c6403e">glfwCreateStandardCursor</a>.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_typedef" href="group__input.html#ga89261ae18c75e863aaf2656ecdd238f4">GLFWcursor</a>* url_cursor = <a class="code hl_function" href="group__input.html#gaf2fb2eb2c9dd842d1cef8a34e3c6403e">glfwCreateStandardCursor</a>(<a class="code hl_define" href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a>);</div>
|
|
||||||
<div class="ttc" id="agroup__input_html_gaf2fb2eb2c9dd842d1cef8a34e3c6403e"><div class="ttname"><a href="group__input.html#gaf2fb2eb2c9dd842d1cef8a34e3c6403e">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="agroup__shapes_html_gaad01a50929fb515bf27e4462c51f6ed0"><div class="ttname"><a href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a></div><div class="ttdeci">#define GLFW_POINTING_HAND_CURSOR</div><div class="ttdoc">The pointing hand cursor shape.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1197</div></div>
|
|
||||||
</div><!-- fragment --><p>These cursor objects behave in the exact same way as those created with <a class="el" href="group__input.html#ga556f604f73af156c0db0e97c081373c3">glfwCreateCursor</a> except that the system cursor theme provides the actual image.</p>
|
|
||||||
<p>A few of these shapes are not available everywhere. If a shape is unavailable, <code>NULL</code> is returned. See <a class="el" href="group__input.html#gaf2fb2eb2c9dd842d1cef8a34e3c6403e">glfwCreateStandardCursor</a> for details.</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 hl_function" href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">glfwDestroyCursor</a>(cursor);</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><!-- 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 hl_function" href="group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e">glfwSetCursor</a>(window, cursor);</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><!-- 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 hl_function" 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 hl_function" href="group__input.html#gad27f8ad0142c038a281466c0966817d8">glfwSetCursorEnterCallback</a>(window, cursor_enter_callback);</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><!-- 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 hl_typedef" 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 hl_function" href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a>(window, <a class="code hl_define" href="group__window.html#ga8665c71c6fa3d22425c6a0e8a3f89d8a">GLFW_HOVERED</a>))</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> highlight_interface();</div>
|
|
||||||
<div class="line">}</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:915</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><!-- 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 hl_function" href="group__input.html#ga6ab84420974d812bee700e45284a723c">glfwSetMouseButtonCallback</a>(window, mouse_button_callback);</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><!-- 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 hl_typedef" 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 hl_define" href="group__buttons.html#ga3e2f2cf3c4942df73cc094247d275e74">GLFW_MOUSE_BUTTON_RIGHT</a> && action == <a class="code hl_define" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
|
|
||||||
<div class="line"> popup_menu();</div>
|
|
||||||
<div class="line">}</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:581</div></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 hl_function" href="group__input.html#gac1473feacb5996c01a7a5a33b5066704">glfwGetMouseButton</a>(window, <a class="code hl_define" href="group__buttons.html#gaf37100431dcd5082d48f95ee8bc8cd56">GLFW_MOUSE_BUTTON_LEFT</a>);</div>
|
|
||||||
<div class="line"><span class="keywordflow">if</span> (state == <a class="code hl_define" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> upgrade_cow();</div>
|
|
||||||
<div class="line">}</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:580</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><!-- 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 hl_function" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a>(window, <a class="code hl_define" href="glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1">GLFW_STICKY_MOUSE_BUTTONS</a>, <a class="code hl_define" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</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:1142</div></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 hl_function" href="group__input.html#ga571e45a030ae4061f746ed56cb76aede">glfwSetScrollCallback</a>(window, scroll_callback);</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><!-- 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 hl_typedef" 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 hl_function" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a>(<a class="code hl_define" href="group__joysticks.html#ga34a0443d059e9f22272cd4669073f73d">GLFW_JOYSTICK_1</a>);</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="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:592</div></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>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#gaeb1c0191d3140a233a682987c61eb408">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 hl_function" href="group__input.html#gaeb1c0191d3140a233a682987c61eb408">glfwGetJoystickAxes</a>(<a class="code hl_define" href="group__joysticks.html#gae43281bc66d3fa5089fb50c3e7a28695">GLFW_JOYSTICK_5</a>, &count);</div>
|
|
||||||
<div class="ttc" id="agroup__input_html_gaeb1c0191d3140a233a682987c61eb408"><div class="ttname"><a href="group__input.html#gaeb1c0191d3140a233a682987c61eb408">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__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:596</div></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#ga5ffe34739d3dc97efe432ed2d81d9938">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 hl_function" href="group__input.html#ga5ffe34739d3dc97efe432ed2d81d9938">glfwGetJoystickButtons</a>(<a class="code hl_define" href="group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654">GLFW_JOYSTICK_3</a>, &count);</div>
|
|
||||||
<div class="ttc" id="agroup__input_html_ga5ffe34739d3dc97efe432ed2d81d9938"><div class="ttname"><a href="group__input.html#ga5ffe34739d3dc97efe432ed2d81d9938">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="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:594</div></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#ga06e660841b3e79c54da4f54a932c5a2c">glfwGetJoystickHats</a>, the button array by default also includes all hats. See the reference documentation for <a class="el" href="group__input.html#ga5ffe34739d3dc97efe432ed2d81d9938">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#ga06e660841b3e79c54da4f54a932c5a2c">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 hl_function" href="group__input.html#ga06e660841b3e79c54da4f54a932c5a2c">glfwGetJoystickHats</a>(<a class="code hl_define" href="group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87">GLFW_JOYSTICK_7</a>, &count);</div>
|
|
||||||
<div class="ttc" id="agroup__input_html_ga06e660841b3e79c54da4f54a932c5a2c"><div class="ttname"><a href="group__input.html#ga06e660841b3e79c54da4f54a932c5a2c">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__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:598</div></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>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_HAT_CENTERED</code> </td><td class="markdownTableBodyNone">0 </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_HAT_UP</code> </td><td class="markdownTableBodyNone">1 </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_HAT_RIGHT</code> </td><td class="markdownTableBodyNone">2 </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_HAT_DOWN</code> </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_HAT_LEFT</code> </td><td class="markdownTableBodyNone">8 </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_HAT_RIGHT_UP</code> </td><td class="markdownTableBodyNone"><code>GLFW_HAT_RIGHT</code> | <code>GLFW_HAT_UP</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_HAT_RIGHT_DOWN</code> </td><td class="markdownTableBodyNone"><code>GLFW_HAT_RIGHT</code> | <code>GLFW_HAT_DOWN</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_HAT_LEFT_UP</code> </td><td class="markdownTableBodyNone"><code>GLFW_HAT_LEFT</code> | <code>GLFW_HAT_UP</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<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] & <a class="code hl_define" 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 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:357</div></div>
|
|
||||||
</div><!-- fragment --><p>For backward compatibility with earlier versions that did not have <a class="el" href="group__input.html#ga06e660841b3e79c54da4f54a932c5a2c">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#ga5ffe34739d3dc97efe432ed2d81d9938">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#gac6a8e769e18e0bcfa9097793fc2c3978">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 hl_function" href="group__input.html#gac6a8e769e18e0bcfa9097793fc2c3978">glfwGetJoystickName</a>(<a class="code hl_define" href="group__joysticks.html#ga97ddbcad02b7f48d74fad4ddb08fff59">GLFW_JOYSTICK_4</a>);</div>
|
|
||||||
<div class="ttc" id="agroup__input_html_gac6a8e769e18e0bcfa9097793fc2c3978"><div class="ttname"><a href="group__input.html#gac6a8e769e18e0bcfa9097793fc2c3978">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__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:595</div></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 ID</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#ga18cefd7265d1fa04f3fd38a6746db5f3">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>
|
|
||||||
<p>The initial value of the pointer is <code>NULL</code>.</p>
|
|
||||||
<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 hl_function" href="group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c">glfwSetJoystickCallback</a>(joystick_callback);</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><!-- 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 hl_define" 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 hl_define" 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 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:1327</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:1326</div></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#gac6a8e769e18e0bcfa9097793fc2c3978">glfwGetJoystickName</a> and <a class="el" href="group__input.html#ga18cefd7265d1fa04f3fd38a6746db5f3">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>
|
|
||||||
<p>The joystick functions provide unlabeled axes, buttons and hats, with no indication of where they are located on the device. Their order may also vary between platforms even with the same device.</p>
|
|
||||||
<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 hl_function" href="group__input.html#gad0f676860f329d80f7e47e9f06a96f00">glfwJoystickIsGamepad</a>(<a class="code hl_define" 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 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__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:593</div></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#ga8aea73a1a25cc6c0486a617019f56728">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 hl_function" href="group__input.html#ga8aea73a1a25cc6c0486a617019f56728">glfwGetGamepadName</a>(<a class="code hl_define" href="group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87">GLFW_JOYSTICK_7</a>);</div>
|
|
||||||
<div class="ttc" id="agroup__input_html_ga8aea73a1a25cc6c0486a617019f56728"><div class="ttname"><a href="group__input.html#ga8aea73a1a25cc6c0486a617019f56728">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><!-- 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 hl_struct" href="struct_g_l_f_wgamepadstate.html">GLFWgamepadstate</a> state;</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keywordflow">if</span> (<a class="code hl_function" href="group__input.html#gadccddea8bce6113fa459de379ddaf051">glfwGetGamepadState</a>(<a class="code hl_define" href="group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654">GLFW_JOYSTICK_3</a>, &state))</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> <span class="keywordflow">if</span> (state.<a class="code hl_variable" href="struct_g_l_f_wgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a">buttons</a>[<a class="code hl_define" 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 hl_variable" href="struct_g_l_f_wgamepadstate.html#a8b2c8939b1d31458de5359998375c189">axes</a>[<a class="code hl_define" href="group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab">GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</a>]);</div>
|
|
||||||
<div class="line">}</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:653</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:618</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="astruct_g_l_f_wgamepadstate_html"><div class="ttname"><a href="struct_g_l_f_wgamepadstate.html">GLFWgamepadstate</a></div><div class="ttdoc">Gamepad input state.</div><div class="ttdef"><b>Definition:</b> glfw3.h:2120</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wgamepadstate_html_a27e9896b51c65df15fba2c7139bfdb9a"><div class="ttname"><a href="struct_g_l_f_wgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a">GLFWgamepadstate::buttons</a></div><div class="ttdeci">unsigned char buttons[15]</div><div class="ttdef"><b>Definition:</b> glfw3.h:2124</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wgamepadstate_html_a8b2c8939b1d31458de5359998375c189"><div class="ttname"><a href="struct_g_l_f_wgamepadstate.html#a8b2c8939b1d31458de5359998375c189">GLFWgamepadstate::axes</a></div><div class="ttdeci">float axes[6]</div><div class="ttdef"><b>Definition:</b> glfw3.h:2128</div></div>
|
|
||||||
</div><!-- fragment --><p>The <a class="el" href="struct_g_l_f_wgamepadstate.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#ga5ffe34739d3dc97efe432ed2d81d9938">glfwGetJoystickButtons</a> and <a class="el" href="group__input.html#gaeb1c0191d3140a233a682987c61eb408">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>
|
|
||||||
<p>The <a class="el" href="group__gamepad__axes.html">axis indices</a> are <code>GLFW_GAMEPAD_AXIS_LEFT_X</code>, <code>GLFW_GAMEPAD_AXIS_LEFT_Y</code>, <code>GLFW_GAMEPAD_AXIS_RIGHT_X</code>, <code>GLFW_GAMEPAD_AXIS_RIGHT_Y</code>, <code>GLFW_GAMEPAD_AXIS_LEFT_TRIGGER</code> and <code>GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER</code>.</p>
|
|
||||||
<p>The <code>GLFW_GAMEPAD_BUTTON_LAST</code> and <code>GLFW_GAMEPAD_AXIS_LAST</code> constants equal the largest available index for each array.</p>
|
|
||||||
<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">"game/data/gamecontrollerdb.txt"</span>);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><a class="code hl_function" href="group__input.html#gaed5104612f2fa8e66aa6e846652ad00f">glfwUpdateGamepadMappings</a>(mappings);</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><!-- 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>If you are compiling GLFW from source with CMake you can update the built-in mappings by building the <em>update_mappings</em> target. This runs the <code>GenerateMappings.cmake</code> CMake script, which downloads <code>gamecontrollerdb.txt</code> and regenerates the <code>mappings.h</code> header 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>
|
|
||||||
<p>The second value is always the human-readable name of the gamepad.</p>
|
|
||||||
<p>All subsequent values are in the form <code><field>:<value></code> and describe the layout of the mapping. These fields may not all be present and may occur in any order.</p>
|
|
||||||
<p>The button fields are <code>a</code>, <code>b</code>, <code>x</code>, <code>y</code>, <code>back</code>, <code>start</code>, <code>guide</code>, <code>dpup</code>, <code>dpright</code>, <code>dpdown</code>, <code>dpleft</code>, <code>leftshoulder</code>, <code>rightshoulder</code>, <code>leftstick</code> and <code>rightstick</code>.</p>
|
|
||||||
<p>The axis fields are <code>leftx</code>, <code>lefty</code>, <code>rightx</code>, <code>righty</code>, <code>lefttrigger</code> and <code>righttrigger</code>.</p>
|
|
||||||
<p>The value of an axis or button field can be a joystick button, a joystick axis, a hat bitmask or empty. Joystick buttons are specified as <code>bN</code>, for example <code>b2</code> for the third button. Joystick axes are specified as <code>aN</code>, for example <code>a7</code> for the eighth button. Joystick hat bit masks are specified as <code>hN.N</code>, for example <code>h0.8</code> for left on the first hat. More than one bit may be set in the mask.</p>
|
|
||||||
<p>Before an axis there may be a <code>+</code> or <code>-</code> range modifier, for example <code>+a3</code> for the positive half of the fourth axis. This restricts input to only the positive or negative halves of the joystick axis. After an axis or half-axis there may be the <code>~</code> inversion modifier, for example <code>a2~</code> or <code>-a7~</code>. This negates the values of the gamepad axis.</p>
|
|
||||||
<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>
|
|
||||||
<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 hl_function" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a>();</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><!-- 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 hl_function" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a>(4.0);</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><!-- 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 hl_function" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a>();</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><!-- fragment --><p>This value is in 1 / 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 hl_function" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a>();</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><!-- 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#ga71a5b20808ea92193d65c21b82580355">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 hl_function" href="group__input.html#ga71a5b20808ea92193d65c21b82580355">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 class="ttc" id="agroup__input_html_ga71a5b20808ea92193d65c21b82580355"><div class="ttname"><a href="group__input.html#ga71a5b20808ea92193d65c21b82580355">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><!-- 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 hl_function" href="group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd">glfwSetClipboardString</a>(NULL, <span class="stringliteral">"A string with words in it"</span>);</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><!-- 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 hl_function" href="group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b">glfwSetDropCallback</a>(window, drop_callback);</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><!-- 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 hl_typedef" 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 < 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 -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: internal.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">internal.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,135 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Internal structure</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Internal structure </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#internals_public">Public interface</a></li>
|
|
||||||
<li class="level1"><a href="#internals_native">Native interface</a></li>
|
|
||||||
<li class="level1"><a href="#internals_internal">Internal interface</a></li>
|
|
||||||
<li class="level1"><a href="#internals_platform">Platform interface</a></li>
|
|
||||||
<li class="level1"><a href="#internals_event">Event interface</a></li>
|
|
||||||
<li class="level1"><a href="#internals_static">Static functions</a></li>
|
|
||||||
<li class="level1"><a href="#internals_config">Configuration macros</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>There are several interfaces inside GLFW. Each interface has its own area of responsibility and its own naming conventions.</p>
|
|
||||||
<h1><a class="anchor" id="internals_public"></a>
|
|
||||||
Public interface</h1>
|
|
||||||
<p>The most well-known is the public interface, described in the <a class="el" href="glfw3_8h.html" title="The header of the GLFW 3 API.">glfw3.h</a> header file. This is implemented in source files shared by all platforms and these files contain no platform-specific code. This code usually ends up calling the platform and internal interfaces to do the actual work.</p>
|
|
||||||
<p>The public interface uses the OpenGL naming conventions except with GLFW and glfw instead of GL and gl. For struct members, where OpenGL sets no precedent, it use headless camel case.</p>
|
|
||||||
<p>Examples: <code>glfwCreateWindow</code>, <code>GLFWwindow</code>, <code>GLFW_RED_BITS</code></p>
|
|
||||||
<h1><a class="anchor" id="internals_native"></a>
|
|
||||||
Native interface</h1>
|
|
||||||
<p>The <a class="el" href="group__native.html">native interface</a> is a small set of publicly available but platform-specific functions, described in the <a class="el" href="glfw3native_8h.html" title="The header of the native access functions.">glfw3native.h</a> header file and used to gain access to the underlying window, context and (on some platforms) display handles used by the platform interface.</p>
|
|
||||||
<p>The function names of the native interface are similar to those of the public interface, but embeds the name of the interface that the returned handle is from.</p>
|
|
||||||
<p>Examples: <code>glfwGetX11Window</code>, <code>glfwGetWGLContext</code></p>
|
|
||||||
<h1><a class="anchor" id="internals_internal"></a>
|
|
||||||
Internal interface</h1>
|
|
||||||
<p>The internal interface consists of utility functions used by all other interfaces. It is shared code implemented in the same shared source files as the public and event interfaces. The internal interface is described in the internal.h header file.</p>
|
|
||||||
<p>The internal interface is in charge of GLFW's global data, which it stores in a <code>_GLFWlibrary</code> struct named <code>_glfw</code>.</p>
|
|
||||||
<p>The internal interface uses the same style as the public interface, except all global names have a leading underscore.</p>
|
|
||||||
<p>Examples: <code>_glfwIsValidContextConfig</code>, <code>_GLFWwindow</code>, <code>_glfw.monitorCount</code></p>
|
|
||||||
<h1><a class="anchor" id="internals_platform"></a>
|
|
||||||
Platform interface</h1>
|
|
||||||
<p>The platform interface implements all platform-specific operations as a service to the public interface. This includes event processing. The platform interface is never directly called by application code and never directly calls application-provided callbacks. It is also prohibited from modifying the platform-independent part of the internal structs. Instead, it calls the event interface when events interesting to GLFW are received.</p>
|
|
||||||
<p>The platform interface mostly mirrors those parts of the public interface that needs to perform platform-specific operations on some or all platforms.</p>
|
|
||||||
<p>The window system bits of the platform API is called through the <code>_GLFWplatform</code> struct of function pointers, to allow runtime selection of platform. This includes the window and context creation, input and event processing, monitor and Vulkan surface creation parts of GLFW. This is located in the global <code>_glfw</code> struct.</p>
|
|
||||||
<p>Examples: <code>_glfw.platform.createWindow</code></p>
|
|
||||||
<p>The timer, threading and module loading bits of the platform API are plain functions with a <code>_glfwPlatform</code> prefix, as these things are independent of what window system is being used.</p>
|
|
||||||
<p>Examples: <code>_glfwPlatformGetTimerValue</code></p>
|
|
||||||
<p>The platform interface also defines structs that contain platform-specific global and per-object state. Their names mirror those of the internal interface, except that an interface-specific suffix is added.</p>
|
|
||||||
<p>Examples: <code>_GLFWwindowX11</code>, <code>_GLFWcontextWGL</code></p>
|
|
||||||
<p>These structs are incorporated as members into the internal interface structs using special macros that name them after the specific interface used. This prevents shared code from accidentally using these members.</p>
|
|
||||||
<p>Examples: <code>window->win32.handle</code>, <code>_glfw.x11.display</code></p>
|
|
||||||
<h1><a class="anchor" id="internals_event"></a>
|
|
||||||
Event interface</h1>
|
|
||||||
<p>The event interface is implemented in the same shared source files as the public interface and is responsible for delivering the events it receives to the application, either via callbacks, via window state changes or both.</p>
|
|
||||||
<p>The function names of the event interface use a <code>_glfwInput</code> prefix and the ObjectEvent pattern.</p>
|
|
||||||
<p>Examples: <code>_glfwInputWindowFocus</code>, <code>_glfwInputCursorPos</code></p>
|
|
||||||
<h1><a class="anchor" id="internals_static"></a>
|
|
||||||
Static functions</h1>
|
|
||||||
<p>Static functions may be used by any interface and have no prefixes or suffixes. These use headless camel case.</p>
|
|
||||||
<p>Examples: <code>isValidElementForJoystick</code></p>
|
|
||||||
<h1><a class="anchor" id="internals_config"></a>
|
|
||||||
Configuration macros</h1>
|
|
||||||
<p>GLFW uses a number of configuration macros to select at compile time which interfaces and code paths to use. They are defined in the GLFW CMake target.</p>
|
|
||||||
<p>Configuration macros the same style as tokens in the public interface, except with a leading underscore.</p>
|
|
||||||
<p>Examples: <code>_GLFW_WIN32</code>, <code>_GLFW_BUILD_DLL</code> </p>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: intro.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">intro.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,420 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Introduction to the API</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Introduction to the API </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#intro_init">Initialization and termination</a><ul><li class="level2"><a href="#intro_init_init">Initializing GLFW</a></li>
|
|
||||||
<li class="level2"><a href="#init_hints">Initialization hints</a><ul><li class="level3"><a href="#init_hints_shared">Shared init hints</a></li>
|
|
||||||
<li class="level3"><a href="#init_hints_osx">macOS specific init hints</a></li>
|
|
||||||
<li class="level3"><a href="#init_hints_x11">X11 specific init hints</a></li>
|
|
||||||
<li class="level3"><a href="#init_hints_values">Supported and default values</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level2"><a href="#platform">Runtime platform selection</a></li>
|
|
||||||
<li class="level2"><a href="#init_allocator">Custom heap memory allocator</a></li>
|
|
||||||
<li class="level2"><a href="#intro_init_terminate">Terminating GLFW</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#error_handling">Error handling</a></li>
|
|
||||||
<li class="level1"><a href="#coordinate_systems">Coordinate systems</a></li>
|
|
||||||
<li class="level1"><a href="#guarantees_limitations">Guarantees and limitations</a><ul><li class="level2"><a href="#lifetime">Pointer lifetimes</a></li>
|
|
||||||
<li class="level2"><a href="#reentrancy">Reentrancy</a></li>
|
|
||||||
<li class="level2"><a href="#thread_safety">Thread safety</a></li>
|
|
||||||
<li class="level2"><a href="#compatibility">Version compatibility</a></li>
|
|
||||||
<li class="level2"><a href="#event_order">Event order</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#intro_version">Version management</a><ul><li class="level2"><a href="#intro_version_compile">Compile-time version</a></li>
|
|
||||||
<li class="level2"><a href="#intro_version_runtime">Run-time version</a></li>
|
|
||||||
<li class="level2"><a href="#intro_version_string">Version string</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This guide introduces the basic concepts of GLFW and describes initialization, error handling and API guarantees and limitations. For a broad but shallow tutorial, see <a class="el" href="quick_guide.html">Getting started</a> instead. For details on a specific function in this category, see the <a class="el" href="group__init.html">Initialization, version and error reference</a>.</p>
|
|
||||||
<p>There are also guides for the other areas of GLFW.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="window_guide.html">Window guide</a></li>
|
|
||||||
<li><a class="el" href="context_guide.html">Context guide</a></li>
|
|
||||||
<li><a class="el" href="vulkan_guide.html">Vulkan guide</a></li>
|
|
||||||
<li><a class="el" href="monitor_guide.html">Monitor guide</a></li>
|
|
||||||
<li><a class="el" href="input_guide.html">Input guide</a></li>
|
|
||||||
</ul>
|
|
||||||
<h1><a class="anchor" id="intro_init"></a>
|
|
||||||
Initialization and termination</h1>
|
|
||||||
<p>Before most GLFW functions may be called, the library must be initialized. This initialization checks what features are available on the machine, enumerates monitors, initializes the timer and performs any required platform-specific initialization.</p>
|
|
||||||
<p>Only the following functions may be called before the library has been successfully initialized, and only from the main thread.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga026abd003c8e6501981ab1662062f1c0">glfwGetVersionString</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</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#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga76af552d0307bb5f7791f245417d4752">glfwInitVulkanLoader</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>
|
|
||||||
</ul>
|
|
||||||
<p>Calling any other function before successful initialization will cause a <a class="el" href="group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a">GLFW_NOT_INITIALIZED</a> error.</p>
|
|
||||||
<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 hl_function" 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 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><!-- 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>
|
|
||||||
<p><b>macOS:</b> When the library is initialized the main menu and dock icon are created. These are not desirable for a command-line only program. The creation of the main menu and dock icon 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="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 hl_function" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a>(<a class="code hl_define" href="group__init.html#gab9c0534709fda03ec8959201da3a9a18">GLFW_JOYSTICK_HAT_BUTTONS</a>, <a class="code hl_define" href="group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5">GLFW_FALSE</a>);</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_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:1335</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:321</div></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>
|
|
||||||
<p><a class="anchor" id="GLFW_PLATFORM"></a><b>GLFW_PLATFORM</b> specifies the platform to use for windowing and input. Possible values are <code>GLFW_ANY_PLATFORM</code>, <code>GLFW_PLATFORM_WIN32</code>, <code>GLFW_PLATFORM_COCOA</code>, <code>GLFW_PLATFORM_X11</code>, <code>GLFW_PLATFORM_WAYLAND</code> and <code>GLFW_PLATFORM_NULL</code>. The default value is <code>GLFW_ANY_PLATFORM</code>, which will choose any platform the library includes support for except for the Null backend.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_JOYSTICK_HAT_BUTTONS"></a><b>GLFW_JOYSTICK_HAT_BUTTONS</b> specifies whether to also expose joystick hats as buttons, for compatibility with earlier versions of GLFW that did not have <a class="el" href="group__input.html#ga06e660841b3e79c54da4f54a932c5a2c">glfwGetJoystickHats</a>. Possible values are <code>GLFW_TRUE</code> and <code>GLFW_FALSE</code>.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_ANGLE_PLATFORM_TYPE_hint"></a><b>GLFW_ANGLE_PLATFORM_TYPE</b> specifies the platform type (rendering backend) to request when using OpenGL ES and EGL via <a href="https://chromium.googlesource.com/angle/angle/">ANGLE</a>. If the requested platform type is unavailable, ANGLE will use its default. Possible values are one of <code>GLFW_ANGLE_PLATFORM_TYPE_NONE</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_OPENGL</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_OPENGLES</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_D3D9</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_D3D11</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_VULKAN</code> and <code>GLFW_ANGLE_PLATFORM_TYPE_METAL</code>.</p>
|
|
||||||
<p>The ANGLE platform type is specified via the <code>EGL_ANGLE_platform_angle</code> extension. This extension is not used if this hint is <code>GLFW_ANGLE_PLATFORM_TYPE_NONE</code>, which is the default value.</p>
|
|
||||||
<h3><a class="anchor" id="init_hints_osx"></a>
|
|
||||||
macOS specific init hints</h3>
|
|
||||||
<p><a class="anchor" id="GLFW_COCOA_CHDIR_RESOURCES_hint"></a><b>GLFW_COCOA_CHDIR_RESOURCES</b> specifies whether to set the current directory to the application to the <code>Contents/Resources</code> subdirectory of the application's bundle, if present. Possible values are <code>GLFW_TRUE</code> and <code>GLFW_FALSE</code>. This is ignored on other platforms.</p>
|
|
||||||
<p><a class="anchor" id="GLFW_COCOA_MENUBAR_hint"></a><b>GLFW_COCOA_MENUBAR</b> specifies whether to create the menu bar and dock icon when GLFW is initialized. This applies whether the menu bar is created from a nib or manually by GLFW. Possible values are <code>GLFW_TRUE</code> and <code>GLFW_FALSE</code>. This is ignored on other platforms.</p>
|
|
||||||
<h3><a class="anchor" id="init_hints_x11"></a>
|
|
||||||
X11 specific init hints</h3>
|
|
||||||
<p><a class="anchor" id="GLFW_X11_XCB_VULKAN_SURFACE_hint"></a><b>GLFW_X11_XCB_VULKAN_SURFACE</b> specifies whether to prefer the <code>VK_KHR_xcb_surface</code> extension for creating Vulkan surfaces, or whether to use the <code>VK_KHR_xlib_surface</code> extension. Possible values are <code>GLFW_TRUE</code> and <code>GLFW_FALSE</code>. This is ignored on other platforms.</p>
|
|
||||||
<h3><a class="anchor" id="init_hints_values"></a>
|
|
||||||
Supported and default values</h3>
|
|
||||||
<table class="markdownTable">
|
|
||||||
<tr class="markdownTableHead">
|
|
||||||
<th class="markdownTableHeadNone">Initialization hint </th><th class="markdownTableHeadNone">Default value </th><th class="markdownTableHeadNone">Supported values </th></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a> </td><td class="markdownTableBodyNone"><code>GLFW_ANY_PLATFORM</code> </td><td class="markdownTableBodyNone"><code>GLFW_ANY_PLATFORM</code>, <code>GLFW_PLATFORM_WIN32</code>, <code>GLFW_PLATFORM_COCOA</code>, <code>GLFW_PLATFORM_X11</code>, <code>GLFW_PLATFORM_WAYLAND</code> or <code>GLFW_PLATFORM_NULL</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><a class="el" href="intro_guide.html#GLFW_JOYSTICK_HAT_BUTTONS">GLFW_JOYSTICK_HAT_BUTTONS</a> </td><td class="markdownTableBodyNone"><code>GLFW_TRUE</code> </td><td class="markdownTableBodyNone"><code>GLFW_TRUE</code> or <code>GLFW_FALSE</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><a class="el" href="group__init.html#gaec269b24cf549ab46292c0125d8bbdce">GLFW_ANGLE_PLATFORM_TYPE</a> </td><td class="markdownTableBodyNone"><code>GLFW_ANGLE_PLATFORM_TYPE_NONE</code> </td><td class="markdownTableBodyNone"><code>GLFW_ANGLE_PLATFORM_TYPE_NONE</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_OPENGL</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_OPENGLES</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_D3D9</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_D3D11</code>, <code>GLFW_ANGLE_PLATFORM_TYPE_VULKAN</code> or <code>GLFW_ANGLE_PLATFORM_TYPE_METAL</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><a class="el" href="group__init.html#gab937983147a3158d45f88fad7129d9f2">GLFW_COCOA_CHDIR_RESOURCES</a> </td><td class="markdownTableBodyNone"><code>GLFW_TRUE</code> </td><td class="markdownTableBodyNone"><code>GLFW_TRUE</code> or <code>GLFW_FALSE</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><a class="el" href="group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf">GLFW_COCOA_MENUBAR</a> </td><td class="markdownTableBodyNone"><code>GLFW_TRUE</code> </td><td class="markdownTableBodyNone"><code>GLFW_TRUE</code> or <code>GLFW_FALSE</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><a class="el" href="group__init.html#gaa341e303ebeb8e4199b8ab8be84351f6">GLFW_X11_XCB_VULKAN_SURFACE</a> </td><td class="markdownTableBodyNone"><code>GLFW_TRUE</code> </td><td class="markdownTableBodyNone"><code>GLFW_TRUE</code> or <code>GLFW_FALSE</code> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2><a class="anchor" id="platform"></a>
|
|
||||||
Runtime platform selection</h2>
|
|
||||||
<p>GLFW can be compiled for more than one platform (window system) at once. This lets a single library binary support both X11 and Wayland on Linux and other Unix-like systems.</p>
|
|
||||||
<p>You can control platform selection via the <a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a> initialization hint. By default, this is set to <a class="el" href="group__init.html#ga18b2d37374d0dea28cd69194fa85b859">GLFW_ANY_PLATFORM</a>, which will look for supported window systems in order of priority and select the first one it finds. It can also be set to any specific platform to have GLFW only look for that one.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a>(<a class="code hl_define" href="group__init.html#ga9d38bf1fdf4f91d6565401734a7cd967">GLFW_PLATFORM</a>, <a class="code hl_define" href="group__init.html#gaf5333f3933e9c248a00cfda6523f386b">GLFW_PLATFORM_X11</a>);</div>
|
|
||||||
<div class="ttc" id="agroup__init_html_ga9d38bf1fdf4f91d6565401734a7cd967"><div class="ttname"><a href="group__init.html#ga9d38bf1fdf4f91d6565401734a7cd967">GLFW_PLATFORM</a></div><div class="ttdeci">#define GLFW_PLATFORM</div><div class="ttdoc">Platform selection init hint.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1345</div></div>
|
|
||||||
<div class="ttc" id="agroup__init_html_gaf5333f3933e9c248a00cfda6523f386b"><div class="ttname"><a href="group__init.html#gaf5333f3933e9c248a00cfda6523f386b">GLFW_PLATFORM_X11</a></div><div class="ttdeci">#define GLFW_PLATFORM_X11</div><div class="ttdef"><b>Definition:</b> glfw3.h:1374</div></div>
|
|
||||||
</div><!-- fragment --><p>This mechanism also provides the Null platform, which is always supported but needs to be explicitly requested. This platform is effectively a stub, emulating a window system on a single 1080p monitor, but will not interact with any actual window system.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a>(<a class="code hl_define" href="group__init.html#ga9d38bf1fdf4f91d6565401734a7cd967">GLFW_PLATFORM</a>, <a class="code hl_define" href="group__init.html#gac06fad5a4866ae7a1d7b2675fac72d7f">GLFW_PLATFORM_NULL</a>);</div>
|
|
||||||
<div class="ttc" id="agroup__init_html_gac06fad5a4866ae7a1d7b2675fac72d7f"><div class="ttname"><a href="group__init.html#gac06fad5a4866ae7a1d7b2675fac72d7f">GLFW_PLATFORM_NULL</a></div><div class="ttdeci">#define GLFW_PLATFORM_NULL</div><div class="ttdef"><b>Definition:</b> glfw3.h:1375</div></div>
|
|
||||||
</div><!-- fragment --><p>You can test whether a library binary was compiled with support for a specific platform with <a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a>.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code hl_function" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a>(<a class="code hl_define" href="group__init.html#gac4b08906a3cbf26c518a4a543eedd740">GLFW_PLATFORM_WAYLAND</a>))</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__init.html#ga110fd1d3f0412822b4f1908c026f724a">glfwInitHint</a>(<a class="code hl_define" href="group__init.html#ga9d38bf1fdf4f91d6565401734a7cd967">GLFW_PLATFORM</a>, <a class="code hl_define" href="group__init.html#gac4b08906a3cbf26c518a4a543eedd740">GLFW_PLATFORM_WAYLAND</a>);</div>
|
|
||||||
<div class="ttc" id="agroup__init_html_ga8785d2b6b36632368d803e78079d38ed"><div class="ttname"><a href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a></div><div class="ttdeci">int glfwPlatformSupported(int platform)</div><div class="ttdoc">Returns whether the library includes support for the specified platform.</div></div>
|
|
||||||
<div class="ttc" id="agroup__init_html_gac4b08906a3cbf26c518a4a543eedd740"><div class="ttname"><a href="group__init.html#gac4b08906a3cbf26c518a4a543eedd740">GLFW_PLATFORM_WAYLAND</a></div><div class="ttdeci">#define GLFW_PLATFORM_WAYLAND</div><div class="ttdef"><b>Definition:</b> glfw3.h:1373</div></div>
|
|
||||||
</div><!-- fragment --><p>Once GLFW has been initialized, you can query which platform was selected with <a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a>.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordtype">int</span> platform = <a class="code hl_function" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a>();</div>
|
|
||||||
<div class="ttc" id="agroup__init_html_ga6d6a983d38bd4e8fd786d7a9061d399e"><div class="ttname"><a href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a></div><div class="ttdeci">int glfwGetPlatform(void)</div><div class="ttdoc">Returns the currently selected platform.</div></div>
|
|
||||||
</div><!-- fragment --><p>If you are using any <a class="el" href="group__native.html">native access functions</a>, especially on Linux and other Unix-like systems, then you may need to check that you are calling the ones matching the selected platform.</p>
|
|
||||||
<h2><a class="anchor" id="init_allocator"></a>
|
|
||||||
Custom heap memory allocator</h2>
|
|
||||||
<p>The heap memory allocator can be customized before initialization with <a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a>.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_struct" href="struct_g_l_f_wallocator.html">GLFWallocator</a> allocator;</div>
|
|
||||||
<div class="line">allocator.<a class="code hl_variable" href="struct_g_l_f_wallocator.html#a18a798136f17a9cb105be18312193bf7">allocate</a> = my_malloc;</div>
|
|
||||||
<div class="line">allocator.<a class="code hl_variable" href="struct_g_l_f_wallocator.html#af5a674af9e170095b968f467233437be">reallocate</a> = my_realloc;</div>
|
|
||||||
<div class="line">allocator.<a class="code hl_variable" href="struct_g_l_f_wallocator.html#ab74cf9a969e73e6eb65a6112a591a988">deallocate</a> = my_free;</div>
|
|
||||||
<div class="line">allocator.<a class="code hl_variable" href="struct_g_l_f_wallocator.html#af6153be74dbaf7f0a7e8bd3bfc039910">user</a> = NULL;</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><a class="code hl_function" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a>(&allocator);</div>
|
|
||||||
<div class="ttc" id="agroup__init_html_ga9dde93e9891fa7dd17e4194c9f3ae7c6"><div class="ttname"><a href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a></div><div class="ttdeci">void glfwInitAllocator(const GLFWallocator *allocator)</div><div class="ttdoc">Sets the init allocator to the desired value.</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wallocator_html"><div class="ttname"><a href="struct_g_l_f_wallocator.html">GLFWallocator</a></div><div class="ttdef"><b>Definition:</b> glfw3.h:2141</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wallocator_html_a18a798136f17a9cb105be18312193bf7"><div class="ttname"><a href="struct_g_l_f_wallocator.html#a18a798136f17a9cb105be18312193bf7">GLFWallocator::allocate</a></div><div class="ttdeci">GLFWallocatefun allocate</div><div class="ttdef"><b>Definition:</b> glfw3.h:2142</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wallocator_html_ab74cf9a969e73e6eb65a6112a591a988"><div class="ttname"><a href="struct_g_l_f_wallocator.html#ab74cf9a969e73e6eb65a6112a591a988">GLFWallocator::deallocate</a></div><div class="ttdeci">GLFWdeallocatefun deallocate</div><div class="ttdef"><b>Definition:</b> glfw3.h:2144</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wallocator_html_af5a674af9e170095b968f467233437be"><div class="ttname"><a href="struct_g_l_f_wallocator.html#af5a674af9e170095b968f467233437be">GLFWallocator::reallocate</a></div><div class="ttdeci">GLFWreallocatefun reallocate</div><div class="ttdef"><b>Definition:</b> glfw3.h:2143</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wallocator_html_af6153be74dbaf7f0a7e8bd3bfc039910"><div class="ttname"><a href="struct_g_l_f_wallocator.html#af6153be74dbaf7f0a7e8bd3bfc039910">GLFWallocator::user</a></div><div class="ttdeci">void * user</div><div class="ttdef"><b>Definition:</b> glfw3.h:2145</div></div>
|
|
||||||
</div><!-- fragment --><p>The allocator will be picked up at the beginning of initialization and will be used until GLFW has been fully terminated. Any allocator set after initialization will be picked up only at the next initialization.</p>
|
|
||||||
<p>The allocator will only be used for allocations that would have been made with the C standard library. Memory allocations that must be made with platform specific APIs will still use those.</p>
|
|
||||||
<p>The allocation function must have a signature matching <a class="el" href="group__init.html#ga4306a564e9f60f4de8cc8f31731a3120">GLFWallocatefun</a>. It receives the desired size, in bytes, and the user pointer passed to <a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a> and returns the address to the allocated memory block.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordtype">void</span>* my_malloc(<span class="keywordtype">size_t</span> size, <span class="keywordtype">void</span>* user)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> ...</div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
</div><!-- fragment --><p>The reallocation function must have a function signature matching <a class="el" href="group__init.html#ga3e88a829615d8efe8bec1746f7309c63">GLFWreallocatefun</a>. It receives the memory block to be reallocated, the new desired size, in bytes, and the user pointer passed to <a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a> and returns the address to the resized memory block.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordtype">void</span>* my_realloc(<span class="keywordtype">void</span>* block, <span class="keywordtype">size_t</span> size, <span class="keywordtype">void</span>* user)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> ...</div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
</div><!-- fragment --><p>The deallocation function must have a function signature matching <a class="el" href="group__init.html#ga7181615eda94c4b07bd72bdcee39fa28">GLFWdeallocatefun</a>. It receives the memory block to be deallocated and the user pointer passed to <a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a>.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordtype">void</span> my_free(<span class="keywordtype">void</span>* block, <span class="keywordtype">void</span>* user)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> ...</div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
</div><!-- fragment --><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 hl_function" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>();</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><!-- 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, therefore 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 returns 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 hl_function" 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 hl_define" href="group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4">GLFW_NO_ERROR</a>)</div>
|
|
||||||
<div class="line"> handle_error(code);</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:670</div></div>
|
|
||||||
<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><!-- 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 hl_function" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a>(&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 hl_function" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a>(error_callback);</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><!-- 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>
|
|
||||||
<p><img src="spaces.svg" alt="" style="pointer-events: none;" 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>
|
|
||||||
<p>Almost all positions and sizes in GLFW are measured in screen coordinates relative to one of the two origins above. This includes cursor positions, window positions and sizes, window frame sizes, monitor positions and video mode resolutions.</p>
|
|
||||||
<p>Two exceptions are the <a class="el" href="monitor_guide.html#monitor_size">monitor physical size</a>, which is measured in millimetres, and <a class="el" href="window_guide.html#window_fbsize">framebuffer size</a>, which is measured in pixels.</p>
|
|
||||||
<p>Pixels and screen coordinates may map 1:1 on your machine, but they won't on every other machine, for example on a Mac with a Retina display. The ratio between screen coordinates and pixels may also change at run-time depending on which monitor the window is currently considered to be on.</p>
|
|
||||||
<h1><a class="anchor" id="guarantees_limitations"></a>
|
|
||||||
Guarantees and limitations</h1>
|
|
||||||
<p>This section describes the conditions under which GLFW can be expected to function, barring bugs in the operating system or drivers. Use of GLFW outside these limits may work on some platforms, or on some machines, or some of the time, or on some versions of GLFW, but it may break at any time and this will not be considered a bug.</p>
|
|
||||||
<h2><a class="anchor" id="lifetime"></a>
|
|
||||||
Pointer lifetimes</h2>
|
|
||||||
<p>GLFW will never free any pointer you provide to it, and you must never free any pointer it provides to you.</p>
|
|
||||||
<p>Many GLFW functions return pointers to dynamically allocated structures, strings or arrays, and some callbacks are provided with strings or arrays. These are always managed by GLFW and should never be freed by the application. The lifetime of these pointers is documented for each GLFW function and callback. If you need to keep this data, you must copy it before its lifetime expires.</p>
|
|
||||||
<p>Many GLFW functions accept pointers to structures or strings allocated by the application. These are never freed by GLFW and are always the responsibility of the application. If GLFW needs to keep the data in these structures or strings, it is copied before the function returns.</p>
|
|
||||||
<p>Pointer lifetimes are guaranteed not to be shortened in future minor or patch releases.</p>
|
|
||||||
<h2><a class="anchor" id="reentrancy"></a>
|
|
||||||
Reentrancy</h2>
|
|
||||||
<p>GLFW event processing and object destruction are not reentrant. This means that the following functions must not be called from any callback function:</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a></li>
|
|
||||||
<li><a class="el" href="group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a">glfwDestroyCursor</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf">glfwWaitEventsTimeout</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>These functions may be made reentrant in future minor or patch releases, but functions not on this list will not be made non-reentrant.</p>
|
|
||||||
<h2><a class="anchor" id="thread_safety"></a>
|
|
||||||
Thread safety</h2>
|
|
||||||
<p>Most GLFW functions must only be called from the main thread (the thread that calls main), but some may be called from any thread once the library has been initialized. Before initialization the whole library is thread-unsafe.</p>
|
|
||||||
<p>The reference documentation for every GLFW function states whether it is limited to the main thread.</p>
|
|
||||||
<p>Initialization, termination, event processing and the creation and destruction of windows, cursors and OpenGL and OpenGL ES contexts are all restricted to the main thread due to limitations of one or several platforms.</p>
|
|
||||||
<p>Because event processing must be performed on the main thread, all callbacks except for the error callback will only be called on that thread. The error callback may be called on any thread, as any GLFW function may generate errors.</p>
|
|
||||||
<p>The error code and description may be queried from any thread.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__init.html#ga944986b4ec0b928d488141f92982aa18">glfwGetError</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>Empty events may be posted from any thread.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>The window user pointer and close flag may be read and written from any thread, but this is not synchronized by GLFW.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__window.html#gae77a4add0d2023ca21ff1443ced01653">glfwGetWindowUserPointer</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga3d2fc6026e690ab31a13f78bc9fd3651">glfwSetWindowUserPointer</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga49c449dde2a6f87d996f4daaa09d6708">glfwSetWindowShouldClose</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>These functions for working with OpenGL and OpenGL ES contexts may be called from any thread, but the window object is not synchronized by GLFW.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a></li>
|
|
||||||
<li><a class="el" href="group__context.html#gad94e80185397a6cf5fe2ab30567af71c">glfwGetCurrentContext</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a></li>
|
|
||||||
<li><a class="el" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a></li>
|
|
||||||
<li><a class="el" href="group__context.html#ga87425065c011cef1ebd6aac75e059dfa">glfwExtensionSupported</a></li>
|
|
||||||
<li><a class="el" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>The raw timer functions may be called from any thread.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__input.html#ga3289ee876572f6e91f06df3a24824443">glfwGetTimerFrequency</a></li>
|
|
||||||
<li><a class="el" href="group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa">glfwGetTimerValue</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>The regular timer may be used from any thread, but reading and writing the timer offset is not synchronized by GLFW.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a></li>
|
|
||||||
<li><a class="el" href="group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0">glfwSetTime</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>Library version information may be queried from any thread.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga026abd003c8e6501981ab1662062f1c0">glfwGetVersionString</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>Platform information may be queried from any thread.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>All Vulkan related functions may be called from any thread.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b">glfwVulkanSupported</a></li>
|
|
||||||
<li><a class="el" href="group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6">glfwGetRequiredInstanceExtensions</a></li>
|
|
||||||
<li><a class="el" href="group__vulkan.html#gadf228fac94c5fd8f12423ec9af9ff1e9">glfwGetInstanceProcAddress</a></li>
|
|
||||||
<li><a class="el" href="group__vulkan.html#gaff3823355cdd7e2f3f9f4d9ea9518d92">glfwGetPhysicalDevicePresentationSupport</a></li>
|
|
||||||
<li><a class="el" href="group__vulkan.html#ga1a24536bec3f80b08ead18e28e6ae965">glfwCreateWindowSurface</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>GLFW uses synchronization objects internally only to manage the per-thread context and error states. Additional synchronization is left to the application.</p>
|
|
||||||
<p>Functions that may currently be called from any thread will always remain so, but functions that are currently limited to the main thread may be updated to allow calls from any thread in future releases.</p>
|
|
||||||
<h2><a class="anchor" id="compatibility"></a>
|
|
||||||
Version compatibility</h2>
|
|
||||||
<p>GLFW uses <a href="https://semver.org/">Semantic Versioning</a>. This guarantees source and binary backward compatibility with earlier minor versions of the API. This means that you can drop in a newer version of the library and existing programs will continue to compile and existing binaries will continue to run.</p>
|
|
||||||
<p>Once a function or constant has been added, the signature of that function or value of that constant will remain unchanged until the next major version of GLFW. No compatibility of any kind is guaranteed between major versions.</p>
|
|
||||||
<p>Undocumented behavior, i.e. behavior that is not described in the documentation, may change at any time until it is documented.</p>
|
|
||||||
<p>If the reference documentation and the implementation differ, the reference documentation will almost always take precedence and the implementation will be fixed in the next release. The reference documentation will also take precedence over anything stated in a guide.</p>
|
|
||||||
<h2><a class="anchor" id="event_order"></a>
|
|
||||||
Event order</h2>
|
|
||||||
<p>The order of arrival of related events is not guaranteed to be consistent across platforms. The exception is synthetic key and mouse button release events, which are always delivered after the window defocus event.</p>
|
|
||||||
<h1><a class="anchor" id="intro_version"></a>
|
|
||||||
Version management</h1>
|
|
||||||
<p>GLFW provides mechanisms for identifying what version of GLFW your application was compiled against as well as what version it is currently running against. If you are loading GLFW dynamically (not just linking dynamically), you can use this to verify that the library binary is compatible with your application.</p>
|
|
||||||
<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">"Compiled against GLFW %i.%i.%i\n"</span>,</div>
|
|
||||||
<div class="line"> <a class="code hl_define" href="group__init.html#ga6337d9ea43b22fc529b2bba066b4a576">GLFW_VERSION_MAJOR</a>,</div>
|
|
||||||
<div class="line"> <a class="code hl_define" href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">GLFW_VERSION_MINOR</a>,</div>
|
|
||||||
<div class="line"> <a class="code hl_define" href="group__init.html#gab72ae2e2035d9ea461abc3495eac0502">GLFW_VERSION_REVISION</a>);</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 header.</div><div class="ttdef"><b>Definition:</b> glfw3.h:287</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 header.</div><div class="ttdef"><b>Definition:</b> glfw3.h:301</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 header.</div><div class="ttdef"><b>Definition:</b> glfw3.h:294</div></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 hl_function" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a>(&major, &minor, &revision);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line">printf(<span class="stringliteral">"Running against GLFW %i.%i.%i\n"</span>, major, minor, revision);</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><!-- 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#ga026abd003c8e6501981ab1662062f1c0">glfwGetVersionString</a>, a function that may be called regardless of whether GLFW is initialized.</p>
|
|
||||||
<p><b>Do not use the version string</b> to parse the GLFW library version. The <a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a> function already provides the version of the running library binary.</p>
|
|
||||||
<p><b>Do not use the version string</b> to parse what platforms are supported. The <a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a> function lets you query platform support.</p>
|
|
||||||
<p><b>GLFW 3.4:</b> The format of this string was changed to support the addition of <a class="el" href="intro_guide.html#platform">runtime platform selection</a>.</p>
|
|
||||||
<p>The format of the string is as follows:</p><ul>
|
|
||||||
<li>The version of GLFW</li>
|
|
||||||
<li>For each supported platform:<ul>
|
|
||||||
<li>The name of the window system API</li>
|
|
||||||
<li>The name of the window system specific context creation API, if applicable</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>The names of the always supported context creation APIs EGL and OSMesa</li>
|
|
||||||
<li>Any additional compile-time options, APIs and (on Windows) what compiler was used</li>
|
|
||||||
</ul>
|
|
||||||
<p>For example, compiling GLFW 3.4 with MinGW as a DLL for Windows, may result in a version string like this:</p>
|
|
||||||
<div class="fragment"><div class="line">3.4.0 Win32 WGL Null EGL OSMesa MinGW DLL</div>
|
|
||||||
</div><!-- fragment --><p>Compiling GLFW as a static library for Linux, with both Wayland and X11 enabled, may result in a version string like this:</p>
|
|
||||||
<div class="fragment"><div class="line">3.4.0 Wayland X11 GLX Null EGL OSMesa monotonic</div>
|
|
||||||
</div><!-- fragment --> </div></div><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
34
build-static/docs/html/jquery.js
vendored
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: main.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">main.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,136 +0,0 @@
|
|||||||
/*
|
|
||||||
@licstart The following is the entire license notice for the JavaScript code in this file.
|
|
||||||
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (C) 1997-2020 by Dimitri van Heesch
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
||||||
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
||||||
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
||||||
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all copies or
|
|
||||||
substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
|
||||||
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
||||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
@licend The above is the entire license notice for the JavaScript code in this file
|
|
||||||
*/
|
|
||||||
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
|
|
||||||
function makeTree(data,relPath) {
|
|
||||||
var result='';
|
|
||||||
if ('children' in data) {
|
|
||||||
result+='<ul>';
|
|
||||||
for (var i in data.children) {
|
|
||||||
var url;
|
|
||||||
var link;
|
|
||||||
link = data.children[i].url;
|
|
||||||
if (link.substring(0,1)=='^') {
|
|
||||||
url = link.substring(1);
|
|
||||||
} else {
|
|
||||||
url = relPath+link;
|
|
||||||
}
|
|
||||||
result+='<li><a href="'+url+'">'+
|
|
||||||
data.children[i].text+'</a>'+
|
|
||||||
makeTree(data.children[i],relPath)+'</li>';
|
|
||||||
}
|
|
||||||
result+='</ul>';
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
var searchBoxHtml;
|
|
||||||
if (searchEnabled) {
|
|
||||||
if (serverSide) {
|
|
||||||
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
|
|
||||||
'<div class="left">'+
|
|
||||||
'<form id="FSearchBox" action="'+relPath+searchPage+
|
|
||||||
'" method="get"><span id="MSearchSelectExt"> </span>'+
|
|
||||||
'<input type="text" id="MSearchField" name="query" value="" placeholder="'+search+
|
|
||||||
'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
|
|
||||||
' onblur="searchBox.OnSearchFieldFocus(false)"/>'+
|
|
||||||
'</form>'+
|
|
||||||
'</div>'+
|
|
||||||
'<div class="right"></div>'+
|
|
||||||
'</div>';
|
|
||||||
} else {
|
|
||||||
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
|
|
||||||
'<span class="left">'+
|
|
||||||
'<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()"'+
|
|
||||||
' onmouseout="return searchBox.OnSearchSelectHide()"> </span>'+
|
|
||||||
'<input type="text" id="MSearchField" value="" placeholder="'+search+
|
|
||||||
'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
|
|
||||||
'onblur="searchBox.OnSearchFieldFocus(false)" '+
|
|
||||||
'onkeyup="searchBox.OnSearchFieldChange(event)"/>'+
|
|
||||||
'</span>'+
|
|
||||||
'<span class="right"><a id="MSearchClose" '+
|
|
||||||
'href="javascript:searchBox.CloseResultsWindow()">'+
|
|
||||||
'<img id="MSearchCloseImg" border="0" src="'+relPath+
|
|
||||||
'search/close.svg" alt=""/></a>'+
|
|
||||||
'</span>'+
|
|
||||||
'</div>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#main-nav').before('<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>'+
|
|
||||||
'<label class="main-menu-btn" for="main-menu-state">'+
|
|
||||||
'<span class="main-menu-btn-icon"></span> '+
|
|
||||||
'Toggle main menu visibility</label>'+
|
|
||||||
'<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>'+
|
|
||||||
'</div>');
|
|
||||||
$('#main-nav').append(makeTree(menudata,relPath));
|
|
||||||
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
|
|
||||||
if (searchBoxHtml) {
|
|
||||||
$('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
|
|
||||||
}
|
|
||||||
var $mainMenuState = $('#main-menu-state');
|
|
||||||
var prevWidth = 0;
|
|
||||||
if ($mainMenuState.length) {
|
|
||||||
function initResizableIfExists() {
|
|
||||||
if (typeof initResizable==='function') initResizable();
|
|
||||||
}
|
|
||||||
// animate mobile menu
|
|
||||||
$mainMenuState.change(function(e) {
|
|
||||||
var $menu = $('#main-menu');
|
|
||||||
var options = { duration: 250, step: initResizableIfExists };
|
|
||||||
if (this.checked) {
|
|
||||||
options['complete'] = function() { $menu.css('display', 'block') };
|
|
||||||
$menu.hide().slideDown(options);
|
|
||||||
} else {
|
|
||||||
options['complete'] = function() { $menu.css('display', 'none') };
|
|
||||||
$menu.show().slideUp(options);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// set default menu visibility
|
|
||||||
function resetState() {
|
|
||||||
var $menu = $('#main-menu');
|
|
||||||
var $mainMenuState = $('#main-menu-state');
|
|
||||||
var newWidth = $(window).outerWidth();
|
|
||||||
if (newWidth!=prevWidth) {
|
|
||||||
if ($(window).outerWidth()<768) {
|
|
||||||
$mainMenuState.prop('checked',false); $menu.hide();
|
|
||||||
$('#searchBoxPos1').html(searchBoxHtml);
|
|
||||||
$('#searchBoxPos2').hide();
|
|
||||||
} else {
|
|
||||||
$menu.show();
|
|
||||||
$('#searchBoxPos1').empty();
|
|
||||||
$('#searchBoxPos2').html(searchBoxHtml);
|
|
||||||
$('#searchBoxPos2').show();
|
|
||||||
}
|
|
||||||
if (typeof searchBox!=='undefined') {
|
|
||||||
searchBox.CloseResultsWindow();
|
|
||||||
}
|
|
||||||
prevWidth = newWidth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$(window).ready(function() { resetState(); initResizableIfExists(); });
|
|
||||||
$(window).resize(resetState);
|
|
||||||
}
|
|
||||||
$('#main-menu').smartmenus();
|
|
||||||
}
|
|
||||||
/* @license-end */
|
|
@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
@licstart The following is the entire license notice for the JavaScript code in this file.
|
|
||||||
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (C) 1997-2020 by Dimitri van Heesch
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
||||||
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
||||||
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
||||||
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all copies or
|
|
||||||
substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
|
||||||
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
||||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
@licend The above is the entire license notice for the JavaScript code in this file
|
|
||||||
*/
|
|
||||||
var menudata={children:[
|
|
||||||
{text:"Introduction",url:"index.html"},
|
|
||||||
{text:"Tutorial",url:"quick_guide.html"},
|
|
||||||
{text:"Guides",url:"pages.html"},
|
|
||||||
{text:"Reference",url:"modules.html"},
|
|
||||||
{text:"Files",url:"files.html"}]}
|
|
@ -1,101 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock">Here is a list of all modules:</div><div class="directory">
|
|
||||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
|
||||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__context.html" target="_self">Context reference</a></td><td class="desc">Functions and types related to OpenGL and OpenGL ES contexts </td></tr>
|
|
||||||
<tr id="row_1_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><a class="el" href="group__init.html" target="_self">Initialization, version and error reference</a></td><td class="desc">Functions and types related to initialization and error handling </td></tr>
|
|
||||||
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__errors.html" target="_self">Error codes</a></td><td class="desc">Error codes </td></tr>
|
|
||||||
<tr id="row_2_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><a class="el" href="group__input.html" target="_self">Input reference</a></td><td class="desc">Functions and types related to input handling </td></tr>
|
|
||||||
<tr id="row_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__gamepad__axes.html" target="_self">Gamepad axes</a></td><td class="desc">Gamepad axes </td></tr>
|
|
||||||
<tr id="row_2_1_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__gamepad__buttons.html" target="_self">Gamepad buttons</a></td><td class="desc">Gamepad buttons </td></tr>
|
|
||||||
<tr id="row_2_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hat__state.html" target="_self">Joystick hat states</a></td><td class="desc">Joystick hat states </td></tr>
|
|
||||||
<tr id="row_2_3_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__joysticks.html" target="_self">Joysticks</a></td><td class="desc">Joystick IDs </td></tr>
|
|
||||||
<tr id="row_2_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__keys.html" target="_self">Keyboard keys</a></td><td class="desc">Keyboard key IDs </td></tr>
|
|
||||||
<tr id="row_2_5_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__mods.html" target="_self">Modifier key flags</a></td><td class="desc">Modifier key flags </td></tr>
|
|
||||||
<tr id="row_2_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__buttons.html" target="_self">Mouse buttons</a></td><td class="desc">Mouse button IDs </td></tr>
|
|
||||||
<tr id="row_2_7_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__shapes.html" target="_self">Standard cursor shapes</a></td><td class="desc">Standard system cursor shapes </td></tr>
|
|
||||||
<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__monitor.html" target="_self">Monitor reference</a></td><td class="desc">Functions and types related to monitors </td></tr>
|
|
||||||
<tr id="row_4_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__native.html" target="_self">Native access</a></td><td class="desc">Functions related to accessing native handles </td></tr>
|
|
||||||
<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__vulkan.html" target="_self">Vulkan support reference</a></td><td class="desc">Functions and types related to Vulkan </td></tr>
|
|
||||||
<tr id="row_6_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__window.html" target="_self">Window reference</a></td><td class="desc">Functions and types related to windows </td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- directory -->
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: monitor.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">monitor.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,229 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Monitor guide</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Monitor guide </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#monitor_object">Monitor objects</a><ul><li class="level2"><a href="#monitor_monitors">Retrieving monitors</a></li>
|
|
||||||
<li class="level2"><a href="#monitor_event">Monitor configuration changes</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#monitor_properties">Monitor properties</a><ul><li class="level2"><a href="#monitor_modes">Video modes</a></li>
|
|
||||||
<li class="level2"><a href="#monitor_size">Physical size</a></li>
|
|
||||||
<li class="level2"><a href="#monitor_scale">Content scale</a></li>
|
|
||||||
<li class="level2"><a href="#monitor_pos">Virtual position</a></li>
|
|
||||||
<li class="level2"><a href="#monitor_workarea">Work area</a></li>
|
|
||||||
<li class="level2"><a href="#monitor_name">Human-readable name</a></li>
|
|
||||||
<li class="level2"><a href="#monitor_userptr">User pointer</a></li>
|
|
||||||
<li class="level2"><a href="#monitor_gamma">Gamma ramp</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This guide introduces the monitor related functions of GLFW. For details on a specific function in this category, see the <a class="el" href="group__monitor.html">Monitor reference</a>. There are also guides for the other areas of GLFW.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="intro_guide.html">Introduction to the API</a></li>
|
|
||||||
<li><a class="el" href="window_guide.html">Window guide</a></li>
|
|
||||||
<li><a class="el" href="context_guide.html">Context guide</a></li>
|
|
||||||
<li><a class="el" href="vulkan_guide.html">Vulkan guide</a></li>
|
|
||||||
<li><a class="el" href="input_guide.html">Input guide</a></li>
|
|
||||||
</ul>
|
|
||||||
<h1><a class="anchor" id="monitor_object"></a>
|
|
||||||
Monitor objects</h1>
|
|
||||||
<p>A monitor object represents a currently connected monitor and is represented as a pointer 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>. Monitor objects cannot be created or destroyed by the application and retain their addresses until the monitors they represent are disconnected or until the library is <a class="el" href="intro_guide.html#intro_init_terminate">terminated</a>.</p>
|
|
||||||
<p>Each monitor has a current video mode, a list of supported video modes, a virtual position, a human-readable name, an estimated physical size and a gamma ramp. One of the monitors is the primary monitor.</p>
|
|
||||||
<p>The virtual position of a monitor is in <a class="el" href="intro_guide.html#coordinate_systems">screen coordinates</a> and, together with the current video mode, describes the viewports that the connected monitors provide into the virtual desktop that spans them.</p>
|
|
||||||
<p>To see how GLFW views your monitor setup and its available video modes, run the <code>monitors</code> test program.</p>
|
|
||||||
<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#gac3adb24947eb709e1874028272e5dfc5">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 hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* primary = <a class="code hl_function" href="group__monitor.html#gac3adb24947eb709e1874028272e5dfc5">glfwGetPrimaryMonitor</a>();</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:1423</div></div>
|
|
||||||
<div class="ttc" id="agroup__monitor_html_gac3adb24947eb709e1874028272e5dfc5"><div class="ttname"><a href="group__monitor.html#gac3adb24947eb709e1874028272e5dfc5">glfwGetPrimaryMonitor</a></div><div class="ttdeci">GLFWmonitor * glfwGetPrimaryMonitor(void)</div><div class="ttdoc">Returns the primary monitor.</div></div>
|
|
||||||
</div><!-- fragment --><p>You can retrieve all currently connected monitors with <a class="el" href="group__monitor.html#ga70b1156d5d24e9928f145d6c864369d2">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 hl_typedef" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>** monitors = <a class="code hl_function" href="group__monitor.html#ga70b1156d5d24e9928f145d6c864369d2">glfwGetMonitors</a>(&count);</div>
|
|
||||||
<div class="ttc" id="agroup__monitor_html_ga70b1156d5d24e9928f145d6c864369d2"><div class="ttname"><a href="group__monitor.html#ga70b1156d5d24e9928f145d6c864369d2">glfwGetMonitors</a></div><div class="ttdeci">GLFWmonitor ** glfwGetMonitors(int *count)</div><div class="ttdoc">Returns the currently connected monitors.</div></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 hl_function" href="group__monitor.html#gab39df645587c8518192aa746c2fb06c3">glfwSetMonitorCallback</a>(monitor_callback);</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><!-- 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 hl_typedef" 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 hl_define" 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 hl_define" 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 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:1327</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:1326</div></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#ga7af83e13489d90379588fb331b9e4b68">glfwGetMonitorName</a> and <a class="el" href="group__monitor.html#ga1adbfbfb8cd58b23cfee82e574fbbdc5">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 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="struct_g_l_f_wvidmode.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#gad2e24d2843cb7d6c26202cddd530fc1b">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 hl_struct" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a>* modes = <a class="code hl_function" href="group__monitor.html#gad2e24d2843cb7d6c26202cddd530fc1b">glfwGetVideoModes</a>(monitor, &count);</div>
|
|
||||||
<div class="ttc" id="agroup__monitor_html_gad2e24d2843cb7d6c26202cddd530fc1b"><div class="ttname"><a href="group__monitor.html#gad2e24d2843cb7d6c26202cddd530fc1b">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="astruct_g_l_f_wvidmode_html"><div class="ttname"><a href="struct_g_l_f_wvidmode.html">GLFWvidmode</a></div><div class="ttdoc">Video mode type.</div><div class="ttdef"><b>Definition:</b> glfw3.h:2033</div></div>
|
|
||||||
</div><!-- fragment --><p>To get the current video mode of a monitor call <a class="el" href="group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5">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 hl_struct" href="struct_g_l_f_wvidmode.html">GLFWvidmode</a>* mode = <a class="code hl_function" href="group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5">glfwGetVideoMode</a>(monitor);</div>
|
|
||||||
<div class="ttc" id="agroup__monitor_html_gaba376fa7e76634b4788bddc505d6c9d5"><div class="ttname"><a href="group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5">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><!-- 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 hl_function" href="group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea">glfwGetMonitorPhysicalSize</a>(monitor, &width_mm, &height_mm);</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><!-- 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 hl_function" href="group__monitor.html#gad3152e84465fa620b601265ebfcdb21b">glfwGetMonitorContentScale</a>(monitor, &xscale, &yscale);</div>
|
|
||||||
<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><!-- 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 hl_function" href="group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9">glfwGetMonitorPos</a>(monitor, &xpos, &ypos);</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><!-- 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 hl_function" href="group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0">glfwGetMonitorWorkarea</a>(monitor, &xpos, &ypos, &width, &height);</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><!-- 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#ga7af83e13489d90379588fb331b9e4b68">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 hl_function" href="group__monitor.html#ga7af83e13489d90379588fb331b9e4b68">glfwGetMonitorName</a>(monitor);</div>
|
|
||||||
<div class="ttc" id="agroup__monitor_html_ga7af83e13489d90379588fb331b9e4b68"><div class="ttname"><a href="group__monitor.html#ga7af83e13489d90379588fb331b9e4b68">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><!-- 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#ga1adbfbfb8cd58b23cfee82e574fbbdc5">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>
|
|
||||||
<p>The initial value of the pointer is <code>NULL</code>.</p>
|
|
||||||
<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="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a> structure.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_struct" href="struct_g_l_f_wgammaramp.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 hl_variable" href="struct_g_l_f_wgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5">size</a> = 256;</div>
|
|
||||||
<div class="line">ramp.<a class="code hl_variable" href="struct_g_l_f_wgammaramp.html#a2cce5d968734b685623eef913e635138">red</a> = red;</div>
|
|
||||||
<div class="line">ramp.<a class="code hl_variable" href="struct_g_l_f_wgammaramp.html#affccc6f5df47820b6562d709da3a5a3a">green</a> = green;</div>
|
|
||||||
<div class="line">ramp.<a class="code hl_variable" href="struct_g_l_f_wgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b">blue</a> = blue;</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keywordflow">for</span> (i = 0; i < ramp.<a class="code hl_variable" href="struct_g_l_f_wgammaramp.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 hl_function" href="group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd">glfwSetGammaRamp</a>(monitor, &ramp);</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="astruct_g_l_f_wgammaramp_html"><div class="ttname"><a href="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a></div><div class="ttdoc">Gamma ramp.</div><div class="ttdef"><b>Definition:</b> glfw3.h:2067</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wgammaramp_html_a2cce5d968734b685623eef913e635138"><div class="ttname"><a href="struct_g_l_f_wgammaramp.html#a2cce5d968734b685623eef913e635138">GLFWgammaramp::red</a></div><div class="ttdeci">unsigned short * red</div><div class="ttdef"><b>Definition:</b> glfw3.h:2070</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wgammaramp_html_acf0c836d0efe29c392fe8d1a1042744b"><div class="ttname"><a href="struct_g_l_f_wgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b">GLFWgammaramp::blue</a></div><div class="ttdeci">unsigned short * blue</div><div class="ttdef"><b>Definition:</b> glfw3.h:2076</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wgammaramp_html_ad620e1cffbff9a32c51bca46301b59a5"><div class="ttname"><a href="struct_g_l_f_wgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5">GLFWgammaramp::size</a></div><div class="ttdeci">unsigned int size</div><div class="ttdef"><b>Definition:</b> glfw3.h:2079</div></div>
|
|
||||||
<div class="ttc" id="astruct_g_l_f_wgammaramp_html_affccc6f5df47820b6562d709da3a5a3a"><div class="ttname"><a href="struct_g_l_f_wgammaramp.html#affccc6f5df47820b6562d709da3a5a3a">GLFWgammaramp::green</a></div><div class="ttdeci">unsigned short * green</div><div class="ttdef"><b>Definition:</b> glfw3.h:2073</div></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#ga76ba90debcf0062b5c4b73052b24f96f">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 hl_struct" href="struct_g_l_f_wgammaramp.html">GLFWgammaramp</a>* ramp = <a class="code hl_function" href="group__monitor.html#ga76ba90debcf0062b5c4b73052b24f96f">glfwGetGammaRamp</a>(monitor);</div>
|
|
||||||
<div class="ttc" id="agroup__monitor_html_ga76ba90debcf0062b5c4b73052b24f96f"><div class="ttname"><a href="group__monitor.html#ga76ba90debcf0062b5c4b73052b24f96f">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><!-- 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 hl_function" href="group__monitor.html#ga6ac582625c990220785ddd34efa3169a">glfwSetGamma</a>(monitor, 1.0);</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><!-- 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 typically 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><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: moving.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">moving.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,374 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<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>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Moving from GLFW 2 to 3 </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#moving_removed">Changed and removed features</a><ul><li class="level2"><a href="#moving_renamed_files">Renamed library and header file</a></li>
|
|
||||||
<li class="level2"><a href="#moving_threads">Removal of threading functions</a></li>
|
|
||||||
<li class="level2"><a href="#moving_image">Removal of image and texture loading</a></li>
|
|
||||||
<li class="level2"><a href="#moving_stdcall">Removal of GLFWCALL macro</a></li>
|
|
||||||
<li class="level2"><a href="#moving_window_handles">Window handle parameters</a></li>
|
|
||||||
<li class="level2"><a href="#moving_monitor">Explicit monitor selection</a></li>
|
|
||||||
<li class="level2"><a href="#moving_autopoll">Removal of automatic event polling</a></li>
|
|
||||||
<li class="level2"><a href="#moving_context">Explicit context management</a></li>
|
|
||||||
<li class="level2"><a href="#moving_hidpi">Separation of window and framebuffer sizes</a></li>
|
|
||||||
<li class="level2"><a href="#moving_window_close">Window closing changes</a></li>
|
|
||||||
<li class="level2"><a href="#moving_hints">Persistent window hints</a></li>
|
|
||||||
<li class="level2"><a href="#moving_video_modes">Video mode enumeration</a></li>
|
|
||||||
<li class="level2"><a href="#moving_char_up">Removal of character actions</a></li>
|
|
||||||
<li class="level2"><a href="#moving_cursorpos">Cursor position changes</a></li>
|
|
||||||
<li class="level2"><a href="#moving_wheel">Wheel position replaced by scroll offsets</a></li>
|
|
||||||
<li class="level2"><a href="#moving_repeat">Key repeat action</a></li>
|
|
||||||
<li class="level2"><a href="#moving_keys">Physical key input</a></li>
|
|
||||||
<li class="level2"><a href="#moving_joystick">Joystick function changes</a></li>
|
|
||||||
<li class="level2"><a href="#moving_mbcs">Win32 MBCS support</a></li>
|
|
||||||
<li class="level2"><a href="#moving_windows">Support for versions of Windows older than XP</a></li>
|
|
||||||
<li class="level2"><a href="#moving_syskeys">Capture of system-wide hotkeys</a></li>
|
|
||||||
<li class="level2"><a href="#moving_terminate">Automatic termination</a></li>
|
|
||||||
<li class="level2"><a href="#moving_glu">GLU header inclusion</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#moving_tables">Name change tables</a><ul><li class="level2"><a href="#moving_renamed_functions">Renamed functions</a></li>
|
|
||||||
<li class="level2"><a href="#moving_renamed_types">Renamed types</a></li>
|
|
||||||
<li class="level2"><a href="#moving_renamed_tokens">Renamed tokens</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This is a transition guide for moving from GLFW 2 to 3. It describes what has changed or been removed, but does <em>not</em> include <a class="el" href="news.html">new features</a> unless they are required when moving an existing code base onto the new API. For example, the new multi-monitor functions are required to create full screen windows with GLFW 3.</p>
|
|
||||||
<h1><a class="anchor" id="moving_removed"></a>
|
|
||||||
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 <GL/glfw.h></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 <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
<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><!-- 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>
|
|
||||||
<p>If you wish to use the C++11 or C11 facilities but your compiler doesn't yet support them, see the <a href="https://gitorious.org/tinythread/tinythreadpp">TinyThread++</a> and <a href="https://github.com/tinycthread/tinycthread">TinyCThread</a> projects created by the original author of GLFW. These libraries implement a usable subset of the threading APIs in C++11 and C11, and in fact some GLFW 3 test programs use TinyCThread.</p>
|
|
||||||
<p>However, GLFW 3 has better support for <em>use from multiple threads</em> than GLFW 2 had. Contexts can be made current on any thread, although only a single thread at a time, and the documentation explicitly states which functions may be used from any thread and which must only be used from the main thread.</p>
|
|
||||||
<dl class="section user"><dt>Removed functions</dt><dd><code>glfwSleep</code>, <code>glfwCreateThread</code>, <code>glfwDestroyThread</code>, <code>glfwWaitThread</code>, <code>glfwGetThreadID</code>, <code>glfwCreateMutex</code>, <code>glfwDestroyMutex</code>, <code>glfwLockMutex</code>, <code>glfwUnlockMutex</code>, <code>glfwCreateCond</code>, <code>glfwDestroyCond</code>, <code>glfwWaitCond</code>, <code>glfwSignalCond</code>, <code>glfwBroadcastCond</code> and <code>glfwGetNumberOfProcessors</code>.</dd></dl>
|
|
||||||
<dl class="section user"><dt>Removed types</dt><dd><code>GLFWthreadfun</code></dd></dl>
|
|
||||||
<h2><a class="anchor" id="moving_image"></a>
|
|
||||||
Removal of image and texture loading</h2>
|
|
||||||
<p>The image and texture loading functions have been removed. They only supported the Targa image format, making them mostly useful for beginner level examples. To become of sufficiently high quality to warrant keeping them in GLFW 3, they would need not only to support other formats, but also modern extensions to OpenGL texturing. This would either add a number of external dependencies (libjpeg, libpng, etc.), or force GLFW to ship with inline versions of these libraries.</p>
|
|
||||||
<p>As there already are libraries doing this, it is unnecessary both to duplicate the work and to tie the duplicate to GLFW. The resulting library would also be platform-independent, as both OpenGL and stdio are available wherever GLFW is.</p>
|
|
||||||
<dl class="section user"><dt>Removed functions</dt><dd><code>glfwReadImage</code>, <code>glfwReadMemoryImage</code>, <code>glfwFreeImage</code>, <code>glfwLoadTexture2D</code>, <code>glfwLoadMemoryTexture2D</code> and <code>glfwLoadTextureImage2D</code>.</dd></dl>
|
|
||||||
<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>
|
|
||||||
<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#ga3555a418df92ad53f917597fe2f64aeb">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 hl_function" href="group__window.html#ga5d877f09e968cef7a360b513306f17ff">glfwSetWindowTitle</a>(<span class="stringliteral">"New Window Title"</span>);</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><!-- fragment --></dd></dl>
|
|
||||||
<dl class="section user"><dt>New syntax</dt><dd><div class="fragment"><div class="line"><a class="code hl_function" href="group__window.html#ga5d877f09e968cef7a360b513306f17ff">glfwSetWindowTitle</a>(window, <span class="stringliteral">"New Window Title"</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#gac3adb24947eb709e1874028272e5dfc5">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 hl_function" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a>(640, 480, <span class="stringliteral">"My Window"</span>, <a class="code hl_function" href="group__monitor.html#gac3adb24947eb709e1874028272e5dfc5">glfwGetPrimaryMonitor</a>(), NULL);</div>
|
|
||||||
<div class="ttc" id="agroup__monitor_html_gac3adb24947eb709e1874028272e5dfc5"><div class="ttname"><a href="group__monitor.html#gac3adb24947eb709e1874028272e5dfc5">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_ga3555a418df92ad53f917597fe2f64aeb"><div class="ttname"><a href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">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><!-- 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 hl_function" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>();</div>
|
|
||||||
<div class="line">}</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><!-- 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 hl_function" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>(window);</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>();</div>
|
|
||||||
<div class="line">}</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><!-- 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#gab3fb7c3366577daef18c0023e2a8591f">glfwSetFramebufferSizeCallback</a>.</p>
|
|
||||||
<dl class="section user"><dt>Old basic viewport setup</dt><dd><div class="fragment"><div class="line"><a class="code hl_function" href="group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6">glfwGetWindowSize</a>(&width, &height);</div>
|
|
||||||
<div class="line">glViewport(0, 0, width, height);</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><!-- fragment --></dd></dl>
|
|
||||||
<dl class="section user"><dt>New basic viewport setup</dt><dd><div class="fragment"><div class="line"><a class="code hl_function" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a>(window, &width, &height);</div>
|
|
||||||
<div class="line">glViewport(0, 0, width, height);</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>
|
|
||||||
</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 hl_function" href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a>(window))</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> ...</div>
|
|
||||||
<div class="line">}</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><!-- 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 optionally override its value, 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 hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window);</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:1435</div></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>
|
|
||||||
<p>The <code>glfwOpenWindowHint</code> function has been renamed to <a class="el" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>.</p>
|
|
||||||
<p>Window hints are no longer reset to their default values on window creation, but instead retain their values until modified by <a class="el" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a> or <a class="el" href="group__window.html#gaa77c4898dfb83344a6b4f76aa16b9a4a">glfwDefaultWindowHints</a>, or until the library is terminated and re-initialized.</p>
|
|
||||||
<h2><a class="anchor" id="moving_video_modes"></a>
|
|
||||||
Video mode enumeration</h2>
|
|
||||||
<p>Video mode enumeration is now per-monitor. The <a class="el" href="group__monitor.html#gad2e24d2843cb7d6c26202cddd530fc1b">glfwGetVideoModes</a> function now returns all available modes for a specific monitor instead of requiring you to guess how large an array you need. The <code>glfwGetDesktopMode</code> function, which had poorly defined behavior, has been replaced by <a class="el" href="group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5">glfwGetVideoMode</a>, which returns the current mode of a monitor.</p>
|
|
||||||
<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#ga1ab90a55cf3f58639b893c0f4118cb6e">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 hl_typedef" 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#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#gaf656112c33de3efdb227fa58f0134cf5">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 hl_typedef" 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>
|
|
||||||
<p>The <code>GLFW_KEY_REPEAT</code> enable has been removed and key repeat is always enabled for both keys and characters. A new key action, <code>GLFW_REPEAT</code>, has been added to allow the <a class="el" href="group__input.html#ga5bd751b27b90f865d2ea613533f0453c">key callback</a> to distinguish an initial key press from a repeat. Note that <a class="el" href="group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2">glfwGetKey</a> still returns only <code>GLFW_PRESS</code> or <code>GLFW_RELEASE</code>.</p>
|
|
||||||
<h2><a class="anchor" id="moving_keys"></a>
|
|
||||||
Physical key input</h2>
|
|
||||||
<p>GLFW 3 key tokens map to physical keys, unlike in GLFW 2 where they mapped to the values generated by the current keyboard layout. The tokens are named according to the values they would have in the standard US layout, but this is only a convenience, as most programmers are assumed to know that layout. This means that (for example) <code>GLFW_KEY_LEFT_BRACKET</code> is always a single key and is the same key in the same place regardless of what keyboard layouts the users of your program have.</p>
|
|
||||||
<p>The key input facility was never meant for text input, although using it that way worked slightly better in GLFW 2. If you were using it to input text, you should be using the character callback instead, on both GLFW 2 and 3. This will give you the characters being input, as opposed to the keys being pressed.</p>
|
|
||||||
<p>GLFW 3 has key tokens for all keys on a standard 105 key keyboard, so instead of having to remember whether to check for <code>a</code> or <code>A</code>, you now check for <a class="el" href="group__keys.html#ga03e842608e1ea323370889d33b8f70ff">GLFW_KEY_A</a>.</p>
|
|
||||||
<h2><a class="anchor" id="moving_joystick"></a>
|
|
||||||
Joystick function changes</h2>
|
|
||||||
<p>The <code>glfwGetJoystickPos</code> function has been renamed to <a class="el" href="group__input.html#gaeb1c0191d3140a233a682987c61eb408">glfwGetJoystickAxes</a>.</p>
|
|
||||||
<p>The <code>glfwGetJoystickParam</code> function and the <code>GLFW_PRESENT</code>, <code>GLFW_AXES</code> and <code>GLFW_BUTTONS</code> tokens have been replaced by the <a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a> function as well as axis and button counts returned by the <a class="el" href="group__input.html#gaeb1c0191d3140a233a682987c61eb408">glfwGetJoystickAxes</a> and <a class="el" href="group__input.html#ga5ffe34739d3dc97efe432ed2d81d9938">glfwGetJoystickButtons</a> functions.</p>
|
|
||||||
<h2><a class="anchor" id="moving_mbcs"></a>
|
|
||||||
Win32 MBCS support</h2>
|
|
||||||
<p>The Win32 port of GLFW 3 will not compile in <a href="https://msdn.microsoft.com/en-us/library/5z097dxa.aspx">MBCS mode</a>. However, because the use of the Unicode version of the Win32 API doesn't affect the process as a whole, but only those windows created using it, it's perfectly possible to call MBCS functions from other parts of the same application. Therefore, even if an application using GLFW has MBCS mode code, there's no need for GLFW itself to support it.</p>
|
|
||||||
<h2><a class="anchor" id="moving_windows"></a>
|
|
||||||
Support for versions of Windows older than XP</h2>
|
|
||||||
<p>All explicit support for version of Windows older than XP has been removed. There is no code that actively prevents GLFW 3 from running on these earlier versions, but it uses Win32 functions that those versions lack.</p>
|
|
||||||
<p>Windows XP was released in 2001, and by now (January 2015) it has not only replaced almost all earlier versions of Windows, but is itself rapidly being replaced by Windows 7 and 8. The MSDN library doesn't even provide documentation for version older than Windows 2000, making it difficult to maintain compatibility with these versions even if it was deemed worth the effort.</p>
|
|
||||||
<p>The Win32 API has also not stood still, and GLFW 3 uses many functions only present on Windows XP or later. Even supporting an OS as new as XP (new from the perspective of GLFW 2, which still supports Windows 95) requires runtime checking for a number of functions that are present only on modern version of Windows.</p>
|
|
||||||
<h2><a class="anchor" id="moving_syskeys"></a>
|
|
||||||
Capture of system-wide hotkeys</h2>
|
|
||||||
<p>The ability to disable and capture system-wide hotkeys like Alt+Tab has been removed. Modern applications, whether they're games, scientific visualisations or something else, are nowadays expected to be good desktop citizens and allow these hotkeys to function even when running in full screen mode.</p>
|
|
||||||
<h2><a class="anchor" id="moving_terminate"></a>
|
|
||||||
Automatic termination</h2>
|
|
||||||
<p>GLFW 3 does not register <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> with <code>atexit</code> at initialization, because <code>exit</code> calls registered functions from the calling thread and while it is permitted to call <code>exit</code> from any thread, <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> must only be called from the main thread.</p>
|
|
||||||
<p>To release all resources allocated by GLFW, you should call <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> yourself, from the main thread, before the program terminates. Note that this destroys all windows not already destroyed with <a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a>, invalidating any window handles you may still have.</p>
|
|
||||||
<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 <GL/glfw.h></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 <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></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>
|
|
||||||
<h2><a class="anchor" id="moving_renamed_functions"></a>
|
|
||||||
Renamed functions</h2>
|
|
||||||
<table class="markdownTable">
|
|
||||||
<tr class="markdownTableHead">
|
|
||||||
<th class="markdownTableHeadNone">GLFW 2 </th><th class="markdownTableHeadNone">GLFW 3 </th><th class="markdownTableHeadNone">Notes </th></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwOpenWindow</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a> </td><td class="markdownTableBodyNone">All channel bit depths are now hints </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwCloseWindow</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwOpenWindowHint</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a> </td><td class="markdownTableBodyNone">Now accepts all <code>GLFW_*_BITS</code> tokens </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwEnable</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwDisable</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwGetMousePos</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc">glfwGetCursorPos</a> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<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#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#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#gaeb1c0191d3140a233a682987c61eb408">glfwGetJoystickAxes</a> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwGetWindowParam</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwGetGLVersion</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a> </td><td class="markdownTableBodyNone">Use <code>GLFW_CONTEXT_VERSION_MAJOR</code>, <code>GLFW_CONTEXT_VERSION_MINOR</code> and <code>GLFW_CONTEXT_REVISION</code> </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwGetDesktopMode</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5">glfwGetVideoMode</a> </td><td class="markdownTableBodyNone">Returns the current mode of a monitor </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>glfwGetJoystickParam</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#gaed0966cee139d815317f9ffcba64c9f1">glfwJoystickPresent</a> </td><td class="markdownTableBodyNone">The axis and button counts are provided by <a class="el" href="group__input.html#gaeb1c0191d3140a233a682987c61eb408">glfwGetJoystickAxes</a> and <a class="el" href="group__input.html#ga5ffe34739d3dc97efe432ed2d81d9938">glfwGetJoystickButtons</a> </td></tr>
|
|
||||||
</table>
|
|
||||||
<h2><a class="anchor" id="moving_renamed_types"></a>
|
|
||||||
Renamed types</h2>
|
|
||||||
<table class="markdownTable">
|
|
||||||
<tr class="markdownTableHead">
|
|
||||||
<th class="markdownTableHeadNone">GLFW 2 </th><th class="markdownTableHeadNone">GLFW 3 </th><th class="markdownTableHeadNone">Notes </th></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFWmousewheelfun</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#gaf656112c33de3efdb227fa58f0134cf5">GLFWscrollfun</a> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFWmouseposfun</code> </td><td class="markdownTableBodyNone"><a class="el" href="group__input.html#gad6fae41b3ac2e4209aaa87b596c57f68">GLFWcursorposfun</a> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
</table>
|
|
||||||
<h2><a class="anchor" id="moving_renamed_tokens"></a>
|
|
||||||
Renamed tokens</h2>
|
|
||||||
<table class="markdownTable">
|
|
||||||
<tr class="markdownTableHead">
|
|
||||||
<th class="markdownTableHeadNone">GLFW 2 </th><th class="markdownTableHeadNone">GLFW 3 </th><th class="markdownTableHeadNone">Notes </th></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_OPENGL_VERSION_MAJOR</code> </td><td class="markdownTableBodyNone"><code>GLFW_CONTEXT_VERSION_MAJOR</code> </td><td class="markdownTableBodyNone">Renamed as it applies to OpenGL ES as well </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_OPENGL_VERSION_MINOR</code> </td><td class="markdownTableBodyNone"><code>GLFW_CONTEXT_VERSION_MINOR</code> </td><td class="markdownTableBodyNone">Renamed as it applies to OpenGL ES as well </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_FSAA_SAMPLES</code> </td><td class="markdownTableBodyNone"><code>GLFW_SAMPLES</code> </td><td class="markdownTableBodyNone">Renamed to match the OpenGL API </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_ACTIVE</code> </td><td class="markdownTableBodyNone"><code>GLFW_FOCUSED</code> </td><td class="markdownTableBodyNone">Renamed to match the window focus callback </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_WINDOW_NO_RESIZE</code> </td><td class="markdownTableBodyNone"><code>GLFW_RESIZABLE</code> </td><td class="markdownTableBodyNone">The default has been inverted </td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_MOUSE_CURSOR</code> </td><td class="markdownTableBodyNone"><code>GLFW_CURSOR</code> </td><td class="markdownTableBodyNone">Used with <a class="el" href="group__input.html#gaa92336e173da9c8834558b54ee80563b">glfwSetInputMode</a> </td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_ESC</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_ESCAPE</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_DEL</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_DELETE</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_PAGEUP</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_PAGE_UP</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_PAGEDOWN</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_PAGE_DOWN</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_KP_NUM_LOCK</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_NUM_LOCK</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_LCTRL</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_LEFT_CONTROL</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_LSHIFT</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_LEFT_SHIFT</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_LALT</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_LEFT_ALT</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_LSUPER</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_LEFT_SUPER</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_RCTRL</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_RIGHT_CONTROL</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowOdd">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_RSHIFT</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_RIGHT_SHIFT</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<tr class="markdownTableRowEven">
|
|
||||||
<td class="markdownTableBodyNone"><code>GLFW_KEY_RALT</code> </td><td class="markdownTableBodyNone"><code>GLFW_KEY_RIGHT_ALT</code> </td><td class="markdownTableBodyNone"></td></tr>
|
|
||||||
<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><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Before Width: | Height: | Size: 153 B |
Before Width: | Height: | Size: 169 B |
Before Width: | Height: | Size: 95 B |
Before Width: | Height: | Size: 98 B |
Before Width: | Height: | Size: 114 B |
@ -1,271 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Release notes</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Release notes </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#news_34">Release notes for version 3.4</a><ul><li class="level2"><a href="#features_34">New features in version 3.4</a><ul><li class="level3"><a href="#runtime_platform_34">Runtime platform selection</a></li>
|
|
||||||
<li class="level3"><a href="#standard_cursors_34">More standard cursors</a></li>
|
|
||||||
<li class="level3"><a href="#mouse_passthrough_34">Mouse event passthrough</a></li>
|
|
||||||
<li class="level3"><a href="#wayland_app_id_34">Wayland app_id specification</a></li>
|
|
||||||
<li class="level3"><a href="#features_34_angle_backend">Support for ANGLE rendering backend selection</a></li>
|
|
||||||
<li class="level3"><a href="#captured_cursor_34">Captured cursor mode</a></li>
|
|
||||||
<li class="level3"><a href="#features_34_init_allocator">Support for custom memory allocator</a></li>
|
|
||||||
<li class="level3"><a href="#features_34_position_hint">Window hints for initial position</a></li>
|
|
||||||
<li class="level3"><a href="#features_34_win32_keymenu">Support for keyboard access to Windows window menu</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level2"><a href="#caveats">Caveats for version 3.4</a><ul><li class="level3"><a href="#native_34">Multiple sets of native access functions</a></li>
|
|
||||||
<li class="level3"><a href="#version_string_34">Version string format has been changed</a></li>
|
|
||||||
<li class="level3"><a href="#joysticks_34">Joystick support is initialized on demand</a></li>
|
|
||||||
<li class="level3"><a href="#wayland_alpha_34">Frambuffer may lack alpha channel on older Wayland systems</a></li>
|
|
||||||
<li class="level3"><a href="#standalone_34">Tests and examples are disabled when built as a subproject</a></li>
|
|
||||||
<li class="level3"><a href="#initmenu_34">macOS main menu now created at initialization</a></li>
|
|
||||||
<li class="level3"><a href="#corevideo_34">CoreVideo dependency has been removed</a></li>
|
|
||||||
<li class="level3"><a href="#caveat_fbtransparency_34">Framebuffer transparency requires DWM transparency</a></li>
|
|
||||||
<li class="level3"><a href="#emptyevents_34">Empty events on X11 no longer round-trip to server</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level2"><a href="#deprecations_34">Deprecations in version 3.4</a></li>
|
|
||||||
<li class="level2"><a href="#removals_34">Removals in 3.4</a><ul><li class="level3"><a href="#vulkan_static_34">GLFW_VULKAN_STATIC CMake option has been removed</a></li>
|
|
||||||
<li class="level3"><a href="#osmesa_option_34">GLFW_USE_OSMESA CMake option has been removed</a></li>
|
|
||||||
<li class="level3"><a href="#wl_shell_34">Support for the wl_shell protocol has been removed</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level2"><a href="#symbols_34">New symbols in version 3.4</a><ul><li class="level3"><a href="#functions_34">New functions in version 3.4</a></li>
|
|
||||||
<li class="level3"><a href="#types_34">New types in version 3.4</a></li>
|
|
||||||
<li class="level3"><a href="#constants_34">New constants in version 3.4</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#news_archive">Release notes for earlier versions</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><h1><a class="anchor" id="news_34"></a>
|
|
||||||
Release notes for version 3.4</h1>
|
|
||||||
<h2><a class="anchor" id="features_34"></a>
|
|
||||||
New features in version 3.4</h2>
|
|
||||||
<h3><a class="anchor" id="runtime_platform_34"></a>
|
|
||||||
Runtime platform selection</h3>
|
|
||||||
<p>GLFW now supports being compiled for multiple backends and selecting between them at runtime with the <a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a> init hint. After initialization the selected platform can be queried with <a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a>. You can check if support for a given platform is compiled in with <a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a>.</p>
|
|
||||||
<h3><a class="anchor" id="standard_cursors_34"></a>
|
|
||||||
More standard cursors</h3>
|
|
||||||
<p>GLFW now provides the standard cursor shapes <a class="el" href="group__shapes.html#gadf2c0a495ec9cef4e1a364cc99aa78da">GLFW_RESIZE_NWSE_CURSOR</a> and <a class="el" href="group__shapes.html#gab06bba3b407f92807ba9b48de667a323">GLFW_RESIZE_NESW_CURSOR</a> for diagonal resizing, <a class="el" href="group__shapes.html#ga3a5f4811155f95ccafbbb4c9a899fc1d">GLFW_RESIZE_ALL_CURSOR</a> for omnidirectional resizing and <a class="el" href="group__shapes.html#ga297c503095b034bc8891393b637844b1">GLFW_NOT_ALLOWED_CURSOR</a> for showing an action is not allowed.</p>
|
|
||||||
<p>Unlike the original set, these shapes may not be available everywhere and creation will then fail with the new <a class="el" href="group__errors.html#ga09d6943923a70ddef3a085f5baee786c">GLFW_CURSOR_UNAVAILABLE</a> error.</p>
|
|
||||||
<p>The cursors for horizontal and vertical resizing are now referred to as <a class="el" href="group__shapes.html#ga2010a43dc1050a7c9154148a63cf01ad">GLFW_RESIZE_EW_CURSOR</a> and <a class="el" href="group__shapes.html#gaa59214e8cdc8c8adf08fdf125ed68388">GLFW_RESIZE_NS_CURSOR</a>, and the pointing hand cursor is now referred to as <a class="el" href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a>. The older names are still available.</p>
|
|
||||||
<p>For more information see <a class="el" href="input_guide.html#cursor_standard">Standard cursor creation</a>.</p>
|
|
||||||
<h3><a class="anchor" id="mouse_passthrough_34"></a>
|
|
||||||
Mouse event passthrough</h3>
|
|
||||||
<p>GLFW now provides the <a class="el" href="window_guide.html#GLFW_MOUSE_PASSTHROUGH_hint">GLFW_MOUSE_PASSTHROUGH</a> window hint for making a window transparent to mouse input, lettings events pass to whatever window is behind it. This can also be changed after window creation with the matching <a class="el" href="window_guide.html#GLFW_MOUSE_PASSTHROUGH_attrib">window attribute</a>.</p>
|
|
||||||
<h3><a class="anchor" id="wayland_app_id_34"></a>
|
|
||||||
Wayland app_id specification</h3>
|
|
||||||
<p>GLFW now supports specifying the app_id for a Wayland window using the <a class="el" href="window_guide.html#GLFW_WAYLAND_APP_ID_hint">GLFW_WAYLAND_APP_ID</a> window hint string.</p>
|
|
||||||
<h3><a class="anchor" id="features_34_angle_backend"></a>
|
|
||||||
Support for ANGLE rendering backend selection</h3>
|
|
||||||
<p>GLFW now provides the <a class="el" href="intro_guide.html#GLFW_ANGLE_PLATFORM_TYPE_hint">GLFW_ANGLE_PLATFORM_TYPE</a> init hint for requesting a specific rendering backend when using <a href="https://chromium.googlesource.com/angle/angle/">ANGLE</a> to create OpenGL ES contexts.</p>
|
|
||||||
<h3><a class="anchor" id="captured_cursor_34"></a>
|
|
||||||
Captured cursor mode</h3>
|
|
||||||
<p>GLFW now supports confining the cursor to the window content area with the <a class="el" href="glfw3_8h.html#ac1dbfa0cb4641a0edc93412ade0895dc">GLFW_CURSOR_CAPTURED</a> cursor mode.</p>
|
|
||||||
<p>For more information see <a class="el" href="input_guide.html#cursor_mode">Cursor mode</a>.</p>
|
|
||||||
<h3><a class="anchor" id="features_34_init_allocator"></a>
|
|
||||||
Support for custom memory allocator</h3>
|
|
||||||
<p>GLFW now supports plugging a custom memory allocator at initialization with <a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a>. The allocator is a struct of type <a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a> with function pointers corresponding to the standard library functions <code>malloc</code>, <code>realloc</code> and <code>free</code>.</p>
|
|
||||||
<p>For more information see <a class="el" href="intro_guide.html#init_allocator">Custom heap memory allocator</a>.</p>
|
|
||||||
<h3><a class="anchor" id="features_34_position_hint"></a>
|
|
||||||
Window hints for initial position</h3>
|
|
||||||
<p>GLFW now provides the <a class="el" href="window_guide.html#GLFW_POSITION_X">GLFW_POSITION_X</a> and <a class="el" href="window_guide.html#GLFW_POSITION_Y">GLFW_POSITION_Y</a> window hints for specifying the initial position of the window. This removes the need to create a hidden window, move it and then show it. The default value of these hints is <code>GLFW_ANY_POSITION</code>, which selects the previous behavior.</p>
|
|
||||||
<h3><a class="anchor" id="features_34_win32_keymenu"></a>
|
|
||||||
Support for keyboard access to Windows window menu</h3>
|
|
||||||
<p>GLFW now provides the <a class="el" href="window_guide.html#GLFW_WIN32_KEYBOARD_MENU_hint">GLFW_WIN32_KEYBOARD_MENU</a> window hint for enabling keyboard access to the window menu via the Alt+Space and Alt-and-then-Space shortcuts. This may be useful for more GUI-oriented applications.</p>
|
|
||||||
<h2><a class="anchor" id="caveats"></a>
|
|
||||||
Caveats for version 3.4</h2>
|
|
||||||
<h3><a class="anchor" id="native_34"></a>
|
|
||||||
Multiple sets of native access functions</h3>
|
|
||||||
<p>Because GLFW now supports runtime selection of platform (window system), a library binary may export native access functions for multiple platforms. Starting with version 3.4 you must not assume that GLFW is running on a platform just because it exports native access functions for it. After initialization, you can query the selected platform with <a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a>.</p>
|
|
||||||
<h3><a class="anchor" id="version_string_34"></a>
|
|
||||||
Version string format has been changed</h3>
|
|
||||||
<p>Because GLFW now supports runtime selection of platform (window system), the version string returned by <a class="el" href="group__init.html#ga026abd003c8e6501981ab1662062f1c0">glfwGetVersionString</a> has been expanded. It now contains the names of all APIs for all the platforms that the library binary supports.</p>
|
|
||||||
<h3><a class="anchor" id="joysticks_34"></a>
|
|
||||||
Joystick support is initialized on demand</h3>
|
|
||||||
<p>The joystick part of GLFW is now initialized when first used, primarily to work around faulty Windows drivers that cause DirectInput to take up to several seconds to enumerate devices.</p>
|
|
||||||
<p>This change will usually not be observable. However, if your application waits for events without having first called any joystick function or created any visible windows, the wait may never unblock as GLFW may not yet have subscribed to joystick related OS events.</p>
|
|
||||||
<p>To work around this, call any joystick function before waiting for events, for example by setting a <a class="el" href="input_guide.html#joystick_event">joystick callback</a>.</p>
|
|
||||||
<h3><a class="anchor" id="wayland_alpha_34"></a>
|
|
||||||
Frambuffer may lack alpha channel on older Wayland systems</h3>
|
|
||||||
<p>On Wayland, when creating an EGL context on a machine lacking the new <code>EGL_EXT_present_opaque</code> extension, the <a class="el" href="window_guide.html#GLFW_ALPHA_BITS">GLFW_ALPHA_BITS</a> window hint will be ignored and the framebuffer will have no alpha channel. This is because some Wayland compositors treat any buffer with an alpha channel as per-pixel transparent.</p>
|
|
||||||
<p>If you want a per-pixel transparent window, see the <a class="el" href="window_guide.html#GLFW_TRANSPARENT_FRAMEBUFFER_hint">GLFW_TRANSPARENT_FRAMEBUFFER</a> window hint.</p>
|
|
||||||
<h3><a class="anchor" id="standalone_34"></a>
|
|
||||||
Tests and examples are disabled when built as a subproject</h3>
|
|
||||||
<p>GLFW now does not build the tests and examples when it is added as a subdirectory of another CMake project. To enable these, set the <a class="el" href="compile_guide.html#GLFW_BUILD_TESTS">GLFW_BUILD_TESTS</a> and <a class="el" href="compile_guide.html#GLFW_BUILD_EXAMPLES">GLFW_BUILD_EXAMPLES</a> cache variables before adding the GLFW subdirectory.</p>
|
|
||||||
<div class="fragment"><div class="line">set(GLFW_BUILD_EXAMPLES ON CACHE BOOL "" FORCE)</div>
|
|
||||||
<div class="line">set(GLFW_BUILD_TESTS ON CACHE BOOL "" FORCE)</div>
|
|
||||||
<div class="line">add_subdirectory(path/to/glfw)</div>
|
|
||||||
</div><!-- fragment --><h3><a class="anchor" id="initmenu_34"></a>
|
|
||||||
macOS main menu now created at initialization</h3>
|
|
||||||
<p>GLFW now creates the main menu and completes the initialization of NSApplication during initialization. Programs that do not want a main menu can disable it with the <a class="el" href="intro_guide.html#GLFW_COCOA_MENUBAR_hint">GLFW_COCOA_MENUBAR</a> init hint.</p>
|
|
||||||
<h3><a class="anchor" id="corevideo_34"></a>
|
|
||||||
CoreVideo dependency has been removed</h3>
|
|
||||||
<p>GLFW no longer depends on the CoreVideo framework on macOS and it no longer needs to be specified during compilation or linking.</p>
|
|
||||||
<h3><a class="anchor" id="caveat_fbtransparency_34"></a>
|
|
||||||
Framebuffer transparency requires DWM transparency</h3>
|
|
||||||
<p>GLFW no longer supports framebuffer transparency enabled via <a class="el" href="group__window.html#ga60a0578c3b9449027d683a9c6abb9f14">GLFW_TRANSPARENT_FRAMEBUFFER</a> on Windows 7 if DWM transparency is off (the Transparency setting under Personalization > Window Color).</p>
|
|
||||||
<h3><a class="anchor" id="emptyevents_34"></a>
|
|
||||||
Empty events on X11 no longer round-trip to server</h3>
|
|
||||||
<p>Events posted with <a class="el" href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a> now use a separate unnamed pipe instead of sending an X11 client event to the helper window.</p>
|
|
||||||
<h2><a class="anchor" id="deprecations_34"></a>
|
|
||||||
Deprecations in version 3.4</h2>
|
|
||||||
<h2><a class="anchor" id="removals_34"></a>
|
|
||||||
Removals in 3.4</h2>
|
|
||||||
<h3><a class="anchor" id="vulkan_static_34"></a>
|
|
||||||
GLFW_VULKAN_STATIC CMake option has been removed</h3>
|
|
||||||
<p>This option was used to compile GLFW directly linked with the Vulkan loader, instead of using dynamic loading to get hold of <code>vkGetInstanceProcAddr</code> at initialization. This is now done by calling the <a class="el" href="group__init.html#ga76af552d0307bb5f7791f245417d4752">glfwInitVulkanLoader</a> function before initialization.</p>
|
|
||||||
<p>If you need backward compatibility, this macro can still be defined for GLFW 3.4 and will have no effect. The call to <a class="el" href="group__init.html#ga76af552d0307bb5f7791f245417d4752">glfwInitVulkanLoader</a> can be conditionally enabled in your code by checking the <a class="el" href="group__init.html#ga6337d9ea43b22fc529b2bba066b4a576">GLFW_VERSION_MAJOR</a> and <a class="el" href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">GLFW_VERSION_MINOR</a> macros.</p>
|
|
||||||
<h3><a class="anchor" id="osmesa_option_34"></a>
|
|
||||||
GLFW_USE_OSMESA CMake option has been removed</h3>
|
|
||||||
<p>This option was used to compile GLFW for the Null platform. The Null platform is now always supported. To produce a library binary that only supports this platform, the way this CMake option used to do, you will instead need to disable the default platform for the target OS. This means setting the <a class="el" href="compile_guide.html#GLFW_BUILD_WIN32">GLFW_BUILD_WIN32</a>, <a class="el" href="compile_guide.html#GLFW_BUILD_COCOA">GLFW_BUILD_COCOA</a> or <a class="el" href="compile_guide.html#GLFW_BUILD_X11">GLFW_BUILD_X11</a> CMake option to false.</p>
|
|
||||||
<p>You can set all of them to false and the ones that don't apply for the target OS will be ignored.</p>
|
|
||||||
<h3><a class="anchor" id="wl_shell_34"></a>
|
|
||||||
Support for the wl_shell protocol has been removed</h3>
|
|
||||||
<p>Support for the wl_shell protocol has been removed and GLFW now only supports the XDG-Shell protocol. If your Wayland compositor does not support XDG-Shell then GLFW will fail to initialize.</p>
|
|
||||||
<h2><a class="anchor" id="symbols_34"></a>
|
|
||||||
New symbols in version 3.4</h2>
|
|
||||||
<h3><a class="anchor" id="functions_34"></a>
|
|
||||||
New functions in version 3.4</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6">glfwInitAllocator</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e">glfwGetPlatform</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga8785d2b6b36632368d803e78079d38ed">glfwPlatformSupported</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga76af552d0307bb5f7791f245417d4752">glfwInitVulkanLoader</a></li>
|
|
||||||
</ul>
|
|
||||||
<h3><a class="anchor" id="types_34"></a>
|
|
||||||
New types in version 3.4</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="struct_g_l_f_wallocator.html">GLFWallocator</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga4306a564e9f60f4de8cc8f31731a3120">GLFWallocatefun</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga3e88a829615d8efe8bec1746f7309c63">GLFWreallocatefun</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga7181615eda94c4b07bd72bdcee39fa28">GLFWdeallocatefun</a></li>
|
|
||||||
</ul>
|
|
||||||
<h3><a class="anchor" id="constants_34"></a>
|
|
||||||
New constants in version 3.4</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="intro_guide.html#GLFW_PLATFORM">GLFW_PLATFORM</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga18b2d37374d0dea28cd69194fa85b859">GLFW_ANY_PLATFORM</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga8d3d17df2ab57492cef665da52c603a1">GLFW_PLATFORM_WIN32</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#ga83b18714254f75bc2f0cdbafa0f10b6b">GLFW_PLATFORM_COCOA</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#gac4b08906a3cbf26c518a4a543eedd740">GLFW_PLATFORM_WAYLAND</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#gaf5333f3933e9c248a00cfda6523f386b">GLFW_PLATFORM_X11</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#gac06fad5a4866ae7a1d7b2675fac72d7f">GLFW_PLATFORM_NULL</a></li>
|
|
||||||
<li><a class="el" href="group__errors.html#ga3608c6c29ab7a72f3bf019f4c3a2563d">GLFW_PLATFORM_UNAVAILABLE</a></li>
|
|
||||||
<li><a class="el" href="group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0">GLFW_POINTING_HAND_CURSOR</a></li>
|
|
||||||
<li><a class="el" href="group__shapes.html#ga2010a43dc1050a7c9154148a63cf01ad">GLFW_RESIZE_EW_CURSOR</a></li>
|
|
||||||
<li><a class="el" href="group__shapes.html#gaa59214e8cdc8c8adf08fdf125ed68388">GLFW_RESIZE_NS_CURSOR</a></li>
|
|
||||||
<li><a class="el" href="group__shapes.html#gadf2c0a495ec9cef4e1a364cc99aa78da">GLFW_RESIZE_NWSE_CURSOR</a></li>
|
|
||||||
<li><a class="el" href="group__shapes.html#gab06bba3b407f92807ba9b48de667a323">GLFW_RESIZE_NESW_CURSOR</a></li>
|
|
||||||
<li><a class="el" href="group__shapes.html#ga3a5f4811155f95ccafbbb4c9a899fc1d">GLFW_RESIZE_ALL_CURSOR</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga88981797d29800808ec242274ab5c03a">GLFW_MOUSE_PASSTHROUGH</a></li>
|
|
||||||
<li><a class="el" href="group__shapes.html#ga297c503095b034bc8891393b637844b1">GLFW_NOT_ALLOWED_CURSOR</a></li>
|
|
||||||
<li><a class="el" href="group__errors.html#ga09d6943923a70ddef3a085f5baee786c">GLFW_CURSOR_UNAVAILABLE</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#gaf65ea8dafdc0edb07b821b9a336d5043">GLFW_WIN32_KEYBOARD_MENU</a></li>
|
|
||||||
<li><a class="el" href="group__window.html#ga8d55e3afec73c7de0509c3b7ad1d9e3f">GLFW_CONTEXT_DEBUG</a></li>
|
|
||||||
<li><a class="el" href="group__errors.html#ga526fba20a01504a8086c763b6ca53ce5">GLFW_FEATURE_UNAVAILABLE</a></li>
|
|
||||||
<li><a class="el" href="group__errors.html#ga5dda77e023e83151e8bd55a6758f946a">GLFW_FEATURE_UNIMPLEMENTED</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#gaec269b24cf549ab46292c0125d8bbdce">GLFW_ANGLE_PLATFORM_TYPE</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#ae78e673449c2a2b8c560ca1b1e283228">GLFW_ANGLE_PLATFORM_TYPE_NONE</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#ad8d9e97ed7790811470366b338833623">GLFW_ANGLE_PLATFORM_TYPE_OPENGL</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#a0003c089da020cbf957218e70245bb65">GLFW_ANGLE_PLATFORM_TYPE_OPENGLES</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#a6e8fdc83113d247ad792bb5c4e82c894">GLFW_ANGLE_PLATFORM_TYPE_D3D9</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#ad6eae659811a52a5cdc43c362aedfa33">GLFW_ANGLE_PLATFORM_TYPE_D3D11</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#a579ac83506c7546709dad91960cc7ca1">GLFW_ANGLE_PLATFORM_TYPE_VULKAN</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#ab56d91b26cf223dc67590a93a2f8507d">GLFW_ANGLE_PLATFORM_TYPE_METAL</a></li>
|
|
||||||
<li><a class="el" href="group__init.html#gaa341e303ebeb8e4199b8ab8be84351f6">GLFW_X11_XCB_VULKAN_SURFACE</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#ac1dbfa0cb4641a0edc93412ade0895dc">GLFW_CURSOR_CAPTURED</a></li>
|
|
||||||
<li><a class="el" href="window_guide.html#GLFW_POSITION_X">GLFW_POSITION_X</a></li>
|
|
||||||
<li><a class="el" href="window_guide.html#GLFW_POSITION_Y">GLFW_POSITION_Y</a></li>
|
|
||||||
<li><a class="el" href="glfw3_8h.html#aa0e681bf859ef1bb8355692a70b0ee92">GLFW_ANY_POSITION</a></li>
|
|
||||||
</ul>
|
|
||||||
<h1><a class="anchor" id="news_archive"></a>
|
|
||||||
Release notes for earlier versions</h1>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.glfw.org/docs/3.3/news.html">Release notes for 3.3</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/docs/3.2/news.html">Release notes for 3.2</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/docs/3.1/news.html">Release notes for 3.1</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/docs/3.0/news.html">Release notes for 3.0</a> </li>
|
|
||||||
</ul>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: news.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">news.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Before Width: | Height: | Size: 123 B |
@ -1,99 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Guides</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Guides</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
|
|
||||||
<table class="directory">
|
|
||||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">►</span><a class="el" href="news.html" target="_self">Release notes</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_1_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">►</span><a class="el" href="quick_guide.html" target="_self">Getting started</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">►</span><a class="el" href="moving_guide.html" target="_self">Moving from GLFW 2 to 3</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_3_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">►</span><a class="el" href="compile_guide.html" target="_self">Compiling GLFW</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">►</span><a class="el" href="build_guide.html" target="_self">Building applications</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_5_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">►</span><a class="el" href="intro_guide.html" target="_self">Introduction to the API</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_6_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">►</span><a class="el" href="context_guide.html" target="_self">Context guide</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_7_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">►</span><a class="el" href="monitor_guide.html" target="_self">Monitor guide</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_8_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">►</span><a class="el" href="window_guide.html" target="_self">Window guide</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_9_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_9_" class="arrow" onclick="toggleFolder('9_')">►</span><a class="el" href="input_guide.html" target="_self">Input guide</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">►</span><a class="el" href="vulkan_guide.html" target="_self">Vulkan guide</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_11_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_11_" class="arrow" onclick="toggleFolder('11_')">►</span><a class="el" href="compat_guide.html" target="_self">Standards conformance</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_12_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_12_" class="arrow" onclick="toggleFolder('12_')">►</span><a class="el" href="internals_guide.html" target="_self">Internal structure</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_13_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="deprecated.html" target="_self">Deprecated List</a></td><td class="desc"></td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- directory -->
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: quick.dox File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle"><div class="title">quick.dox File Reference</div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
</div><!-- contents -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,406 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
||||||
<title>GLFW: Getting started</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="extra.css" rel="stylesheet" type="text/css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<div class="glfwheader">
|
|
||||||
<a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
|
|
||||||
<ul class="glfwnavbar">
|
|
||||||
<li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/download.html">Download</a></li>
|
|
||||||
<li><a href="https://www.glfw.org/community.html">Community</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.9.6 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<div id="MSearchResults">
|
|
||||||
<div class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div><div class="header">
|
|
||||||
<div class="headertitle"><div class="title">Getting started </div></div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="toc"><h3>Table of Contents</h3>
|
|
||||||
<ul><li class="level1"><a href="#quick_steps">Step by step</a><ul><li class="level2"><a href="#quick_include">Including the GLFW header</a></li>
|
|
||||||
<li class="level2"><a href="#quick_init_term">Initializing and terminating GLFW</a></li>
|
|
||||||
<li class="level2"><a href="#quick_capture_error">Setting an error callback</a></li>
|
|
||||||
<li class="level2"><a href="#quick_create_window">Creating a window and context</a></li>
|
|
||||||
<li class="level2"><a href="#quick_context_current">Making the OpenGL context current</a></li>
|
|
||||||
<li class="level2"><a href="#quick_window_close">Checking the window close flag</a></li>
|
|
||||||
<li class="level2"><a href="#quick_key_input">Receiving input events</a></li>
|
|
||||||
<li class="level2"><a href="#quick_render">Rendering with OpenGL</a></li>
|
|
||||||
<li class="level2"><a href="#quick_timer">Reading the timer</a></li>
|
|
||||||
<li class="level2"><a href="#quick_swap_buffers">Swapping buffers</a></li>
|
|
||||||
<li class="level2"><a href="#quick_process_events">Processing events</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="level1"><a href="#quick_example">Putting it together</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="textblock"><p>This guide takes you through writing a small application using GLFW 3. The application will create a window and OpenGL context, render a rotating triangle and exit when the user closes the window or presses <em>Escape</em>. This guide will introduce a few of the most commonly used functions, but there are many more.</p>
|
|
||||||
<p>This guide assumes no experience with earlier versions of GLFW. If you have used GLFW 2 in the past, read <a class="el" href="moving_guide.html">Moving from GLFW 2 to 3</a>, as some functions behave differently in GLFW 3.</p>
|
|
||||||
<h1><a class="anchor" id="quick_steps"></a>
|
|
||||||
Step by step</h1>
|
|
||||||
<h2><a class="anchor" id="quick_include"></a>
|
|
||||||
Including the GLFW header</h2>
|
|
||||||
<p>In the source files of your application where you use GLFW, you need to include its header file.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
<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><!-- fragment --><p>This header provides all the constants, types and function prototypes of the GLFW API.</p>
|
|
||||||
<p>By default it also includes the OpenGL header from your development environment. On some platforms this header only supports older versions of OpenGL. The most extreme case is Windows, where it typically only supports OpenGL 1.2.</p>
|
|
||||||
<p>Most programs will instead use an <a class="el" href="context_guide.html#context_glext_auto">extension loader library</a> and include its header. This example uses files generated by <a href="https://gen.glad.sh/">glad</a>. The GLFW header can detect most such headers if they are included first and will then not include the one from your development environment.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="preprocessor">#include <glad/gl.h></span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
</div><!-- fragment --><p>To make sure there will be no header conflicts, you can define <a class="el" href="build_guide.html#GLFW_INCLUDE_NONE">GLFW_INCLUDE_NONE</a> before the GLFW header to explicitly disable inclusion of the development environment header. This also allows the two headers to be included in any order.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="preprocessor">#define GLFW_INCLUDE_NONE</span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <glad/gl.h></span></div>
|
|
||||||
</div><!-- fragment --><h2><a class="anchor" id="quick_init_term"></a>
|
|
||||||
Initializing and terminating GLFW</h2>
|
|
||||||
<p>Before you can use most GLFW functions, the library must be initialized. On successful initialization, <code>GLFW_TRUE</code> is returned. If an error occurred, <code>GLFW_FALSE</code> is returned.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (!<a class="code hl_function" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>())</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> <span class="comment">// Initialization failed</span></div>
|
|
||||||
<div class="line">}</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><!-- fragment --><p>Note that <code>GLFW_TRUE</code> and <code>GLFW_FALSE</code> are and will always be one and zero.</p>
|
|
||||||
<p>When you are done using GLFW, typically just before the application exits, you need to terminate GLFW.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>();</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><!-- fragment --><p>This destroys any remaining windows and releases any other resources allocated by GLFW. After this call, you must initialize GLFW again before using any GLFW functions that require it.</p>
|
|
||||||
<h2><a class="anchor" id="quick_capture_error"></a>
|
|
||||||
Setting an error callback</h2>
|
|
||||||
<p>Most events are reported through callbacks, whether it's a key being pressed, a GLFW window being moved, or an error occurring. Callbacks are C functions (or C++ static methods) that are called by GLFW with arguments describing the event.</p>
|
|
||||||
<p>In case a GLFW function fails, an error is reported to the GLFW error callback. You can receive these reports with an error callback. This function must have the signature below but may do anything permitted in other callbacks.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordtype">void</span> error_callback(<span class="keywordtype">int</span> error, <span class="keyword">const</span> <span class="keywordtype">char</span>* description)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> fprintf(stderr, <span class="stringliteral">"Error: %s\n"</span>, description);</div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
</div><!-- fragment --><p>Callback functions must be set, so GLFW knows to call them. The function to set the error callback is one of the few GLFW functions that may be called before initialization, which lets you be notified of errors both during and after initialization.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a>(error_callback);</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><!-- fragment --><h2><a class="anchor" id="quick_create_window"></a>
|
|
||||||
Creating a window and context</h2>
|
|
||||||
<p>The window and its OpenGL context are created with a single call to <a class="el" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a>, which returns a handle to the created combined window and context object</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window = <a class="code hl_function" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a>(640, 480, <span class="stringliteral">"My Title"</span>, NULL, NULL);</div>
|
|
||||||
<div class="line"><span class="keywordflow">if</span> (!window)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> <span class="comment">// Window or OpenGL context creation failed</span></div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
<div class="ttc" id="agroup__window_html_ga3555a418df92ad53f917597fe2f64aeb"><div class="ttname"><a href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">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_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:1435</div></div>
|
|
||||||
</div><!-- fragment --><p>This creates a 640 by 480 windowed mode window with an OpenGL context. If window or OpenGL context creation fails, <code>NULL</code> will be returned. You should always check the return value. While window creation rarely fails, context creation depends on properly installed drivers and may fail even on machines with the necessary hardware.</p>
|
|
||||||
<p>By default, the OpenGL context GLFW creates may have any version. You can require a minimum OpenGL version by setting the <code>GLFW_CONTEXT_VERSION_MAJOR</code> and <code>GLFW_CONTEXT_VERSION_MINOR</code> hints <em>before</em> creation. If the required minimum version is not supported on the machine, context (and window) creation fails.</p>
|
|
||||||
<p>You can select the OpenGL profile by setting the <code>GLFW_OPENGL_PROFILE</code> hint. This program uses the core profile as that is the only profile macOS supports for OpenGL 3.x and 4.x.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code hl_define" href="group__window.html#gafe5e4922de1f9932d7e9849bb053b0c0">GLFW_CONTEXT_VERSION_MAJOR</a>, 3);</div>
|
|
||||||
<div class="line"><a class="code hl_function" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code hl_define" href="group__window.html#ga31aca791e4b538c4e4a771eb95cc2d07">GLFW_CONTEXT_VERSION_MINOR</a>, 3);</div>
|
|
||||||
<div class="line"><a class="code hl_function" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code hl_define" href="group__window.html#ga44f3a6b4261fbe351e0b950b0f372e12">GLFW_OPENGL_PROFILE</a>, <a class="code hl_define" href="glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8">GLFW_OPENGL_CORE_PROFILE</a>);</div>
|
|
||||||
<div class="line"><a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window = <a class="code hl_function" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a>(640, 480, <span class="stringliteral">"My Title"</span>, NULL, NULL);</div>
|
|
||||||
<div class="line"><span class="keywordflow">if</span> (!window)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> <span class="comment">// Window or context creation failed</span></div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
<div class="ttc" id="aglfw3_8h_html_af094bb16da76f66ebceb19ee213b3de8"><div class="ttname"><a href="glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8">GLFW_OPENGL_CORE_PROFILE</a></div><div class="ttdeci">#define GLFW_OPENGL_CORE_PROFILE</div><div class="ttdef"><b>Definition:</b> glfw3.h:1137</div></div>
|
|
||||||
<div class="ttc" id="agroup__window_html_ga31aca791e4b538c4e4a771eb95cc2d07"><div class="ttname"><a href="group__window.html#ga31aca791e4b538c4e4a771eb95cc2d07">GLFW_CONTEXT_VERSION_MINOR</a></div><div class="ttdeci">#define GLFW_CONTEXT_VERSION_MINOR</div><div class="ttdoc">Context client API minor version hint and attribute.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1041</div></div>
|
|
||||||
<div class="ttc" id="agroup__window_html_ga44f3a6b4261fbe351e0b950b0f372e12"><div class="ttname"><a href="group__window.html#ga44f3a6b4261fbe351e0b950b0f372e12">GLFW_OPENGL_PROFILE</a></div><div class="ttdeci">#define GLFW_OPENGL_PROFILE</div><div class="ttdoc">OpenGL profile hint and attribute.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1076</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_gafe5e4922de1f9932d7e9849bb053b0c0"><div class="ttname"><a href="group__window.html#gafe5e4922de1f9932d7e9849bb053b0c0">GLFW_CONTEXT_VERSION_MAJOR</a></div><div class="ttdeci">#define GLFW_CONTEXT_VERSION_MAJOR</div><div class="ttdoc">Context client API major version hint and attribute.</div><div class="ttdef"><b>Definition:</b> glfw3.h:1035</div></div>
|
|
||||||
</div><!-- fragment --><p>When a window and context is no longer needed, destroy it.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a>(window);</div>
|
|
||||||
<div class="ttc" id="agroup__window_html_gacdf43e51376051d2c091662e9fe3d7b2"><div class="ttname"><a href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a></div><div class="ttdeci">void glfwDestroyWindow(GLFWwindow *window)</div><div class="ttdoc">Destroys the specified window and its context.</div></div>
|
|
||||||
</div><!-- fragment --><p>Once this function is called, no more events will be delivered for that window and its handle becomes invalid.</p>
|
|
||||||
<h2><a class="anchor" id="quick_context_current"></a>
|
|
||||||
Making the OpenGL context current</h2>
|
|
||||||
<p>Before you can use the OpenGL API, you must have a current OpenGL context.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>(window);</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><!-- fragment --><p>The context will remain current until you make another context current or until the window owning the current context is destroyed.</p>
|
|
||||||
<p>If you are using an <a class="el" href="context_guide.html#context_glext_auto">extension loader library</a> to access modern OpenGL then this is when to initialize it, as the loader needs a current context to load from. This example uses <a href="https://github.com/Dav1dde/glad">glad</a>, but the same rule applies to all such libraries.</p>
|
|
||||||
<div class="fragment"><div class="line">gladLoadGL(<a class="code hl_function" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>);</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><!-- fragment --><h2><a class="anchor" id="quick_window_close"></a>
|
|
||||||
Checking the window close flag</h2>
|
|
||||||
<p>Each window has a flag indicating whether the window should be closed.</p>
|
|
||||||
<p>When the user attempts to close the window, either by pressing the close widget in the title bar or using a key combination like Alt+F4, this flag is set to 1. Note that <b>the window isn't actually closed</b>, so you are expected to monitor this flag and either destroy the window or give some kind of feedback to the user.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordflow">while</span> (!<a class="code hl_function" href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a>(window))</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> <span class="comment">// Keep running</span></div>
|
|
||||||
<div class="line">}</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><!-- fragment --><p>You can be notified when the user is attempting to close the window by setting a close callback with <a class="el" href="group__window.html#gada646d775a7776a95ac000cfc1885331">glfwSetWindowCloseCallback</a>. The callback will be called immediately after the close flag has been set.</p>
|
|
||||||
<p>You can also set it yourself with <a class="el" href="group__window.html#ga49c449dde2a6f87d996f4daaa09d6708">glfwSetWindowShouldClose</a>. This can be useful if you want to interpret other kinds of input as closing the window, like for example pressing the <em>Escape</em> key.</p>
|
|
||||||
<h2><a class="anchor" id="quick_key_input"></a>
|
|
||||||
Receiving input events</h2>
|
|
||||||
<p>Each window has a large number of callbacks that can be set to receive all the various kinds of events. To receive key press and release events, create a key callback function.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> key_callback(<a class="code hl_typedef" 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 hl_define" href="group__keys.html#gaac6596c350b635c245113b81c2123b93">GLFW_KEY_ESCAPE</a> && action == <a class="code hl_define" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga49c449dde2a6f87d996f4daaa09d6708">glfwSetWindowShouldClose</a>(window, <a class="code hl_define" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div>
|
|
||||||
<div class="line">}</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:312</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:338</div></div>
|
|
||||||
<div class="ttc" id="agroup__keys_html_gaac6596c350b635c245113b81c2123b93"><div class="ttname"><a href="group__keys.html#gaac6596c350b635c245113b81c2123b93">GLFW_KEY_ESCAPE</a></div><div class="ttdeci">#define GLFW_KEY_ESCAPE</div><div class="ttdef"><b>Definition:</b> glfw3.h:446</div></div>
|
|
||||||
<div class="ttc" id="agroup__window_html_ga49c449dde2a6f87d996f4daaa09d6708"><div class="ttname"><a href="group__window.html#ga49c449dde2a6f87d996f4daaa09d6708">glfwSetWindowShouldClose</a></div><div class="ttdeci">void glfwSetWindowShouldClose(GLFWwindow *window, int value)</div><div class="ttdoc">Sets the close flag of the specified window.</div></div>
|
|
||||||
</div><!-- fragment --><p>The key callback, like other window related callbacks, are set per-window.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">glfwSetKeyCallback</a>(window, key_callback);</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><!-- fragment --><p>In order for event callbacks to be called when events occur, you need to process events as described below.</p>
|
|
||||||
<h2><a class="anchor" id="quick_render"></a>
|
|
||||||
Rendering with OpenGL</h2>
|
|
||||||
<p>Once you have a current OpenGL context, you can use OpenGL normally. In this tutorial, a multicolored rotating triangle will be rendered. The framebuffer size needs to be retrieved for <code>glViewport</code>.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordtype">int</span> width, height;</div>
|
|
||||||
<div class="line"><a class="code hl_function" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a>(window, &width, &height);</div>
|
|
||||||
<div class="line">glViewport(0, 0, width, height);</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>
|
|
||||||
</div><!-- fragment --><p>You can also set a framebuffer size callback using <a class="el" href="group__window.html#gab3fb7c3366577daef18c0023e2a8591f">glfwSetFramebufferSizeCallback</a> and be notified when the size changes.</p>
|
|
||||||
<p>The details of how to render with OpenGL is outside the scope of this tutorial, but there are many excellent resources for learning modern OpenGL. Here are a few of them:</p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://antongerdelan.net/opengl/">Anton's OpenGL 4 Tutorials</a></li>
|
|
||||||
<li><a href="https://learnopengl.com/">Learn OpenGL</a></li>
|
|
||||||
<li><a href="https://open.gl/">Open.GL</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>These all happen to use GLFW, but OpenGL itself works the same whatever API you use to create the window and context.</p>
|
|
||||||
<h2><a class="anchor" id="quick_timer"></a>
|
|
||||||
Reading the timer</h2>
|
|
||||||
<p>To create smooth animation, a time source is needed. GLFW provides a timer that returns the number of seconds since initialization. The time source used is the most accurate on each platform and generally has micro- or nanosecond resolution.</p>
|
|
||||||
<div class="fragment"><div class="line"><span class="keywordtype">double</span> time = <a class="code hl_function" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a>();</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><!-- fragment --><h2><a class="anchor" id="quick_swap_buffers"></a>
|
|
||||||
Swapping buffers</h2>
|
|
||||||
<p>GLFW windows by default use double buffering. That means that each window has two rendering buffers; a front buffer and a back buffer. The front buffer is the one being displayed and the back buffer the one you render to.</p>
|
|
||||||
<p>When the entire frame has been rendered, the buffers need to be swapped with one another, so the back buffer becomes the front buffer and vice versa.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>(window);</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><!-- fragment --><p>The swap interval indicates how many frames to wait until swapping the buffers, commonly known as <em>vsync</em>. By default, the swap interval is zero, meaning buffer swapping will occur immediately. On fast machines, many of those frames will never be seen, as the screen is still only updated typically 60-75 times per second, so this wastes a lot of CPU and GPU cycles.</p>
|
|
||||||
<p>Also, because the buffers will be swapped in the middle the screen update, leading to <a href="https://en.wikipedia.org/wiki/Screen_tearing">screen tearing</a>.</p>
|
|
||||||
<p>For these reasons, applications will typically want to set the swap interval to one. It can be set to higher values, but this is usually not recommended, because of the input latency it leads to.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a>(1);</div>
|
|
||||||
<div class="ttc" id="agroup__context_html_ga6d4e0cdf151b5e579bd67f13202994ed"><div class="ttname"><a href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a></div><div class="ttdeci">void glfwSwapInterval(int interval)</div><div class="ttdoc">Sets the swap interval for the current context.</div></div>
|
|
||||||
</div><!-- fragment --><p>This function acts on the current context and will fail unless a context is current.</p>
|
|
||||||
<h2><a class="anchor" id="quick_process_events"></a>
|
|
||||||
Processing events</h2>
|
|
||||||
<p>GLFW needs to communicate regularly with the window system both in order to receive events and to show that the application hasn't locked up. Event processing must be done regularly while you have visible windows and is normally done each frame after buffer swapping.</p>
|
|
||||||
<p>There are two methods for processing pending events; polling and waiting. This example will use event polling, which processes only those events that have already been received and then returns immediately.</p>
|
|
||||||
<div class="fragment"><div class="line"><a class="code hl_function" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>();</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><!-- fragment --><p>This is the best choice when rendering continually, like most games do. If instead you only need to update your rendering once you have received new input, <a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a> is a better choice. It waits until at least one event has been received, putting the thread to sleep in the meantime, and then processes all received events. This saves a great deal of CPU cycles and is useful for, for example, many kinds of editing tools.</p>
|
|
||||||
<h1><a class="anchor" id="quick_example"></a>
|
|
||||||
Putting it together</h1>
|
|
||||||
<p>Now that you know how to initialize GLFW, create a window and poll for keyboard input, it's possible to create a small program.</p>
|
|
||||||
<p>This program creates a 640 by 480 windowed mode window and starts a loop that clears the screen, renders a triangle and processes events until the user either presses <em>Escape</em> or closes the window.</p>
|
|
||||||
<div class="fragment"><div class="line"> </div>
|
|
||||||
<div class="line"><span class="preprocessor">#define GLAD_GL_IMPLEMENTATION</span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <glad/gl.h></span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#define GLFW_INCLUDE_NONE</span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <<a class="code" href="glfw3_8h.html">GLFW/glfw3.h</a>></span></div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="preprocessor">#include "linmath.h"</span></div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <stdlib.h></span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <stddef.h></span></div>
|
|
||||||
<div class="line"><span class="preprocessor">#include <stdio.h></span></div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>Vertex</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> vec2 pos;</div>
|
|
||||||
<div class="line"> vec3 col;</div>
|
|
||||||
<div class="line">} Vertex;</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keyword">static</span> <span class="keyword">const</span> Vertex vertices[3] =</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> { { -0.6f, -0.4f }, { 1.f, 0.f, 0.f } },</div>
|
|
||||||
<div class="line"> { { 0.6f, -0.4f }, { 0.f, 1.f, 0.f } },</div>
|
|
||||||
<div class="line"> { { 0.f, 0.6f }, { 0.f, 0.f, 1.f } }</div>
|
|
||||||
<div class="line">};</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* vertex_shader_text =</div>
|
|
||||||
<div class="line"><span class="stringliteral">"#version 330\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"uniform mat4 MVP;\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"in vec3 vCol;\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"in vec2 vPos;\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"out vec3 color;\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"void main()\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"{\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">" gl_Position = MVP * vec4(vPos, 0.0, 1.0);\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">" color = vCol;\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"}\n"</span>;</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* fragment_shader_text =</div>
|
|
||||||
<div class="line"><span class="stringliteral">"#version 330\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"in vec3 color;\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"out vec4 fragment;\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"void main()\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"{\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">" fragment = vec4(color, 1.0);\n"</span></div>
|
|
||||||
<div class="line"><span class="stringliteral">"}\n"</span>;</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> error_callback(<span class="keywordtype">int</span> error, <span class="keyword">const</span> <span class="keywordtype">char</span>* description)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> fprintf(stderr, <span class="stringliteral">"Error: %s\n"</span>, description);</div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> key_callback(<a class="code hl_typedef" 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 hl_define" href="group__keys.html#gaac6596c350b635c245113b81c2123b93">GLFW_KEY_ESCAPE</a> && action == <a class="code hl_define" href="group__input.html#ga2485743d0b59df3791c45951c4195265">GLFW_PRESS</a>)</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga49c449dde2a6f87d996f4daaa09d6708">glfwSetWindowShouldClose</a>(window, <a class="code hl_define" href="group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba">GLFW_TRUE</a>);</div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
|
|
||||||
<div class="line">{</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__init.html#gaff45816610d53f0b83656092a4034f40">glfwSetErrorCallback</a>(error_callback);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <span class="keywordflow">if</span> (!<a class="code hl_function" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>())</div>
|
|
||||||
<div class="line"> exit(EXIT_FAILURE);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code hl_define" href="group__window.html#gafe5e4922de1f9932d7e9849bb053b0c0">GLFW_CONTEXT_VERSION_MAJOR</a>, 3);</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code hl_define" href="group__window.html#ga31aca791e4b538c4e4a771eb95cc2d07">GLFW_CONTEXT_VERSION_MINOR</a>, 3);</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033">glfwWindowHint</a>(<a class="code hl_define" href="group__window.html#ga44f3a6b4261fbe351e0b950b0f372e12">GLFW_OPENGL_PROFILE</a>, <a class="code hl_define" href="glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8">GLFW_OPENGL_CORE_PROFILE</a>);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <a class="code hl_typedef" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* window = <a class="code hl_function" href="group__window.html#ga3555a418df92ad53f917597fe2f64aeb">glfwCreateWindow</a>(640, 480, <span class="stringliteral">"OpenGL Triangle"</span>, NULL, NULL);</div>
|
|
||||||
<div class="line"> <span class="keywordflow">if</span> (!window)</div>
|
|
||||||
<div class="line"> {</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>();</div>
|
|
||||||
<div class="line"> exit(EXIT_FAILURE);</div>
|
|
||||||
<div class="line"> }</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__input.html#ga1caf18159767e761185e49a3be019f8d">glfwSetKeyCallback</a>(window, key_callback);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__context.html#ga1c04dc242268f827290fe40aa1c91157">glfwMakeContextCurrent</a>(window);</div>
|
|
||||||
<div class="line"> gladLoadGL(<a class="code hl_function" href="group__context.html#ga35f1837e6f666781842483937612f163">glfwGetProcAddress</a>);</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed">glfwSwapInterval</a>(1);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <span class="comment">// NOTE: OpenGL error checks have been omitted for brevity</span></div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> GLuint vertex_buffer;</div>
|
|
||||||
<div class="line"> glGenBuffers(1, &vertex_buffer);</div>
|
|
||||||
<div class="line"> glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer);</div>
|
|
||||||
<div class="line"> glBufferData(GL_ARRAY_BUFFER, <span class="keyword">sizeof</span>(vertices), vertices, GL_STATIC_DRAW);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <span class="keyword">const</span> GLuint vertex_shader = glCreateShader(GL_VERTEX_SHADER);</div>
|
|
||||||
<div class="line"> glShaderSource(vertex_shader, 1, &vertex_shader_text, NULL);</div>
|
|
||||||
<div class="line"> glCompileShader(vertex_shader);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <span class="keyword">const</span> GLuint fragment_shader = glCreateShader(GL_FRAGMENT_SHADER);</div>
|
|
||||||
<div class="line"> glShaderSource(fragment_shader, 1, &fragment_shader_text, NULL);</div>
|
|
||||||
<div class="line"> glCompileShader(fragment_shader);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <span class="keyword">const</span> GLuint program = glCreateProgram();</div>
|
|
||||||
<div class="line"> glAttachShader(program, vertex_shader);</div>
|
|
||||||
<div class="line"> glAttachShader(program, fragment_shader);</div>
|
|
||||||
<div class="line"> glLinkProgram(program);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <span class="keyword">const</span> GLint mvp_location = glGetUniformLocation(program, <span class="stringliteral">"MVP"</span>);</div>
|
|
||||||
<div class="line"> <span class="keyword">const</span> GLint vpos_location = glGetAttribLocation(program, <span class="stringliteral">"vPos"</span>);</div>
|
|
||||||
<div class="line"> <span class="keyword">const</span> GLint vcol_location = glGetAttribLocation(program, <span class="stringliteral">"vCol"</span>);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> GLuint vertex_array;</div>
|
|
||||||
<div class="line"> glGenVertexArrays(1, &vertex_array);</div>
|
|
||||||
<div class="line"> glBindVertexArray(vertex_array);</div>
|
|
||||||
<div class="line"> glEnableVertexAttribArray(vpos_location);</div>
|
|
||||||
<div class="line"> glVertexAttribPointer(vpos_location, 2, GL_FLOAT, GL_FALSE,</div>
|
|
||||||
<div class="line"> <span class="keyword">sizeof</span>(Vertex), (<span class="keywordtype">void</span>*) offsetof(Vertex, pos));</div>
|
|
||||||
<div class="line"> glEnableVertexAttribArray(vcol_location);</div>
|
|
||||||
<div class="line"> glVertexAttribPointer(vcol_location, 3, GL_FLOAT, GL_FALSE,</div>
|
|
||||||
<div class="line"> <span class="keyword">sizeof</span>(Vertex), (<span class="keywordtype">void</span>*) offsetof(Vertex, col));</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <span class="keywordflow">while</span> (!<a class="code hl_function" href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a>(window))</div>
|
|
||||||
<div class="line"> {</div>
|
|
||||||
<div class="line"> <span class="keywordtype">int</span> width, height;</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a>(window, &width, &height);</div>
|
|
||||||
<div class="line"> <span class="keyword">const</span> <span class="keywordtype">float</span> ratio = width / (float) height;</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> glViewport(0, 0, width, height);</div>
|
|
||||||
<div class="line"> glClear(GL_COLOR_BUFFER_BIT);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> mat4x4 m, p, mvp;</div>
|
|
||||||
<div class="line"> mat4x4_identity(m);</div>
|
|
||||||
<div class="line"> mat4x4_rotate_Z(m, m, (<span class="keywordtype">float</span>) <a class="code hl_function" href="group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a">glfwGetTime</a>());</div>
|
|
||||||
<div class="line"> mat4x4_ortho(p, -ratio, ratio, -1.f, 1.f, 1.f, -1.f);</div>
|
|
||||||
<div class="line"> mat4x4_mul(mvp, p, m);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> glUseProgram(program);</div>
|
|
||||||
<div class="line"> glUniformMatrix4fv(mvp_location, 1, GL_FALSE, (<span class="keyword">const</span> GLfloat*) &mvp);</div>
|
|
||||||
<div class="line"> glBindVertexArray(vertex_array);</div>
|
|
||||||
<div class="line"> glDrawArrays(GL_TRIANGLES, 0, 3);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a>(window);</div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>();</div>
|
|
||||||
<div class="line"> }</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a>(window);</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
<div class="line"> <a class="code hl_function" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a>();</div>
|
|
||||||
<div class="line"> exit(EXIT_SUCCESS);</div>
|
|
||||||
<div class="line">}</div>
|
|
||||||
<div class="line"> </div>
|
|
||||||
</div><!-- fragment --><p>The program above can be found in the <a href="https://www.glfw.org/download.html">source package</a> as <code>examples/triangle-opengl.c</code> and is compiled along with all other examples when you build GLFW. If you built GLFW from the source package then you already have this as <code>triangle-opengl.exe</code> on Windows, <code>triangle-opengl</code> on Linux or <code>triangle-opengl.app</code> on macOS.</p>
|
|
||||||
<p>This tutorial used only a few of the many functions GLFW provides. There are guides for each of the areas covered by GLFW. Each guide will introduce all the functions for that category.</p>
|
|
||||||
<ul>
|
|
||||||
<li><a class="el" href="intro_guide.html">Introduction to the API</a></li>
|
|
||||||
<li><a class="el" href="window_guide.html">Window guide</a></li>
|
|
||||||
<li><a class="el" href="context_guide.html">Context guide</a></li>
|
|
||||||
<li><a class="el" href="monitor_guide.html">Monitor guide</a></li>
|
|
||||||
<li><a class="el" href="input_guide.html">Input guide</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>You can access reference documentation for any GLFW function by clicking it and the reference for each function links to related functions and guide sections.</p>
|
|
||||||
<p>The tutorial ends here. Once you have written a program that uses GLFW, you will need to compile and link it. How to do that depends on the development environment you are using and is best explained by the documentation for that environment. To learn about the details that are specific to GLFW, see <a class="el" href="build_guide.html">Building applications</a>. </p>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
</div><!-- PageDoc -->
|
|
||||||
<address class="footer">
|
|
||||||
<p>
|
|
||||||
Last update on Thu Mar 2 2023 for GLFW 3.4.0
|
|
||||||
</p>
|
|
||||||
</address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,5 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['allocate_0',['allocate',['../struct_g_l_f_wallocator.html#a18a798136f17a9cb105be18312193bf7',1,'GLFWallocator']]],
|
|
||||||
['axes_1',['axes',['../struct_g_l_f_wgamepadstate.html#a8b2c8939b1d31458de5359998375c189',1,'GLFWgamepadstate']]]
|
|
||||||
];
|
|
@ -1,8 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['blue_0',['blue',['../struct_g_l_f_wgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]],
|
|
||||||
['bluebits_1',['blueBits',['../struct_g_l_f_wvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]],
|
|
||||||
['build_2edox_2',['build.dox',['../build_8dox.html',1,'']]],
|
|
||||||
['building_20applications_3',['Building applications',['../build_guide.html',1,'']]],
|
|
||||||
['buttons_4',['buttons',['../struct_g_l_f_wgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a',1,'GLFWgamepadstate']]]
|
|
||||||
];
|
|
@ -1,4 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['user_0',['user',['../struct_g_l_f_wallocator.html#af6153be74dbaf7f0a7e8bd3bfc039910',1,'GLFWallocator']]]
|
|
||||||
];
|
|
@ -1,6 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['vulkan_20guide_0',['Vulkan guide',['../vulkan_guide.html',1,'']]],
|
|
||||||
['vulkan_20support_20reference_1',['Vulkan support reference',['../group__vulkan.html',1,'']]],
|
|
||||||
['vulkan_2edox_2',['vulkan.dox',['../vulkan_8dox.html',1,'']]]
|
|
||||||
];
|
|
@ -1,7 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['width_0',['width',['../struct_g_l_f_wvidmode.html#a698dcb200562051a7249cb6ae154c71d',1,'GLFWvidmode::width()'],['../struct_g_l_f_wimage.html#af6a71cc999fe6d3aea31dd7e9687d835',1,'GLFWimage::width()']]],
|
|
||||||
['window_20guide_1',['Window guide',['../window_guide.html',1,'']]],
|
|
||||||
['window_20reference_2',['Window reference',['../group__window.html',1,'']]],
|
|
||||||
['window_2edox_3',['window.dox',['../window_8dox.html',1,'']]]
|
|
||||||
];
|
|
@ -1,9 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['compat_2edox_0',['compat.dox',['../compat_8dox.html',1,'']]],
|
|
||||||
['compile_2edox_1',['compile.dox',['../compile_8dox.html',1,'']]],
|
|
||||||
['compiling_20glfw_2',['Compiling GLFW',['../compile_guide.html',1,'']]],
|
|
||||||
['context_20guide_3',['Context guide',['../context_guide.html',1,'']]],
|
|
||||||
['context_20reference_4',['Context reference',['../group__context.html',1,'']]],
|
|
||||||
['context_2edox_5',['context.dox',['../context_8dox.html',1,'']]]
|
|
||||||
];
|
|
@ -1,5 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['deallocate_0',['deallocate',['../struct_g_l_f_wallocator.html#ab74cf9a969e73e6eb65a6112a591a988',1,'GLFWallocator']]],
|
|
||||||
['deprecated_20list_1',['Deprecated List',['../deprecated.html',1,'']]]
|
|
||||||
];
|
|
@ -1,4 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['error_20codes_0',['Error codes',['../group__errors.html',1,'']]]
|
|
||||||
];
|
|
@ -1,526 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['gamepad_20axes_0',['Gamepad axes',['../group__gamepad__axes.html',1,'']]],
|
|
||||||
['gamepad_20buttons_1',['Gamepad buttons',['../group__gamepad__buttons.html',1,'']]],
|
|
||||||
['getting_20started_2',['Getting started',['../quick_guide.html',1,'']]],
|
|
||||||
['glapientry_3',['GLAPIENTRY',['../glfw3_8h.html#aa97755eb47e4bf2727ad45d610e18206',1,'glfw3.h']]],
|
|
||||||
['glfw3_2eh_4',['glfw3.h',['../glfw3_8h.html',1,'']]],
|
|
||||||
['glfw3native_2eh_5',['glfw3native.h',['../glfw3native_8h.html',1,'']]],
|
|
||||||
['glfw_5faccum_5falpha_5fbits_6',['GLFW_ACCUM_ALPHA_BITS',['../group__window.html#gae829b55591c18169a40ab4067a041b1f',1,'glfw3.h']]],
|
|
||||||
['glfw_5faccum_5fblue_5fbits_7',['GLFW_ACCUM_BLUE_BITS',['../group__window.html#ga22bbe9104a8ce1f8b88fb4f186aa36ce',1,'glfw3.h']]],
|
|
||||||
['glfw_5faccum_5fgreen_5fbits_8',['GLFW_ACCUM_GREEN_BITS',['../group__window.html#ga65713cee1326f8e9d806fdf93187b471',1,'glfw3.h']]],
|
|
||||||
['glfw_5faccum_5fred_5fbits_9',['GLFW_ACCUM_RED_BITS',['../group__window.html#gaead34a9a683b2bc20eecf30ba738bfc6',1,'glfw3.h']]],
|
|
||||||
['glfw_5falpha_5fbits_10',['GLFW_ALPHA_BITS',['../group__window.html#gafed79a3f468997877da86c449bd43e8c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_11',['GLFW_ANGLE_PLATFORM_TYPE',['../group__init.html#gaec269b24cf549ab46292c0125d8bbdce',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fd3d11_12',['GLFW_ANGLE_PLATFORM_TYPE_D3D11',['../glfw3_8h.html#ad6eae659811a52a5cdc43c362aedfa33',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fd3d9_13',['GLFW_ANGLE_PLATFORM_TYPE_D3D9',['../glfw3_8h.html#a6e8fdc83113d247ad792bb5c4e82c894',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fmetal_14',['GLFW_ANGLE_PLATFORM_TYPE_METAL',['../glfw3_8h.html#ab56d91b26cf223dc67590a93a2f8507d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fnone_15',['GLFW_ANGLE_PLATFORM_TYPE_NONE',['../glfw3_8h.html#ae78e673449c2a2b8c560ca1b1e283228',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fopengl_16',['GLFW_ANGLE_PLATFORM_TYPE_OPENGL',['../glfw3_8h.html#ad8d9e97ed7790811470366b338833623',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fopengles_17',['GLFW_ANGLE_PLATFORM_TYPE_OPENGLES',['../glfw3_8h.html#a0003c089da020cbf957218e70245bb65',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fvulkan_18',['GLFW_ANGLE_PLATFORM_TYPE_VULKAN',['../glfw3_8h.html#a579ac83506c7546709dad91960cc7ca1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fany_5fplatform_19',['GLFW_ANY_PLATFORM',['../group__init.html#ga18b2d37374d0dea28cd69194fa85b859',1,'glfw3.h']]],
|
|
||||||
['glfw_5fany_5fposition_20',['GLFW_ANY_POSITION',['../glfw3_8h.html#aa0e681bf859ef1bb8355692a70b0ee92',1,'glfw3.h']]],
|
|
||||||
['glfw_5fany_5frelease_5fbehavior_21',['GLFW_ANY_RELEASE_BEHAVIOR',['../glfw3_8h.html#a6b47d806f285efe9bfd7aeec667297ee',1,'glfw3.h']]],
|
|
||||||
['glfw_5fapi_5funavailable_22',['GLFW_API_UNAVAILABLE',['../group__errors.html#ga56882b290db23261cc6c053c40c2d08e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fapientry_5fdefined_23',['GLFW_APIENTRY_DEFINED',['../glfw3_8h.html#a8a8538c5500308b4211844f2fb26c7b9',1,'glfw3.h']]],
|
|
||||||
['glfw_5farrow_5fcursor_24',['GLFW_ARROW_CURSOR',['../group__shapes.html#ga8ab0e717245b85506cb0eaefdea39d0a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fauto_5ficonify_25',['GLFW_AUTO_ICONIFY',['../group__window.html#ga9d9874fc928200136a6dcdad726aa252',1,'glfw3.h']]],
|
|
||||||
['glfw_5faux_5fbuffers_26',['GLFW_AUX_BUFFERS',['../group__window.html#gab05108c5029443b371112b031d1fa174',1,'glfw3.h']]],
|
|
||||||
['glfw_5fblue_5fbits_27',['GLFW_BLUE_BITS',['../group__window.html#gab292ea403db6d514537b515311bf9ae3',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcenter_5fcursor_28',['GLFW_CENTER_CURSOR',['../group__window.html#ga5ac0847c0aa0b3619f2855707b8a7a77',1,'glfw3.h']]],
|
|
||||||
['glfw_5fclient_5fapi_29',['GLFW_CLIENT_API',['../group__window.html#ga649309cf72a3d3de5b1348ca7936c95b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcocoa_5fchdir_5fresources_30',['GLFW_COCOA_CHDIR_RESOURCES',['../group__init.html#gab937983147a3158d45f88fad7129d9f2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcocoa_5fframe_5fname_31',['GLFW_COCOA_FRAME_NAME',['../group__window.html#ga70fa0fbc745de6aa824df79a580e84b5',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcocoa_5fgraphics_5fswitching_32',['GLFW_COCOA_GRAPHICS_SWITCHING',['../group__window.html#ga53c84ed2ddd94e15bbd44b1f6f7feafc',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcocoa_5fmenubar_33',['GLFW_COCOA_MENUBAR',['../group__init.html#ga71e0b4ce2f2696a84a9b8c5e12dc70cf',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcocoa_5fretina_5fframebuffer_34',['GLFW_COCOA_RETINA_FRAMEBUFFER',['../group__window.html#gab6ef2d02eb55800d249ccf1af253c35e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fconnected_35',['GLFW_CONNECTED',['../glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcontext_5fcreation_5fapi_36',['GLFW_CONTEXT_CREATION_API',['../group__window.html#ga5154cebfcd831c1cc63a4d5ac9bb4486',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcontext_5fdebug_37',['GLFW_CONTEXT_DEBUG',['../group__window.html#ga8d55e3afec73c7de0509c3b7ad1d9e3f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcontext_5fno_5ferror_38',['GLFW_CONTEXT_NO_ERROR',['../group__window.html#ga5a52fdfd46d8249c211f923675728082',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcontext_5frelease_5fbehavior_39',['GLFW_CONTEXT_RELEASE_BEHAVIOR',['../group__window.html#ga72b648a8378fe3310c7c7bbecc0f7be6',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcontext_5frevision_40',['GLFW_CONTEXT_REVISION',['../group__window.html#gafb9475071aa77c6fb05ca5a5c8678a08',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcontext_5frobustness_41',['GLFW_CONTEXT_ROBUSTNESS',['../group__window.html#gade3593916b4c507900aa2d6844810e00',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcontext_5fversion_5fmajor_42',['GLFW_CONTEXT_VERSION_MAJOR',['../group__window.html#gafe5e4922de1f9932d7e9849bb053b0c0',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcontext_5fversion_5fminor_43',['GLFW_CONTEXT_VERSION_MINOR',['../group__window.html#ga31aca791e4b538c4e4a771eb95cc2d07',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcrosshair_5fcursor_44',['GLFW_CROSSHAIR_CURSOR',['../group__shapes.html#ga8af88c0ea05ab9e8f9ac1530e8873c22',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_45',['GLFW_CURSOR',['../glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5fcaptured_46',['GLFW_CURSOR_CAPTURED',['../glfw3_8h.html#ac1dbfa0cb4641a0edc93412ade0895dc',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5fdisabled_47',['GLFW_CURSOR_DISABLED',['../glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5fhidden_48',['GLFW_CURSOR_HIDDEN',['../glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5fnormal_49',['GLFW_CURSOR_NORMAL',['../glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5funavailable_50',['GLFW_CURSOR_UNAVAILABLE',['../group__errors.html#ga09d6943923a70ddef3a085f5baee786c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fdecorated_51',['GLFW_DECORATED',['../group__window.html#ga21b854d36314c94d65aed84405b2f25e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fdepth_5fbits_52',['GLFW_DEPTH_BITS',['../group__window.html#ga318a55eac1fee57dfe593b6d38149d07',1,'glfw3.h']]],
|
|
||||||
['glfw_5fdisconnected_53',['GLFW_DISCONNECTED',['../glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32',1,'glfw3.h']]],
|
|
||||||
['glfw_5fdont_5fcare_54',['GLFW_DONT_CARE',['../glfw3_8h.html#a7a2edf2c18446833d27d07f1b7f3d571',1,'glfw3.h']]],
|
|
||||||
['glfw_5fdoublebuffer_55',['GLFW_DOUBLEBUFFER',['../group__window.html#ga714a5d569e8a274ea58fdfa020955339',1,'glfw3.h']]],
|
|
||||||
['glfw_5fegl_5fcontext_5fapi_56',['GLFW_EGL_CONTEXT_API',['../glfw3_8h.html#a03cf65c9ab01fc8b872ba58842c531c9',1,'glfw3.h']]],
|
|
||||||
['glfw_5ffalse_57',['GLFW_FALSE',['../group__init.html#gac877fe3b627d21ef3a0a23e0a73ba8c5',1,'glfw3.h']]],
|
|
||||||
['glfw_5ffeature_5funavailable_58',['GLFW_FEATURE_UNAVAILABLE',['../group__errors.html#ga526fba20a01504a8086c763b6ca53ce5',1,'glfw3.h']]],
|
|
||||||
['glfw_5ffeature_5funimplemented_59',['GLFW_FEATURE_UNIMPLEMENTED',['../group__errors.html#ga5dda77e023e83151e8bd55a6758f946a',1,'glfw3.h']]],
|
|
||||||
['glfw_5ffloating_60',['GLFW_FLOATING',['../group__window.html#ga7fb0be51407783b41adbf5bec0b09d80',1,'glfw3.h']]],
|
|
||||||
['glfw_5ffocus_5fon_5fshow_61',['GLFW_FOCUS_ON_SHOW',['../group__window.html#gafa94b1da34bfd6488c0d709761504dfc',1,'glfw3.h']]],
|
|
||||||
['glfw_5ffocused_62',['GLFW_FOCUSED',['../group__window.html#ga54ddb14825a1541a56e22afb5f832a9e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fformat_5funavailable_63',['GLFW_FORMAT_UNAVAILABLE',['../group__errors.html#ga196e125ef261d94184e2b55c05762f14',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5faxis_5flast_64',['GLFW_GAMEPAD_AXIS_LAST',['../group__gamepad__axes.html#ga0818fd9433e1359692b7443293e5ac86',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5faxis_5fleft_5ftrigger_65',['GLFW_GAMEPAD_AXIS_LEFT_TRIGGER',['../group__gamepad__axes.html#ga6d79561dd8907c37354426242901b86e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5faxis_5fleft_5fx_66',['GLFW_GAMEPAD_AXIS_LEFT_X',['../group__gamepad__axes.html#ga544e396d092036a7d80c1e5f233f7a38',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5faxis_5fleft_5fy_67',['GLFW_GAMEPAD_AXIS_LEFT_Y',['../group__gamepad__axes.html#ga64dcf2c6e9be50b7c556ff7671996dd5',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5faxis_5fright_5ftrigger_68',['GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER',['../group__gamepad__axes.html#ga121a7d5d20589a423cd1634dd6ee6eab',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5faxis_5fright_5fx_69',['GLFW_GAMEPAD_AXIS_RIGHT_X',['../group__gamepad__axes.html#gabd6785106cd3c5a044a6e49a395ee2fc',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5faxis_5fright_5fy_70',['GLFW_GAMEPAD_AXIS_RIGHT_Y',['../group__gamepad__axes.html#ga1cc20566d44d521b7183681a8e88e2e4',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fa_71',['GLFW_GAMEPAD_BUTTON_A',['../group__gamepad__buttons.html#gae055a12fbf4b48b5954c8e1cd129b810',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fb_72',['GLFW_GAMEPAD_BUTTON_B',['../group__gamepad__buttons.html#ga2228a6512fd5950cdb51ba07846546fa',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fback_73',['GLFW_GAMEPAD_BUTTON_BACK',['../group__gamepad__buttons.html#gabc7c0264ce778835b516a472b47f6caf',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fcircle_74',['GLFW_GAMEPAD_BUTTON_CIRCLE',['../group__gamepad__buttons.html#gaaef094b3dacbf15f272b274516839b82',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fcross_75',['GLFW_GAMEPAD_BUTTON_CROSS',['../group__gamepad__buttons.html#gaf08d0df26527c9305253422bd98ed63a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fdpad_5fdown_76',['GLFW_GAMEPAD_BUTTON_DPAD_DOWN',['../group__gamepad__buttons.html#ga8f2b731b97d80f90f11967a83207665c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fdpad_5fleft_77',['GLFW_GAMEPAD_BUTTON_DPAD_LEFT',['../group__gamepad__buttons.html#gaf0697e0e8607b2ebe1c93b0c6befe301',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fdpad_5fright_78',['GLFW_GAMEPAD_BUTTON_DPAD_RIGHT',['../group__gamepad__buttons.html#gae2a780d2a8c79e0b77c0b7b601ca57c6',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fdpad_5fup_79',['GLFW_GAMEPAD_BUTTON_DPAD_UP',['../group__gamepad__buttons.html#ga4f1ed6f974a47bc8930d4874a283476a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fguide_80',['GLFW_GAMEPAD_BUTTON_GUIDE',['../group__gamepad__buttons.html#ga7fa48c32e5b2f5db2f080aa0b8b573dc',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5flast_81',['GLFW_GAMEPAD_BUTTON_LAST',['../group__gamepad__buttons.html#ga5cc98882f4f81dacf761639a567f61eb',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fleft_5fbumper_82',['GLFW_GAMEPAD_BUTTON_LEFT_BUMPER',['../group__gamepad__buttons.html#ga17d67b4f39a39d6b813bd1567a3507c3',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fleft_5fthumb_83',['GLFW_GAMEPAD_BUTTON_LEFT_THUMB',['../group__gamepad__buttons.html#ga3e089787327454f7bfca7364d6ca206a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fright_5fbumper_84',['GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER',['../group__gamepad__buttons.html#gadfbc9ea9bf3aae896b79fa49fdc85c7f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fright_5fthumb_85',['GLFW_GAMEPAD_BUTTON_RIGHT_THUMB',['../group__gamepad__buttons.html#ga1c003f52b5aebb45272475b48953b21a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fsquare_86',['GLFW_GAMEPAD_BUTTON_SQUARE',['../group__gamepad__buttons.html#gafc7821e87d77d41ed2cd3e1f726ec35f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fstart_87',['GLFW_GAMEPAD_BUTTON_START',['../group__gamepad__buttons.html#ga04606949dd9139434b8a1bedf4ac1021',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5ftriangle_88',['GLFW_GAMEPAD_BUTTON_TRIANGLE',['../group__gamepad__buttons.html#ga3a7ef6bcb768a08cd3bf142f7f09f802',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fx_89',['GLFW_GAMEPAD_BUTTON_X',['../group__gamepad__buttons.html#ga52cc94785cf3fe9a12e246539259887c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgamepad_5fbutton_5fy_90',['GLFW_GAMEPAD_BUTTON_Y',['../group__gamepad__buttons.html#gafc931248bda494b530cbe057f386a5ed',1,'glfw3.h']]],
|
|
||||||
['glfw_5fglapientry_5fdefined_91',['GLFW_GLAPIENTRY_DEFINED',['../glfw3_8h.html#a3b526ac796be993406ea2f1642c25fc3',1,'glfw3.h']]],
|
|
||||||
['glfw_5fgreen_5fbits_92',['GLFW_GREEN_BITS',['../group__window.html#gafba3b72638c914e5fb8a237dd4c50d4d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhand_5fcursor_93',['GLFW_HAND_CURSOR',['../group__shapes.html#ga1db35e20849e0837c82e3dc1fd797263',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fcentered_94',['GLFW_HAT_CENTERED',['../group__hat__state.html#gae2c0bcb7aec609e4736437554f6638fd',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fdown_95',['GLFW_HAT_DOWN',['../group__hat__state.html#gad60d1fd0dc85c18f2642cbae96d3deff',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fleft_96',['GLFW_HAT_LEFT',['../group__hat__state.html#gac775f4b3154fdf5db93eb432ba546dff',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fleft_5fdown_97',['GLFW_HAT_LEFT_DOWN',['../group__hat__state.html#ga76c02baf1ea345fcbe3e8ff176a73e19',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fleft_5fup_98',['GLFW_HAT_LEFT_UP',['../group__hat__state.html#ga638f0e20dc5de90de21a33564e8ce129',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fright_99',['GLFW_HAT_RIGHT',['../group__hat__state.html#ga252586e3bbde75f4b0e07ad3124867f5',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fright_5fdown_100',['GLFW_HAT_RIGHT_DOWN',['../group__hat__state.html#gad7f0e4f52fd68d734863aaeadab3a3f5',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fright_5fup_101',['GLFW_HAT_RIGHT_UP',['../group__hat__state.html#ga94aea0ae241a8b902883536c592ee693',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhat_5fup_102',['GLFW_HAT_UP',['../group__hat__state.html#ga8c9720c76cd1b912738159ed74c85b36',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhovered_103',['GLFW_HOVERED',['../group__window.html#ga8665c71c6fa3d22425c6a0e8a3f89d8a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fhresize_5fcursor_104',['GLFW_HRESIZE_CURSOR',['../group__shapes.html#gabb3eb0109f11bb808fc34659177ca962',1,'glfw3.h']]],
|
|
||||||
['glfw_5fibeam_5fcursor_105',['GLFW_IBEAM_CURSOR',['../group__shapes.html#ga36185f4375eaada1b04e431244774c86',1,'glfw3.h']]],
|
|
||||||
['glfw_5ficonified_106',['GLFW_ICONIFIED',['../group__window.html#ga39d44b7c056e55e581355a92d240b58a',1,'glfw3.h']]],
|
|
||||||
['glfw_5finvalid_5fenum_107',['GLFW_INVALID_ENUM',['../group__errors.html#ga76f6bb9c4eea73db675f096b404593ce',1,'glfw3.h']]],
|
|
||||||
['glfw_5finvalid_5fvalue_108',['GLFW_INVALID_VALUE',['../group__errors.html#gaaf2ef9aa8202c2b82ac2d921e554c687',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f1_109',['GLFW_JOYSTICK_1',['../group__joysticks.html#ga34a0443d059e9f22272cd4669073f73d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f10_110',['GLFW_JOYSTICK_10',['../group__joysticks.html#gaef55389ee605d6dfc31aef6fe98c54ec',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f11_111',['GLFW_JOYSTICK_11',['../group__joysticks.html#gae7d26e3df447c2c14a569fcc18516af4',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f12_112',['GLFW_JOYSTICK_12',['../group__joysticks.html#gab91bbf5b7ca6be8d3ac5c4d89ff48ac7',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f13_113',['GLFW_JOYSTICK_13',['../group__joysticks.html#ga5c84fb4e49bf661d7d7c78eb4018c508',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f14_114',['GLFW_JOYSTICK_14',['../group__joysticks.html#ga89540873278ae5a42b3e70d64164dc74',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f15_115',['GLFW_JOYSTICK_15',['../group__joysticks.html#ga7b02ab70daf7a78bcc942d5d4cc1dcf9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f16_116',['GLFW_JOYSTICK_16',['../group__joysticks.html#ga453edeeabf350827646b6857df4f80ce',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f2_117',['GLFW_JOYSTICK_2',['../group__joysticks.html#ga6eab65ec88e65e0850ef8413504cb50c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f3_118',['GLFW_JOYSTICK_3',['../group__joysticks.html#gae6f3eedfeb42424c2f5e3161efb0b654',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f4_119',['GLFW_JOYSTICK_4',['../group__joysticks.html#ga97ddbcad02b7f48d74fad4ddb08fff59',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f5_120',['GLFW_JOYSTICK_5',['../group__joysticks.html#gae43281bc66d3fa5089fb50c3e7a28695',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f6_121',['GLFW_JOYSTICK_6',['../group__joysticks.html#ga74771620aa53bd68a487186dea66fd77',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f7_122',['GLFW_JOYSTICK_7',['../group__joysticks.html#ga20a9f4f3aaefed9ea5e66072fc588b87',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f8_123',['GLFW_JOYSTICK_8',['../group__joysticks.html#ga21a934c940bcf25db0e4c8fe9b364bdb',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5f9_124',['GLFW_JOYSTICK_9',['../group__joysticks.html#ga87689d47df0ba6f9f5fcbbcaf7b3cecf',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5fhat_5fbuttons_125',['GLFW_JOYSTICK_HAT_BUTTONS',['../group__init.html#gab9c0534709fda03ec8959201da3a9a18',1,'glfw3.h']]],
|
|
||||||
['glfw_5fjoystick_5flast_126',['GLFW_JOYSTICK_LAST',['../group__joysticks.html#ga9ca13ebf24c331dd98df17d84a4b72c9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f0_127',['GLFW_KEY_0',['../group__keys.html#ga50391730e9d7112ad4fd42d0bd1597c1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f1_128',['GLFW_KEY_1',['../group__keys.html#ga05e4cae9ddb8d40cf6d82c8f11f2502f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f2_129',['GLFW_KEY_2',['../group__keys.html#gadc8e66b3a4c4b5c39ad1305cf852863c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f3_130',['GLFW_KEY_3',['../group__keys.html#ga812f0273fe1a981e1fa002ae73e92271',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f4_131',['GLFW_KEY_4',['../group__keys.html#ga9e14b6975a9cc8f66cdd5cb3d3861356',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f5_132',['GLFW_KEY_5',['../group__keys.html#ga4d74ddaa5d4c609993b4d4a15736c924',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f6_133',['GLFW_KEY_6',['../group__keys.html#ga9ea4ab80c313a227b14d0a7c6f810b5d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f7_134',['GLFW_KEY_7',['../group__keys.html#gab79b1cfae7bd630cfc4604c1f263c666',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f8_135',['GLFW_KEY_8',['../group__keys.html#gadeaa109a0f9f5afc94fe4a108e686f6f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5f9_136',['GLFW_KEY_9',['../group__keys.html#ga2924cb5349ebbf97c8987f3521c44f39',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fa_137',['GLFW_KEY_A',['../group__keys.html#ga03e842608e1ea323370889d33b8f70ff',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fapostrophe_138',['GLFW_KEY_APOSTROPHE',['../group__keys.html#ga6059b0b048ba6980b6107fffbd3b4b24',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fb_139',['GLFW_KEY_B',['../group__keys.html#ga8e3fb647ff3aca9e8dbf14fe66332941',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fbackslash_140',['GLFW_KEY_BACKSLASH',['../group__keys.html#gab8155ea99d1ab27ff56f24f8dc73f8d1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fbackspace_141',['GLFW_KEY_BACKSPACE',['../group__keys.html#ga6c0df1fe2f156bbd5a98c66d76ff3635',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fc_142',['GLFW_KEY_C',['../group__keys.html#ga00ccf3475d9ee2e679480d540d554669',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fcaps_5flock_143',['GLFW_KEY_CAPS_LOCK',['../group__keys.html#ga92c1d2c9d63485f3d70f94f688d48672',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fcomma_144',['GLFW_KEY_COMMA',['../group__keys.html#gab3d5d72e59d3055f494627b0a524926c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fd_145',['GLFW_KEY_D',['../group__keys.html#ga011f7cdc9a654da984a2506479606933',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fdelete_146',['GLFW_KEY_DELETE',['../group__keys.html#gadb111e4df74b8a715f2c05dad58d2682',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fdown_147',['GLFW_KEY_DOWN',['../group__keys.html#gae2e3958c71595607416aa7bf082be2f9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fe_148',['GLFW_KEY_E',['../group__keys.html#gabf48fcc3afbe69349df432b470c96ef2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fend_149',['GLFW_KEY_END',['../group__keys.html#ga86587ea1df19a65978d3e3b8439bedd9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fenter_150',['GLFW_KEY_ENTER',['../group__keys.html#ga9555a92ecbecdbc1f3435219c571d667',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fequal_151',['GLFW_KEY_EQUAL',['../group__keys.html#gae1a2de47240d6664423c204bdd91bd17',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fescape_152',['GLFW_KEY_ESCAPE',['../group__keys.html#gaac6596c350b635c245113b81c2123b93',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff_153',['GLFW_KEY_F',['../group__keys.html#ga5df402e02aca08444240058fd9b42a55',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff1_154',['GLFW_KEY_F1',['../group__keys.html#gafb8d66c573acf22e364049477dcbea30',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff10_155',['GLFW_KEY_F10',['../group__keys.html#ga718d11d2f7d57471a2f6a894235995b1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff11_156',['GLFW_KEY_F11',['../group__keys.html#ga0bc04b11627e7d69339151e7306b2832',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff12_157',['GLFW_KEY_F12',['../group__keys.html#gaf5908fa9b0a906ae03fc2c61ac7aa3e2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff13_158',['GLFW_KEY_F13',['../group__keys.html#gad637f4308655e1001bd6ad942bc0fd4b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff14_159',['GLFW_KEY_F14',['../group__keys.html#gaf14c66cff3396e5bd46e803c035e6c1f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff15_160',['GLFW_KEY_F15',['../group__keys.html#ga7f70970db6e8be1794da8516a6d14058',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff16_161',['GLFW_KEY_F16',['../group__keys.html#gaa582dbb1d2ba2050aa1dca0838095b27',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff17_162',['GLFW_KEY_F17',['../group__keys.html#ga972ce5c365e2394b36104b0e3125c748',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff18_163',['GLFW_KEY_F18',['../group__keys.html#gaebf6391058d5566601e357edc5ea737c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff19_164',['GLFW_KEY_F19',['../group__keys.html#gaec011d9ba044058cb54529da710e9791',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff2_165',['GLFW_KEY_F2',['../group__keys.html#ga0900750aff94889b940f5e428c07daee',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff20_166',['GLFW_KEY_F20',['../group__keys.html#ga82b9c721ada04cd5ca8de767da38022f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff21_167',['GLFW_KEY_F21',['../group__keys.html#ga356afb14d3440ff2bb378f74f7ebc60f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff22_168',['GLFW_KEY_F22',['../group__keys.html#ga90960bd2a155f2b09675324d3dff1565',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff23_169',['GLFW_KEY_F23',['../group__keys.html#ga43c21099aac10952d1be909a8ddee4d5',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff24_170',['GLFW_KEY_F24',['../group__keys.html#ga8150374677b5bed3043408732152dea2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff25_171',['GLFW_KEY_F25',['../group__keys.html#gaa4bbd93ed73bb4c6ae7d83df880b7199',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff3_172',['GLFW_KEY_F3',['../group__keys.html#gaed7cd729c0147a551bb8b7bb36c17015',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff4_173',['GLFW_KEY_F4',['../group__keys.html#ga9b61ebd0c63b44b7332fda2c9763eaa6',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff5_174',['GLFW_KEY_F5',['../group__keys.html#gaf258dda9947daa428377938ed577c8c2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff6_175',['GLFW_KEY_F6',['../group__keys.html#ga6dc2d3f87b9d51ffbbbe2ef0299d8e1d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff7_176',['GLFW_KEY_F7',['../group__keys.html#gacca6ef8a2162c52a0ac1d881e8d9c38a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff8_177',['GLFW_KEY_F8',['../group__keys.html#gac9d39390336ae14e4a93e295de43c7e8',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ff9_178',['GLFW_KEY_F9',['../group__keys.html#gae40de0de1c9f21cd26c9afa3d7050851',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fg_179',['GLFW_KEY_G',['../group__keys.html#gae74ecddf7cc96104ab23989b1cdab536',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fgrave_5faccent_180',['GLFW_KEY_GRAVE_ACCENT',['../group__keys.html#ga7a3701fb4e2a0b136ff4b568c3c8d668',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fh_181',['GLFW_KEY_H',['../group__keys.html#gad4cc98fc8f35f015d9e2fb94bf136076',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fhome_182',['GLFW_KEY_HOME',['../group__keys.html#ga41452c7287195d481e43207318c126a7',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fi_183',['GLFW_KEY_I',['../group__keys.html#ga274655c8bfe39742684ca393cf8ed093',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5finsert_184',['GLFW_KEY_INSERT',['../group__keys.html#ga373ac7365435d6b0eb1068f470e34f47',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fj_185',['GLFW_KEY_J',['../group__keys.html#ga65ff2aedb129a3149ad9cb3e4159a75f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fk_186',['GLFW_KEY_K',['../group__keys.html#ga4ae8debadf6d2a691badae0b53ea3ba0',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f0_187',['GLFW_KEY_KP_0',['../group__keys.html#ga10515dafc55b71e7683f5b4fedd1c70d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f1_188',['GLFW_KEY_KP_1',['../group__keys.html#gaf3a29a334402c5eaf0b3439edf5587c3',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f2_189',['GLFW_KEY_KP_2',['../group__keys.html#gaf82d5a802ab8213c72653d7480c16f13',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f3_190',['GLFW_KEY_KP_3',['../group__keys.html#ga7e25ff30d56cd512828c1d4ae8d54ef2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f4_191',['GLFW_KEY_KP_4',['../group__keys.html#gada7ec86778b85e0b4de0beea72234aea',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f5_192',['GLFW_KEY_KP_5',['../group__keys.html#ga9a5be274434866c51738cafbb6d26b45',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f6_193',['GLFW_KEY_KP_6',['../group__keys.html#gafc141b0f8450519084c01092a3157faa',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f7_194',['GLFW_KEY_KP_7',['../group__keys.html#ga8882f411f05d04ec77a9563974bbfa53',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f8_195',['GLFW_KEY_KP_8',['../group__keys.html#gab2ea2e6a12f89d315045af520ac78cec',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5f9_196',['GLFW_KEY_KP_9',['../group__keys.html#gafb21426b630ed4fcc084868699ba74c1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5fadd_197',['GLFW_KEY_KP_ADD',['../group__keys.html#gad09c7c98acc79e89aa6a0a91275becac',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5fdecimal_198',['GLFW_KEY_KP_DECIMAL',['../group__keys.html#ga4e231d968796331a9ea0dbfb98d4005b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5fdivide_199',['GLFW_KEY_KP_DIVIDE',['../group__keys.html#gabca1733780a273d549129ad0f250d1e5',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5fenter_200',['GLFW_KEY_KP_ENTER',['../group__keys.html#ga4f728f8738f2986bd63eedd3d412e8cf',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5fequal_201',['GLFW_KEY_KP_EQUAL',['../group__keys.html#gaebdc76d4a808191e6d21b7e4ad2acd97',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5fmultiply_202',['GLFW_KEY_KP_MULTIPLY',['../group__keys.html#ga9ada267eb0e78ed2ada8701dd24a56ef',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fkp_5fsubtract_203',['GLFW_KEY_KP_SUBTRACT',['../group__keys.html#gaa3dbd60782ff93d6082a124bce1fa236',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fl_204',['GLFW_KEY_L',['../group__keys.html#gaaa8b54a13f6b1eed85ac86f82d550db2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5flast_205',['GLFW_KEY_LAST',['../group__keys.html#ga442cbaef7bfb9a4ba13594dd7fbf2789',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fleft_206',['GLFW_KEY_LEFT',['../group__keys.html#gae12a010d33c309a67ab9460c51eb2462',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fleft_5falt_207',['GLFW_KEY_LEFT_ALT',['../group__keys.html#ga7f27dabf63a7789daa31e1c96790219b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fleft_5fbracket_208',['GLFW_KEY_LEFT_BRACKET',['../group__keys.html#gad1c8d9adac53925276ecb1d592511d8a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fleft_5fcontrol_209',['GLFW_KEY_LEFT_CONTROL',['../group__keys.html#ga9f97b743e81460ac4b2deddecd10a464',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fleft_5fshift_210',['GLFW_KEY_LEFT_SHIFT',['../group__keys.html#ga8a530a28a65c44ab5d00b759b756d3f6',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fleft_5fsuper_211',['GLFW_KEY_LEFT_SUPER',['../group__keys.html#gafb1207c91997fc295afd1835fbc5641a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fm_212',['GLFW_KEY_M',['../group__keys.html#ga4d7f0260c82e4ea3d6ebc7a21d6e3716',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fmenu_213',['GLFW_KEY_MENU',['../group__keys.html#ga9845be48a745fc232045c9ec174d8820',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fminus_214',['GLFW_KEY_MINUS',['../group__keys.html#gac556b360f7f6fca4b70ba0aecf313fd4',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fn_215',['GLFW_KEY_N',['../group__keys.html#gae00856dfeb5d13aafebf59d44de5cdda',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fnum_5flock_216',['GLFW_KEY_NUM_LOCK',['../group__keys.html#ga3946edc362aeff213b2be6304296cf43',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fo_217',['GLFW_KEY_O',['../group__keys.html#gaecbbb79130df419d58dd7f09a169efe9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fp_218',['GLFW_KEY_P',['../group__keys.html#ga8fc15819c1094fb2afa01d84546b33e1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fpage_5fdown_219',['GLFW_KEY_PAGE_DOWN',['../group__keys.html#gaee0a8fa442001cc2147812f84b59041c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fpage_5fup_220',['GLFW_KEY_PAGE_UP',['../group__keys.html#ga3ab731f9622f0db280178a5f3cc6d586',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fpause_221',['GLFW_KEY_PAUSE',['../group__keys.html#ga8116b9692d87382afb5849b6d8907f18',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fperiod_222',['GLFW_KEY_PERIOD',['../group__keys.html#ga37e296b650eab419fc474ff69033d927',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fprint_5fscreen_223',['GLFW_KEY_PRINT_SCREEN',['../group__keys.html#gaf964c2e65e97d0cf785a5636ee8df642',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fq_224',['GLFW_KEY_Q',['../group__keys.html#gafdd01e38b120d67cf51e348bb47f3964',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fr_225',['GLFW_KEY_R',['../group__keys.html#ga4ce6c70a0c98c50b3fe4ab9a728d4d36',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fright_226',['GLFW_KEY_RIGHT',['../group__keys.html#ga06ba07662e8c291a4a84535379ffc7ac',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fright_5falt_227',['GLFW_KEY_RIGHT_ALT',['../group__keys.html#ga687b38009131cfdd07a8d05fff8fa446',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fright_5fbracket_228',['GLFW_KEY_RIGHT_BRACKET',['../group__keys.html#ga86ef225fd6a66404caae71044cdd58d8',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fright_5fcontrol_229',['GLFW_KEY_RIGHT_CONTROL',['../group__keys.html#gad1ca2094b2694e7251d0ab1fd34f8519',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fright_5fshift_230',['GLFW_KEY_RIGHT_SHIFT',['../group__keys.html#gaffca36b99c9dce1a19cb9befbadce691',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fright_5fsuper_231',['GLFW_KEY_RIGHT_SUPER',['../group__keys.html#gad4547a3e8e247594acb60423fe6502db',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fs_232',['GLFW_KEY_S',['../group__keys.html#ga1570e2ccaab036ea82bed66fc1dab2a9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fscroll_5flock_233',['GLFW_KEY_SCROLL_LOCK',['../group__keys.html#gaf622b63b9537f7084c2ab649b8365630',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fsemicolon_234',['GLFW_KEY_SEMICOLON',['../group__keys.html#ga84233de9ee5bb3e8788a5aa07d80af7d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fslash_235',['GLFW_KEY_SLASH',['../group__keys.html#gadf3d753b2d479148d711de34b83fd0db',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fspace_236',['GLFW_KEY_SPACE',['../group__keys.html#gaddb2c23772b97fd7e26e8ee66f1ad014',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ft_237',['GLFW_KEY_T',['../group__keys.html#ga90e0560422ec7a30e7f3f375bc9f37f9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5ftab_238',['GLFW_KEY_TAB',['../group__keys.html#ga6908a4bda9950a3e2b73f794bbe985df',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fu_239',['GLFW_KEY_U',['../group__keys.html#gacad52f3bf7d378fc0ffa72a76769256d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5funknown_240',['GLFW_KEY_UNKNOWN',['../group__keys.html#ga99aacc875b6b27a072552631e13775c7',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fup_241',['GLFW_KEY_UP',['../group__keys.html#ga2f3342b194020d3544c67e3506b6f144',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fv_242',['GLFW_KEY_V',['../group__keys.html#ga22c7763899ecf7788862e5f90eacce6b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fw_243',['GLFW_KEY_W',['../group__keys.html#gaa06a712e6202661fc03da5bdb7b6e545',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fworld_5f1_244',['GLFW_KEY_WORLD_1',['../group__keys.html#gadc78dad3dab76bcd4b5c20114052577a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fworld_5f2_245',['GLFW_KEY_WORLD_2',['../group__keys.html#ga20494bfebf0bb4fc9503afca18ab2c5e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fx_246',['GLFW_KEY_X',['../group__keys.html#gac1c42c0bf4192cea713c55598b06b744',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fy_247',['GLFW_KEY_Y',['../group__keys.html#gafd9f115a549effdf8e372a787c360313',1,'glfw3.h']]],
|
|
||||||
['glfw_5fkey_5fz_248',['GLFW_KEY_Z',['../group__keys.html#gac489e208c26afda8d4938ed88718760a',1,'glfw3.h']]],
|
|
||||||
['glfw_5flock_5fkey_5fmods_249',['GLFW_LOCK_KEY_MODS',['../glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947',1,'glfw3.h']]],
|
|
||||||
['glfw_5flose_5fcontext_5fon_5freset_250',['GLFW_LOSE_CONTEXT_ON_RESET',['../glfw3_8h.html#aec1132f245143fc915b2f0995228564c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmaximized_251',['GLFW_MAXIMIZED',['../group__window.html#gad8ccb396253ad0b72c6d4c917eb38a03',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmod_5falt_252',['GLFW_MOD_ALT',['../group__mods.html#gad2acd5633463c29e07008687ea73c0f4',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmod_5fcaps_5flock_253',['GLFW_MOD_CAPS_LOCK',['../group__mods.html#gaefeef8fcf825a6e43e241b337897200f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmod_5fcontrol_254',['GLFW_MOD_CONTROL',['../group__mods.html#ga6ed94871c3208eefd85713fa929d45aa',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmod_5fnum_5flock_255',['GLFW_MOD_NUM_LOCK',['../group__mods.html#ga64e020b8a42af8376e944baf61feecbe',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmod_5fshift_256',['GLFW_MOD_SHIFT',['../group__mods.html#ga14994d3196c290aaa347248e51740274',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmod_5fsuper_257',['GLFW_MOD_SUPER',['../group__mods.html#ga6b64ba10ea0227cf6f42efd0a220aba1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5f1_258',['GLFW_MOUSE_BUTTON_1',['../group__buttons.html#ga181a6e875251fd8671654eff00f9112e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5f2_259',['GLFW_MOUSE_BUTTON_2',['../group__buttons.html#ga604b39b92c88ce9bd332e97fc3f4156c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5f3_260',['GLFW_MOUSE_BUTTON_3',['../group__buttons.html#ga0130d505563d0236a6f85545f19e1721',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5f4_261',['GLFW_MOUSE_BUTTON_4',['../group__buttons.html#ga53f4097bb01d5521c7d9513418c91ca9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5f5_262',['GLFW_MOUSE_BUTTON_5',['../group__buttons.html#gaf08c4ddecb051d3d9667db1d5e417c9c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5f6_263',['GLFW_MOUSE_BUTTON_6',['../group__buttons.html#gae8513e06aab8aa393b595f22c6d8257a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5f7_264',['GLFW_MOUSE_BUTTON_7',['../group__buttons.html#ga8b02a1ab55dde45b3a3883d54ffd7dc7',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5f8_265',['GLFW_MOUSE_BUTTON_8',['../group__buttons.html#ga35d5c4263e0dc0d0a4731ca6c562f32c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5flast_266',['GLFW_MOUSE_BUTTON_LAST',['../group__buttons.html#gab1fd86a4518a9141ec7bcde2e15a2fdf',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5fleft_267',['GLFW_MOUSE_BUTTON_LEFT',['../group__buttons.html#gaf37100431dcd5082d48f95ee8bc8cd56',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5fmiddle_268',['GLFW_MOUSE_BUTTON_MIDDLE',['../group__buttons.html#ga34a4d2a701434f763fd93a2ff842b95a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fbutton_5fright_269',['GLFW_MOUSE_BUTTON_RIGHT',['../group__buttons.html#ga3e2f2cf3c4942df73cc094247d275e74',1,'glfw3.h']]],
|
|
||||||
['glfw_5fmouse_5fpassthrough_270',['GLFW_MOUSE_PASSTHROUGH',['../group__window.html#ga88981797d29800808ec242274ab5c03a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fnative_5fcontext_5fapi_271',['GLFW_NATIVE_CONTEXT_API',['../glfw3_8h.html#a0494c9bfd3f584ab41e6dbeeaa0e6a19',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5fapi_272',['GLFW_NO_API',['../glfw3_8h.html#a8f6dcdc968d214ff14779564f1389264',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5fcurrent_5fcontext_273',['GLFW_NO_CURRENT_CONTEXT',['../group__errors.html#gaa8290386e9528ccb9e42a3a4e16fc0d0',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5ferror_274',['GLFW_NO_ERROR',['../group__errors.html#gafa30deee5db4d69c4c93d116ed87dbf4',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5freset_5fnotification_275',['GLFW_NO_RESET_NOTIFICATION',['../glfw3_8h.html#aee84a679230d205005e22487ff678a85',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5frobustness_276',['GLFW_NO_ROBUSTNESS',['../glfw3_8h.html#a8b306cb27f5bb0d6d67c7356a0e0fc34',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5fwindow_5fcontext_277',['GLFW_NO_WINDOW_CONTEXT',['../group__errors.html#gacff24d2757da752ae4c80bf452356487',1,'glfw3.h']]],
|
|
||||||
['glfw_5fnot_5fallowed_5fcursor_278',['GLFW_NOT_ALLOWED_CURSOR',['../group__shapes.html#ga297c503095b034bc8891393b637844b1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fnot_5finitialized_279',['GLFW_NOT_INITIALIZED',['../group__errors.html#ga2374ee02c177f12e1fa76ff3ed15e14a',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fany_5fprofile_280',['GLFW_OPENGL_ANY_PROFILE',['../glfw3_8h.html#ad6f2335d6f21cc9bab96633b1c111d5f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fapi_281',['GLFW_OPENGL_API',['../glfw3_8h.html#a01b3f66db266341425e9abee6b257db2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fcompat_5fprofile_282',['GLFW_OPENGL_COMPAT_PROFILE',['../glfw3_8h.html#ac06b663d79c8fcf04669cc8fcc0b7670',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fcore_5fprofile_283',['GLFW_OPENGL_CORE_PROFILE',['../glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fdebug_5fcontext_284',['GLFW_OPENGL_DEBUG_CONTEXT',['../group__window.html#ga87ec2df0b915201e950ca42d5d0831e1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fes_5fapi_285',['GLFW_OPENGL_ES_API',['../glfw3_8h.html#a28d9b3bc6c2a522d815c8e146595051f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fforward_5fcompat_286',['GLFW_OPENGL_FORWARD_COMPAT',['../group__window.html#ga13d24b12465da8b28985f46c8557925b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fprofile_287',['GLFW_OPENGL_PROFILE',['../group__window.html#ga44f3a6b4261fbe351e0b950b0f372e12',1,'glfw3.h']]],
|
|
||||||
['glfw_5fosmesa_5fcontext_5fapi_288',['GLFW_OSMESA_CONTEXT_API',['../glfw3_8h.html#afd34a473af9fa81f317910ea371b19e3',1,'glfw3.h']]],
|
|
||||||
['glfw_5fout_5fof_5fmemory_289',['GLFW_OUT_OF_MEMORY',['../group__errors.html#ga9023953a2bcb98c2906afd071d21ee7f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fplatform_290',['GLFW_PLATFORM',['../group__init.html#ga9d38bf1fdf4f91d6565401734a7cd967',1,'glfw3.h']]],
|
|
||||||
['glfw_5fplatform_5fcocoa_291',['GLFW_PLATFORM_COCOA',['../group__init.html#ga83b18714254f75bc2f0cdbafa0f10b6b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fplatform_5ferror_292',['GLFW_PLATFORM_ERROR',['../group__errors.html#gad44162d78100ea5e87cdd38426b8c7a1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fplatform_5fnull_293',['GLFW_PLATFORM_NULL',['../group__init.html#gac06fad5a4866ae7a1d7b2675fac72d7f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fplatform_5funavailable_294',['GLFW_PLATFORM_UNAVAILABLE',['../group__errors.html#ga3608c6c29ab7a72f3bf019f4c3a2563d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fplatform_5fwayland_295',['GLFW_PLATFORM_WAYLAND',['../group__init.html#gac4b08906a3cbf26c518a4a543eedd740',1,'glfw3.h']]],
|
|
||||||
['glfw_5fplatform_5fwin32_296',['GLFW_PLATFORM_WIN32',['../group__init.html#ga8d3d17df2ab57492cef665da52c603a1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fplatform_5fx11_297',['GLFW_PLATFORM_X11',['../group__init.html#gaf5333f3933e9c248a00cfda6523f386b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fpointing_5fhand_5fcursor_298',['GLFW_POINTING_HAND_CURSOR',['../group__shapes.html#gaad01a50929fb515bf27e4462c51f6ed0',1,'glfw3.h']]],
|
|
||||||
['glfw_5fposition_5fx_299',['GLFW_POSITION_X',['../group__window.html#gaededa6b208b8e31343da56bb349c6fb2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fposition_5fy_300',['GLFW_POSITION_Y',['../group__window.html#ga6b3ccf63683c81f479e2a98f5027200e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fpress_301',['GLFW_PRESS',['../group__input.html#ga2485743d0b59df3791c45951c4195265',1,'glfw3.h']]],
|
|
||||||
['glfw_5fraw_5fmouse_5fmotion_302',['GLFW_RAW_MOUSE_MOTION',['../glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb',1,'glfw3.h']]],
|
|
||||||
['glfw_5fred_5fbits_303',['GLFW_RED_BITS',['../group__window.html#gaf78ed8e417dbcc1e354906cc2708c982',1,'glfw3.h']]],
|
|
||||||
['glfw_5frefresh_5frate_304',['GLFW_REFRESH_RATE',['../group__window.html#ga0f20825e6e47ee8ba389024519682212',1,'glfw3.h']]],
|
|
||||||
['glfw_5frelease_305',['GLFW_RELEASE',['../group__input.html#gada11d965c4da13090ad336e030e4d11f',1,'glfw3.h']]],
|
|
||||||
['glfw_5frelease_5fbehavior_5fflush_306',['GLFW_RELEASE_BEHAVIOR_FLUSH',['../glfw3_8h.html#a999961d391db49cb4f949c1dece0e13b',1,'glfw3.h']]],
|
|
||||||
['glfw_5frelease_5fbehavior_5fnone_307',['GLFW_RELEASE_BEHAVIOR_NONE',['../glfw3_8h.html#afca09088eccacdce4b59036cfae349c5',1,'glfw3.h']]],
|
|
||||||
['glfw_5frepeat_308',['GLFW_REPEAT',['../group__input.html#gac96fd3b9fc66c6f0eebaf6532595338f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fresizable_309',['GLFW_RESIZABLE',['../group__window.html#gadba13c7a1b3aa40831eb2beedbd5bd1d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fresize_5fall_5fcursor_310',['GLFW_RESIZE_ALL_CURSOR',['../group__shapes.html#ga3a5f4811155f95ccafbbb4c9a899fc1d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fresize_5few_5fcursor_311',['GLFW_RESIZE_EW_CURSOR',['../group__shapes.html#ga2010a43dc1050a7c9154148a63cf01ad',1,'glfw3.h']]],
|
|
||||||
['glfw_5fresize_5fnesw_5fcursor_312',['GLFW_RESIZE_NESW_CURSOR',['../group__shapes.html#gab06bba3b407f92807ba9b48de667a323',1,'glfw3.h']]],
|
|
||||||
['glfw_5fresize_5fns_5fcursor_313',['GLFW_RESIZE_NS_CURSOR',['../group__shapes.html#gaa59214e8cdc8c8adf08fdf125ed68388',1,'glfw3.h']]],
|
|
||||||
['glfw_5fresize_5fnwse_5fcursor_314',['GLFW_RESIZE_NWSE_CURSOR',['../group__shapes.html#gadf2c0a495ec9cef4e1a364cc99aa78da',1,'glfw3.h']]],
|
|
||||||
['glfw_5fsamples_315',['GLFW_SAMPLES',['../group__window.html#ga2cdf86fdcb7722fb8829c4e201607535',1,'glfw3.h']]],
|
|
||||||
['glfw_5fscale_5fto_5fmonitor_316',['GLFW_SCALE_TO_MONITOR',['../group__window.html#ga620bc4280c7eab81ac9f02204500ed47',1,'glfw3.h']]],
|
|
||||||
['glfw_5fsrgb_5fcapable_317',['GLFW_SRGB_CAPABLE',['../group__window.html#ga444a8f00414a63220591f9fdb7b5642b',1,'glfw3.h']]],
|
|
||||||
['glfw_5fstencil_5fbits_318',['GLFW_STENCIL_BITS',['../group__window.html#ga5339890a45a1fb38e93cb9fcc5fd069d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fstereo_319',['GLFW_STEREO',['../group__window.html#ga83d991efca02537e2d69969135b77b03',1,'glfw3.h']]],
|
|
||||||
['glfw_5fsticky_5fkeys_320',['GLFW_STICKY_KEYS',['../glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc',1,'glfw3.h']]],
|
|
||||||
['glfw_5fsticky_5fmouse_5fbuttons_321',['GLFW_STICKY_MOUSE_BUTTONS',['../glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1',1,'glfw3.h']]],
|
|
||||||
['glfw_5ftaskbar_5fprogress_5fdisabled_322',['GLFW_TASKBAR_PROGRESS_DISABLED',['../group__window.html#gaaf1f6e959869bcb02c0485e9905c0afb',1,'glfw3.h']]],
|
|
||||||
['glfw_5ftaskbar_5fprogress_5ferror_323',['GLFW_TASKBAR_PROGRESS_ERROR',['../group__window.html#ga11b679e6e16617471269b695f6605d81',1,'glfw3.h']]],
|
|
||||||
['glfw_5ftaskbar_5fprogress_5findeterminate_324',['GLFW_TASKBAR_PROGRESS_INDETERMINATE',['../group__window.html#ga8f12c01d25671d42884a2b5871bb9135',1,'glfw3.h']]],
|
|
||||||
['glfw_5ftaskbar_5fprogress_5fnormal_325',['GLFW_TASKBAR_PROGRESS_NORMAL',['../group__window.html#ga8daa1f008ee61a7ae3c1d4fb9b9e3789',1,'glfw3.h']]],
|
|
||||||
['glfw_5ftaskbar_5fprogress_5fpaused_326',['GLFW_TASKBAR_PROGRESS_PAUSED',['../group__window.html#gaca59fa0e4380f10d9e123d28c030e50a',1,'glfw3.h']]],
|
|
||||||
['glfw_5ftransparent_5fframebuffer_327',['GLFW_TRANSPARENT_FRAMEBUFFER',['../group__window.html#ga60a0578c3b9449027d683a9c6abb9f14',1,'glfw3.h']]],
|
|
||||||
['glfw_5ftrue_328',['GLFW_TRUE',['../group__init.html#ga2744fbb29b5631bb28802dbe0cf36eba',1,'glfw3.h']]],
|
|
||||||
['glfw_5fversion_5fmajor_329',['GLFW_VERSION_MAJOR',['../group__init.html#ga6337d9ea43b22fc529b2bba066b4a576',1,'glfw3.h']]],
|
|
||||||
['glfw_5fversion_5fminor_330',['GLFW_VERSION_MINOR',['../group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3',1,'glfw3.h']]],
|
|
||||||
['glfw_5fversion_5frevision_331',['GLFW_VERSION_REVISION',['../group__init.html#gab72ae2e2035d9ea461abc3495eac0502',1,'glfw3.h']]],
|
|
||||||
['glfw_5fversion_5funavailable_332',['GLFW_VERSION_UNAVAILABLE',['../group__errors.html#gad16c5565b4a69f9c2a9ac2c0dbc89462',1,'glfw3.h']]],
|
|
||||||
['glfw_5fvisible_333',['GLFW_VISIBLE',['../group__window.html#gafb3cdc45297e06d8f1eb13adc69ca6c4',1,'glfw3.h']]],
|
|
||||||
['glfw_5fvresize_5fcursor_334',['GLFW_VRESIZE_CURSOR',['../group__shapes.html#gaf024f0e1ff8366fb2b5c260509a1fce5',1,'glfw3.h']]],
|
|
||||||
['glfw_5fwayland_5fapp_5fid_335',['GLFW_WAYLAND_APP_ID',['../group__window.html#gafbf1ce7a4362c75e602a4df9e1bdecd3',1,'glfw3.h']]],
|
|
||||||
['glfw_5fwin32_5fkeyboard_5fmenu_336',['GLFW_WIN32_KEYBOARD_MENU',['../group__window.html#gaf65ea8dafdc0edb07b821b9a336d5043',1,'glfw3.h']]],
|
|
||||||
['glfw_5fx11_5fclass_5fname_337',['GLFW_X11_CLASS_NAME',['../group__window.html#gae5a9ea2fccccd92edbd343fc56461114',1,'glfw3.h']]],
|
|
||||||
['glfw_5fx11_5finstance_5fname_338',['GLFW_X11_INSTANCE_NAME',['../group__window.html#ga494c3c0d911e4b860b946530a3e389e8',1,'glfw3.h']]],
|
|
||||||
['glfw_5fx11_5fxcb_5fvulkan_5fsurface_339',['GLFW_X11_XCB_VULKAN_SURFACE',['../group__init.html#gaa341e303ebeb8e4199b8ab8be84351f6',1,'glfw3.h']]],
|
|
||||||
['glfwallocatefun_340',['GLFWallocatefun',['../group__init.html#ga4306a564e9f60f4de8cc8f31731a3120',1,'glfw3.h']]],
|
|
||||||
['glfwallocator_341',['GLFWallocator',['../struct_g_l_f_wallocator.html',1,'GLFWallocator'],['../group__init.html#ga145c57d7f2aeda0b704a5a4ba1d6104b',1,'GLFWallocator(): glfw3.h']]],
|
|
||||||
['glfwcharfun_342',['GLFWcharfun',['../group__input.html#ga1ab90a55cf3f58639b893c0f4118cb6e',1,'glfw3.h']]],
|
|
||||||
['glfwcharmodsfun_343',['GLFWcharmodsfun',['../group__input.html#gac3cf64f90b6219c05ac7b7822d5a4b8f',1,'glfw3.h']]],
|
|
||||||
['glfwcreatecursor_344',['glfwCreateCursor',['../group__input.html#ga556f604f73af156c0db0e97c081373c3',1,'glfw3.h']]],
|
|
||||||
['glfwcreatestandardcursor_345',['glfwCreateStandardCursor',['../group__input.html#gaf2fb2eb2c9dd842d1cef8a34e3c6403e',1,'glfw3.h']]],
|
|
||||||
['glfwcreatewindow_346',['glfwCreateWindow',['../group__window.html#ga3555a418df92ad53f917597fe2f64aeb',1,'glfw3.h']]],
|
|
||||||
['glfwcreatewindowsurface_347',['glfwCreateWindowSurface',['../group__vulkan.html#ga1a24536bec3f80b08ead18e28e6ae965',1,'glfw3.h']]],
|
|
||||||
['glfwcursor_348',['GLFWcursor',['../group__input.html#ga89261ae18c75e863aaf2656ecdd238f4',1,'glfw3.h']]],
|
|
||||||
['glfwcursorenterfun_349',['GLFWcursorenterfun',['../group__input.html#gaa93dc4818ac9ab32532909d53a337cbe',1,'glfw3.h']]],
|
|
||||||
['glfwcursorposfun_350',['GLFWcursorposfun',['../group__input.html#gad6fae41b3ac2e4209aaa87b596c57f68',1,'glfw3.h']]],
|
|
||||||
['glfwdeallocatefun_351',['GLFWdeallocatefun',['../group__init.html#ga7181615eda94c4b07bd72bdcee39fa28',1,'glfw3.h']]],
|
|
||||||
['glfwdefaultwindowhints_352',['glfwDefaultWindowHints',['../group__window.html#gaa77c4898dfb83344a6b4f76aa16b9a4a',1,'glfw3.h']]],
|
|
||||||
['glfwdestroycursor_353',['glfwDestroyCursor',['../group__input.html#ga81b952cd1764274d0db7fb3c5a79ba6a',1,'glfw3.h']]],
|
|
||||||
['glfwdestroywindow_354',['glfwDestroyWindow',['../group__window.html#gacdf43e51376051d2c091662e9fe3d7b2',1,'glfw3.h']]],
|
|
||||||
['glfwdropfun_355',['GLFWdropfun',['../group__input.html#gaaba73c3274062c18723b7f05862d94b2',1,'glfw3.h']]],
|
|
||||||
['glfwerrorfun_356',['GLFWerrorfun',['../group__init.html#ga8184701785c096b3862a75cda1bf44a3',1,'glfw3.h']]],
|
|
||||||
['glfwextensionsupported_357',['glfwExtensionSupported',['../group__context.html#ga87425065c011cef1ebd6aac75e059dfa',1,'glfw3.h']]],
|
|
||||||
['glfwfocuswindow_358',['glfwFocusWindow',['../group__window.html#ga873780357abd3f3a081d71a40aae45a1',1,'glfw3.h']]],
|
|
||||||
['glfwframebuffersizefun_359',['GLFWframebuffersizefun',['../group__window.html#gae18026e294dde685ed2e5f759533144d',1,'glfw3.h']]],
|
|
||||||
['glfwgamepadstate_360',['GLFWgamepadstate',['../struct_g_l_f_wgamepadstate.html',1,'GLFWgamepadstate'],['../group__input.html#ga61acfb1f28f751438dd221225c5e725d',1,'GLFWgamepadstate(): glfw3.h']]],
|
|
||||||
['glfwgammaramp_361',['GLFWgammaramp',['../group__monitor.html#ga939cf093cb0af0498b7b54dc2e181404',1,'GLFWgammaramp(): glfw3.h'],['../struct_g_l_f_wgammaramp.html',1,'GLFWgammaramp']]],
|
|
||||||
['glfwgetclipboardstring_362',['glfwGetClipboardString',['../group__input.html#ga71a5b20808ea92193d65c21b82580355',1,'glfw3.h']]],
|
|
||||||
['glfwgetcocoamonitor_363',['glfwGetCocoaMonitor',['../group__native.html#gaf22f429aec4b1aab316142d66d9be3e6',1,'glfw3native.h']]],
|
|
||||||
['glfwgetcocoawindow_364',['glfwGetCocoaWindow',['../group__native.html#gac3ed9d495d0c2bb9652de5a50c648715',1,'glfw3native.h']]],
|
|
||||||
['glfwgetcurrentcontext_365',['glfwGetCurrentContext',['../group__context.html#gad94e80185397a6cf5fe2ab30567af71c',1,'glfw3.h']]],
|
|
||||||
['glfwgetcursorpos_366',['glfwGetCursorPos',['../group__input.html#ga01d37b6c40133676b9cea60ca1d7c0cc',1,'glfw3.h']]],
|
|
||||||
['glfwgeteglcontext_367',['glfwGetEGLContext',['../group__native.html#ga671c5072becd085f4ab5771a9c8efcf1',1,'glfw3native.h']]],
|
|
||||||
['glfwgetegldisplay_368',['glfwGetEGLDisplay',['../group__native.html#ga1cd8d973f47aacb5532d368147cc3138',1,'glfw3native.h']]],
|
|
||||||
['glfwgeteglsurface_369',['glfwGetEGLSurface',['../group__native.html#ga2199b36117a6a695fec8441d8052eee6',1,'glfw3native.h']]],
|
|
||||||
['glfwgeterror_370',['glfwGetError',['../group__init.html#ga944986b4ec0b928d488141f92982aa18',1,'glfw3.h']]],
|
|
||||||
['glfwgetframebuffersize_371',['glfwGetFramebufferSize',['../group__window.html#ga0e2637a4161afb283f5300c7f94785c9',1,'glfw3.h']]],
|
|
||||||
['glfwgetgamepadname_372',['glfwGetGamepadName',['../group__input.html#ga8aea73a1a25cc6c0486a617019f56728',1,'glfw3.h']]],
|
|
||||||
['glfwgetgamepadstate_373',['glfwGetGamepadState',['../group__input.html#gadccddea8bce6113fa459de379ddaf051',1,'glfw3.h']]],
|
|
||||||
['glfwgetgammaramp_374',['glfwGetGammaRamp',['../group__monitor.html#ga76ba90debcf0062b5c4b73052b24f96f',1,'glfw3.h']]],
|
|
||||||
['glfwgetglxcontext_375',['glfwGetGLXContext',['../group__native.html#ga62d884114b0abfcdc2930e89f20867e2',1,'glfw3native.h']]],
|
|
||||||
['glfwgetglxwindow_376',['glfwGetGLXWindow',['../group__native.html#ga1ed27b8766e859a21381e8f8ce18d049',1,'glfw3native.h']]],
|
|
||||||
['glfwgetinputmode_377',['glfwGetInputMode',['../group__input.html#gaf5b859dbe19bdf434e42695ea45cc5f4',1,'glfw3.h']]],
|
|
||||||
['glfwgetinstanceprocaddress_378',['glfwGetInstanceProcAddress',['../group__vulkan.html#gadf228fac94c5fd8f12423ec9af9ff1e9',1,'glfw3.h']]],
|
|
||||||
['glfwgetjoystickaxes_379',['glfwGetJoystickAxes',['../group__input.html#gaeb1c0191d3140a233a682987c61eb408',1,'glfw3.h']]],
|
|
||||||
['glfwgetjoystickbuttons_380',['glfwGetJoystickButtons',['../group__input.html#ga5ffe34739d3dc97efe432ed2d81d9938',1,'glfw3.h']]],
|
|
||||||
['glfwgetjoystickguid_381',['glfwGetJoystickGUID',['../group__input.html#ga6659411aec3c7fcef27780e2cb2d9600',1,'glfw3.h']]],
|
|
||||||
['glfwgetjoystickhats_382',['glfwGetJoystickHats',['../group__input.html#ga06e660841b3e79c54da4f54a932c5a2c',1,'glfw3.h']]],
|
|
||||||
['glfwgetjoystickname_383',['glfwGetJoystickName',['../group__input.html#gac6a8e769e18e0bcfa9097793fc2c3978',1,'glfw3.h']]],
|
|
||||||
['glfwgetjoystickuserpointer_384',['glfwGetJoystickUserPointer',['../group__input.html#ga18cefd7265d1fa04f3fd38a6746db5f3',1,'glfw3.h']]],
|
|
||||||
['glfwgetkey_385',['glfwGetKey',['../group__input.html#gadd341da06bc8d418b4dc3a3518af9ad2',1,'glfw3.h']]],
|
|
||||||
['glfwgetkeyname_386',['glfwGetKeyName',['../group__input.html#gaeaed62e69c3bd62b7ff8f7b19913ce4f',1,'glfw3.h']]],
|
|
||||||
['glfwgetkeyscancode_387',['glfwGetKeyScancode',['../group__input.html#ga67ddd1b7dcbbaff03e4a76c0ea67103a',1,'glfw3.h']]],
|
|
||||||
['glfwgetmonitorcontentscale_388',['glfwGetMonitorContentScale',['../group__monitor.html#gad3152e84465fa620b601265ebfcdb21b',1,'glfw3.h']]],
|
|
||||||
['glfwgetmonitorname_389',['glfwGetMonitorName',['../group__monitor.html#ga7af83e13489d90379588fb331b9e4b68',1,'glfw3.h']]],
|
|
||||||
['glfwgetmonitorphysicalsize_390',['glfwGetMonitorPhysicalSize',['../group__monitor.html#ga7d8bffc6c55539286a6bd20d32a8d7ea',1,'glfw3.h']]],
|
|
||||||
['glfwgetmonitorpos_391',['glfwGetMonitorPos',['../group__monitor.html#ga102f54e7acc9149edbcf0997152df8c9',1,'glfw3.h']]],
|
|
||||||
['glfwgetmonitors_392',['glfwGetMonitors',['../group__monitor.html#ga70b1156d5d24e9928f145d6c864369d2',1,'glfw3.h']]],
|
|
||||||
['glfwgetmonitoruserpointer_393',['glfwGetMonitorUserPointer',['../group__monitor.html#ga1adbfbfb8cd58b23cfee82e574fbbdc5',1,'glfw3.h']]],
|
|
||||||
['glfwgetmonitorworkarea_394',['glfwGetMonitorWorkarea',['../group__monitor.html#ga7387a3bdb64bfe8ebf2b9e54f5b6c9d0',1,'glfw3.h']]],
|
|
||||||
['glfwgetmousebutton_395',['glfwGetMouseButton',['../group__input.html#gac1473feacb5996c01a7a5a33b5066704',1,'glfw3.h']]],
|
|
||||||
['glfwgetnsglcontext_396',['glfwGetNSGLContext',['../group__native.html#ga559e002e3cd63c979881770cd4dc63bc',1,'glfw3native.h']]],
|
|
||||||
['glfwgetosmesacolorbuffer_397',['glfwGetOSMesaColorBuffer',['../group__native.html#ga3b36e3e3dcf308b776427b6bd73cc132',1,'glfw3native.h']]],
|
|
||||||
['glfwgetosmesacontext_398',['glfwGetOSMesaContext',['../group__native.html#ga9e47700080094eb569cb053afaa88773',1,'glfw3native.h']]],
|
|
||||||
['glfwgetosmesadepthbuffer_399',['glfwGetOSMesaDepthBuffer',['../group__native.html#ga6b64039ffc88a7a2f57f0956c0c75d53',1,'glfw3native.h']]],
|
|
||||||
['glfwgetphysicaldevicepresentationsupport_400',['glfwGetPhysicalDevicePresentationSupport',['../group__vulkan.html#gaff3823355cdd7e2f3f9f4d9ea9518d92',1,'glfw3.h']]],
|
|
||||||
['glfwgetplatform_401',['glfwGetPlatform',['../group__init.html#ga6d6a983d38bd4e8fd786d7a9061d399e',1,'glfw3.h']]],
|
|
||||||
['glfwgetprimarymonitor_402',['glfwGetPrimaryMonitor',['../group__monitor.html#gac3adb24947eb709e1874028272e5dfc5',1,'glfw3.h']]],
|
|
||||||
['glfwgetprocaddress_403',['glfwGetProcAddress',['../group__context.html#ga35f1837e6f666781842483937612f163',1,'glfw3.h']]],
|
|
||||||
['glfwgetrequiredinstanceextensions_404',['glfwGetRequiredInstanceExtensions',['../group__vulkan.html#ga99ad342d82f4a3421e2864978cb6d1d6',1,'glfw3.h']]],
|
|
||||||
['glfwgettime_405',['glfwGetTime',['../group__input.html#gaa6cf4e7a77158a3b8fd00328b1720a4a',1,'glfw3.h']]],
|
|
||||||
['glfwgettimerfrequency_406',['glfwGetTimerFrequency',['../group__input.html#ga3289ee876572f6e91f06df3a24824443',1,'glfw3.h']]],
|
|
||||||
['glfwgettimervalue_407',['glfwGetTimerValue',['../group__input.html#ga09b2bd37d328e0b9456c7ec575cc26aa',1,'glfw3.h']]],
|
|
||||||
['glfwgetversion_408',['glfwGetVersion',['../group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197',1,'glfw3.h']]],
|
|
||||||
['glfwgetversionstring_409',['glfwGetVersionString',['../group__init.html#ga026abd003c8e6501981ab1662062f1c0',1,'glfw3.h']]],
|
|
||||||
['glfwgetvideomode_410',['glfwGetVideoMode',['../group__monitor.html#gaba376fa7e76634b4788bddc505d6c9d5',1,'glfw3.h']]],
|
|
||||||
['glfwgetvideomodes_411',['glfwGetVideoModes',['../group__monitor.html#gad2e24d2843cb7d6c26202cddd530fc1b',1,'glfw3.h']]],
|
|
||||||
['glfwgetwaylanddisplay_412',['glfwGetWaylandDisplay',['../group__native.html#gacbe11f93ce20621de82989bbba94e62a',1,'glfw3native.h']]],
|
|
||||||
['glfwgetwaylandmonitor_413',['glfwGetWaylandMonitor',['../group__native.html#ga4f16066bd4c59e2f99418adfcb43dd16',1,'glfw3native.h']]],
|
|
||||||
['glfwgetwaylandwindow_414',['glfwGetWaylandWindow',['../group__native.html#ga5c597f2841229d9626f0811cca41ceb3',1,'glfw3native.h']]],
|
|
||||||
['glfwgetwglcontext_415',['glfwGetWGLContext',['../group__native.html#gadc4010d91d9cc1134d040eeb1202a143',1,'glfw3native.h']]],
|
|
||||||
['glfwgetwin32adapter_416',['glfwGetWin32Adapter',['../group__native.html#gad4d3e9242536c0ba6be88a98f4c73a41',1,'glfw3native.h']]],
|
|
||||||
['glfwgetwin32monitor_417',['glfwGetWin32Monitor',['../group__native.html#gac845f7dbe4c1d7fdd682a3c6fdae6766',1,'glfw3native.h']]],
|
|
||||||
['glfwgetwin32window_418',['glfwGetWin32Window',['../group__native.html#gafe5079aa79038b0079fc09d5f0a8e667',1,'glfw3native.h']]],
|
|
||||||
['glfwgetwindowattrib_419',['glfwGetWindowAttrib',['../group__window.html#gacccb29947ea4b16860ebef42c2cb9337',1,'glfw3.h']]],
|
|
||||||
['glfwgetwindowcontentscale_420',['glfwGetWindowContentScale',['../group__window.html#gaf5d31de9c19c4f994facea64d2b3106c',1,'glfw3.h']]],
|
|
||||||
['glfwgetwindowframesize_421',['glfwGetWindowFrameSize',['../group__window.html#ga1a9fd382058c53101b21cf211898f1f1',1,'glfw3.h']]],
|
|
||||||
['glfwgetwindowmonitor_422',['glfwGetWindowMonitor',['../group__window.html#ga4d766499ac02c60f02221a9dfab87299',1,'glfw3.h']]],
|
|
||||||
['glfwgetwindowopacity_423',['glfwGetWindowOpacity',['../group__window.html#gad09f0bd7a6307c4533b7061828480a84',1,'glfw3.h']]],
|
|
||||||
['glfwgetwindowpos_424',['glfwGetWindowPos',['../group__window.html#ga73cb526c000876fd8ddf571570fdb634',1,'glfw3.h']]],
|
|
||||||
['glfwgetwindowsize_425',['glfwGetWindowSize',['../group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6',1,'glfw3.h']]],
|
|
||||||
['glfwgetwindowuserpointer_426',['glfwGetWindowUserPointer',['../group__window.html#gae77a4add0d2023ca21ff1443ced01653',1,'glfw3.h']]],
|
|
||||||
['glfwgetx11adapter_427',['glfwGetX11Adapter',['../group__native.html#ga088fbfa80f50569402b41be71ad66e40',1,'glfw3native.h']]],
|
|
||||||
['glfwgetx11display_428',['glfwGetX11Display',['../group__native.html#ga6e7822385cc8a1cc3b18f60352830189',1,'glfw3native.h']]],
|
|
||||||
['glfwgetx11monitor_429',['glfwGetX11Monitor',['../group__native.html#gab2f8cc043905e9fa9b12bfdbbcfe874c',1,'glfw3native.h']]],
|
|
||||||
['glfwgetx11selectionstring_430',['glfwGetX11SelectionString',['../group__native.html#gae084ef64dc0db140b455b1427256d3f7',1,'glfw3native.h']]],
|
|
||||||
['glfwgetx11window_431',['glfwGetX11Window',['../group__native.html#ga90ca676322740842db446999a1b1f21d',1,'glfw3native.h']]],
|
|
||||||
['glfwglproc_432',['GLFWglproc',['../group__context.html#ga3d47c2d2fbe0be9c505d0e04e91a133c',1,'glfw3.h']]],
|
|
||||||
['glfwhidewindow_433',['glfwHideWindow',['../group__window.html#ga49401f82a1ba5f15db5590728314d47c',1,'glfw3.h']]],
|
|
||||||
['glfwiconifywindow_434',['glfwIconifyWindow',['../group__window.html#ga1bb559c0ebaad63c5c05ad2a066779c4',1,'glfw3.h']]],
|
|
||||||
['glfwimage_435',['GLFWimage',['../struct_g_l_f_wimage.html',1,'GLFWimage'],['../group__window.html#ga7cc0a09de172fa7250872046f8c4d2ca',1,'GLFWimage(): glfw3.h']]],
|
|
||||||
['glfwinit_436',['glfwInit',['../group__init.html#ga317aac130a235ab08c6db0834907d85e',1,'glfw3.h']]],
|
|
||||||
['glfwinitallocator_437',['glfwInitAllocator',['../group__init.html#ga9dde93e9891fa7dd17e4194c9f3ae7c6',1,'glfw3.h']]],
|
|
||||||
['glfwinithint_438',['glfwInitHint',['../group__init.html#ga110fd1d3f0412822b4f1908c026f724a',1,'glfw3.h']]],
|
|
||||||
['glfwinitvulkanloader_439',['glfwInitVulkanLoader',['../group__init.html#ga76af552d0307bb5f7791f245417d4752',1,'glfw3.h']]],
|
|
||||||
['glfwjoystickfun_440',['GLFWjoystickfun',['../group__input.html#gaa21ad5986ae9a26077a40142efb56243',1,'glfw3.h']]],
|
|
||||||
['glfwjoystickisgamepad_441',['glfwJoystickIsGamepad',['../group__input.html#gad0f676860f329d80f7e47e9f06a96f00',1,'glfw3.h']]],
|
|
||||||
['glfwjoystickpresent_442',['glfwJoystickPresent',['../group__input.html#gaed0966cee139d815317f9ffcba64c9f1',1,'glfw3.h']]],
|
|
||||||
['glfwkeyfun_443',['GLFWkeyfun',['../group__input.html#ga5bd751b27b90f865d2ea613533f0453c',1,'glfw3.h']]],
|
|
||||||
['glfwmakecontextcurrent_444',['glfwMakeContextCurrent',['../group__context.html#ga1c04dc242268f827290fe40aa1c91157',1,'glfw3.h']]],
|
|
||||||
['glfwmaximizewindow_445',['glfwMaximizeWindow',['../group__window.html#ga3f541387449d911274324ae7f17ec56b',1,'glfw3.h']]],
|
|
||||||
['glfwmonitor_446',['GLFWmonitor',['../group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3',1,'glfw3.h']]],
|
|
||||||
['glfwmonitorfun_447',['GLFWmonitorfun',['../group__monitor.html#gaabe16caca8dea952504dfdebdf4cd249',1,'glfw3.h']]],
|
|
||||||
['glfwmousebuttonfun_448',['GLFWmousebuttonfun',['../group__input.html#ga0184dcb59f6d85d735503dcaae809727',1,'glfw3.h']]],
|
|
||||||
['glfwplatformsupported_449',['glfwPlatformSupported',['../group__init.html#ga8785d2b6b36632368d803e78079d38ed',1,'glfw3.h']]],
|
|
||||||
['glfwpollevents_450',['glfwPollEvents',['../group__window.html#ga37bd57223967b4211d60ca1a0bf3c832',1,'glfw3.h']]],
|
|
||||||
['glfwpostemptyevent_451',['glfwPostEmptyEvent',['../group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9',1,'glfw3.h']]],
|
|
||||||
['glfwrawmousemotionsupported_452',['glfwRawMouseMotionSupported',['../group__input.html#gae4ee0dbd0d256183e1ea4026d897e1c2',1,'glfw3.h']]],
|
|
||||||
['glfwreallocatefun_453',['GLFWreallocatefun',['../group__init.html#ga3e88a829615d8efe8bec1746f7309c63',1,'glfw3.h']]],
|
|
||||||
['glfwrequestwindowattention_454',['glfwRequestWindowAttention',['../group__window.html#ga2f8d59323fc4692c1d54ba08c863a703',1,'glfw3.h']]],
|
|
||||||
['glfwrestorewindow_455',['glfwRestoreWindow',['../group__window.html#ga52527a5904b47d802b6b4bb519cdebc7',1,'glfw3.h']]],
|
|
||||||
['glfwscrollfun_456',['GLFWscrollfun',['../group__input.html#gaf656112c33de3efdb227fa58f0134cf5',1,'glfw3.h']]],
|
|
||||||
['glfwsetcharcallback_457',['glfwSetCharCallback',['../group__input.html#gab25c4a220fd8f5717718dbc487828996',1,'glfw3.h']]],
|
|
||||||
['glfwsetcharmodscallback_458',['glfwSetCharModsCallback',['../group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c',1,'glfw3.h']]],
|
|
||||||
['glfwsetclipboardstring_459',['glfwSetClipboardString',['../group__input.html#gaba1f022c5eb07dfac421df34cdcd31dd',1,'glfw3.h']]],
|
|
||||||
['glfwsetcursor_460',['glfwSetCursor',['../group__input.html#gad3b4f38c8d5dae036bc8fa959e18343e',1,'glfw3.h']]],
|
|
||||||
['glfwsetcursorentercallback_461',['glfwSetCursorEnterCallback',['../group__input.html#gad27f8ad0142c038a281466c0966817d8',1,'glfw3.h']]],
|
|
||||||
['glfwsetcursorpos_462',['glfwSetCursorPos',['../group__input.html#ga04b03af936d906ca123c8f4ee08b39e7',1,'glfw3.h']]],
|
|
||||||
['glfwsetcursorposcallback_463',['glfwSetCursorPosCallback',['../group__input.html#gac1f879ab7435d54d4d79bb469fe225d7',1,'glfw3.h']]],
|
|
||||||
['glfwsetdropcallback_464',['glfwSetDropCallback',['../group__input.html#gab773f0ee0a07cff77a210cea40bc1f6b',1,'glfw3.h']]],
|
|
||||||
['glfwseterrorcallback_465',['glfwSetErrorCallback',['../group__init.html#gaff45816610d53f0b83656092a4034f40',1,'glfw3.h']]],
|
|
||||||
['glfwsetframebuffersizecallback_466',['glfwSetFramebufferSizeCallback',['../group__window.html#gab3fb7c3366577daef18c0023e2a8591f',1,'glfw3.h']]],
|
|
||||||
['glfwsetgamma_467',['glfwSetGamma',['../group__monitor.html#ga6ac582625c990220785ddd34efa3169a',1,'glfw3.h']]],
|
|
||||||
['glfwsetgammaramp_468',['glfwSetGammaRamp',['../group__monitor.html#ga583f0ffd0d29613d8cd172b996bbf0dd',1,'glfw3.h']]],
|
|
||||||
['glfwsetinputmode_469',['glfwSetInputMode',['../group__input.html#gaa92336e173da9c8834558b54ee80563b',1,'glfw3.h']]],
|
|
||||||
['glfwsetjoystickcallback_470',['glfwSetJoystickCallback',['../group__input.html#ga2f60a0e5b7bd8d1b7344dc0a7cb32b4c',1,'glfw3.h']]],
|
|
||||||
['glfwsetjoystickuserpointer_471',['glfwSetJoystickUserPointer',['../group__input.html#ga6b2f72d64d636b48a727b437cbb7489e',1,'glfw3.h']]],
|
|
||||||
['glfwsetkeycallback_472',['glfwSetKeyCallback',['../group__input.html#ga1caf18159767e761185e49a3be019f8d',1,'glfw3.h']]],
|
|
||||||
['glfwsetmonitorcallback_473',['glfwSetMonitorCallback',['../group__monitor.html#gab39df645587c8518192aa746c2fb06c3',1,'glfw3.h']]],
|
|
||||||
['glfwsetmonitoruserpointer_474',['glfwSetMonitorUserPointer',['../group__monitor.html#ga702750e24313a686d3637297b6e85fda',1,'glfw3.h']]],
|
|
||||||
['glfwsetmousebuttoncallback_475',['glfwSetMouseButtonCallback',['../group__input.html#ga6ab84420974d812bee700e45284a723c',1,'glfw3.h']]],
|
|
||||||
['glfwsetscrollcallback_476',['glfwSetScrollCallback',['../group__input.html#ga571e45a030ae4061f746ed56cb76aede',1,'glfw3.h']]],
|
|
||||||
['glfwsettime_477',['glfwSetTime',['../group__input.html#gaf59589ef6e8b8c8b5ad184b25afd4dc0',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowaspectratio_478',['glfwSetWindowAspectRatio',['../group__window.html#ga72ac8cb1ee2e312a878b55153d81b937',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowattrib_479',['glfwSetWindowAttrib',['../group__window.html#gace2afda29b4116ec012e410a6819033e',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowclosecallback_480',['glfwSetWindowCloseCallback',['../group__window.html#gada646d775a7776a95ac000cfc1885331',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowcontentscalecallback_481',['glfwSetWindowContentScaleCallback',['../group__window.html#gaf2832ebb5aa6c252a2d261de002c92d6',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowfocuscallback_482',['glfwSetWindowFocusCallback',['../group__window.html#gac2d83c4a10f071baf841f6730528e66c',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowicon_483',['glfwSetWindowIcon',['../group__window.html#gadd7ccd39fe7a7d1f0904666ae5932dc5',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowiconifycallback_484',['glfwSetWindowIconifyCallback',['../group__window.html#gac793e9efd255567b5fb8b445052cfd3e',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowmaximizecallback_485',['glfwSetWindowMaximizeCallback',['../group__window.html#gacbe64c339fbd94885e62145563b6dc93',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowmonitor_486',['glfwSetWindowMonitor',['../group__window.html#ga81c76c418af80a1cce7055bccb0ae0a7',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowopacity_487',['glfwSetWindowOpacity',['../group__window.html#gac31caeb3d1088831b13d2c8a156802e9',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowpos_488',['glfwSetWindowPos',['../group__window.html#ga1abb6d690e8c88e0c8cd1751356dbca8',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowposcallback_489',['glfwSetWindowPosCallback',['../group__window.html#ga08bdfbba88934f9c4f92fd757979ac74',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowrefreshcallback_490',['glfwSetWindowRefreshCallback',['../group__window.html#ga1c5c7eb889c33c7f4d10dd35b327654e',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowshouldclose_491',['glfwSetWindowShouldClose',['../group__window.html#ga49c449dde2a6f87d996f4daaa09d6708',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowsize_492',['glfwSetWindowSize',['../group__window.html#ga371911f12c74c504dd8d47d832d095cb',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowsizecallback_493',['glfwSetWindowSizeCallback',['../group__window.html#gad91b8b047a0c4c6033c38853864c34f8',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowsizelimits_494',['glfwSetWindowSizeLimits',['../group__window.html#gac314fa6cec7d2d307be9963e2709cc90',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowtaskbarprogress_495',['glfwSetWindowTaskbarProgress',['../group__window.html#ga6ee4781d405009b05c0a0514850fdab0',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowtitle_496',['glfwSetWindowTitle',['../group__window.html#ga5d877f09e968cef7a360b513306f17ff',1,'glfw3.h']]],
|
|
||||||
['glfwsetwindowuserpointer_497',['glfwSetWindowUserPointer',['../group__window.html#ga3d2fc6026e690ab31a13f78bc9fd3651',1,'glfw3.h']]],
|
|
||||||
['glfwsetx11selectionstring_498',['glfwSetX11SelectionString',['../group__native.html#ga55f879ab02d93367f966186b6f0133f7',1,'glfw3native.h']]],
|
|
||||||
['glfwshowwindow_499',['glfwShowWindow',['../group__window.html#ga61be47917b72536a148300f46494fc66',1,'glfw3.h']]],
|
|
||||||
['glfwswapbuffers_500',['glfwSwapBuffers',['../group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14',1,'glfw3.h']]],
|
|
||||||
['glfwswapinterval_501',['glfwSwapInterval',['../group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed',1,'glfw3.h']]],
|
|
||||||
['glfwterminate_502',['glfwTerminate',['../group__init.html#gaaae48c0a18607ea4a4ba951d939f0901',1,'glfw3.h']]],
|
|
||||||
['glfwupdategamepadmappings_503',['glfwUpdateGamepadMappings',['../group__input.html#gaed5104612f2fa8e66aa6e846652ad00f',1,'glfw3.h']]],
|
|
||||||
['glfwvidmode_504',['GLFWvidmode',['../struct_g_l_f_wvidmode.html',1,'GLFWvidmode'],['../group__monitor.html#ga902c2816ac9b34b757282daab59b2565',1,'GLFWvidmode(): glfw3.h']]],
|
|
||||||
['glfwvkproc_505',['GLFWvkproc',['../group__vulkan.html#ga70c01918dc9d233a4fbe0681a43018af',1,'glfw3.h']]],
|
|
||||||
['glfwvulkansupported_506',['glfwVulkanSupported',['../group__vulkan.html#ga2e7f30931e02464b5bc8d0d4b6f9fe2b',1,'glfw3.h']]],
|
|
||||||
['glfwwaitevents_507',['glfwWaitEvents',['../group__window.html#ga554e37d781f0a997656c26b2c56c835e',1,'glfw3.h']]],
|
|
||||||
['glfwwaiteventstimeout_508',['glfwWaitEventsTimeout',['../group__window.html#ga605a178db92f1a7f1a925563ef3ea2cf',1,'glfw3.h']]],
|
|
||||||
['glfwwindow_509',['GLFWwindow',['../group__window.html#ga3c96d80d363e67d13a41b5d1821f3242',1,'glfw3.h']]],
|
|
||||||
['glfwwindowclosefun_510',['GLFWwindowclosefun',['../group__window.html#gabf859b936d80961b7d39013a9694cc3e',1,'glfw3.h']]],
|
|
||||||
['glfwwindowcontentscalefun_511',['GLFWwindowcontentscalefun',['../group__window.html#ga77f288a2d04bb3c77c7d9615d08cf70e',1,'glfw3.h']]],
|
|
||||||
['glfwwindowfocusfun_512',['GLFWwindowfocusfun',['../group__window.html#gabc58c47e9d93f6eb1862d615c3680f46',1,'glfw3.h']]],
|
|
||||||
['glfwwindowhint_513',['glfwWindowHint',['../group__window.html#ga7d9c8c62384b1e2821c4dc48952d2033',1,'glfw3.h']]],
|
|
||||||
['glfwwindowhintstring_514',['glfwWindowHintString',['../group__window.html#ga8cb2782861c9d997bcf2dea97f363e5f',1,'glfw3.h']]],
|
|
||||||
['glfwwindowiconifyfun_515',['GLFWwindowiconifyfun',['../group__window.html#ga35c658cccba236f26e7adee0e25f6a4f',1,'glfw3.h']]],
|
|
||||||
['glfwwindowmaximizefun_516',['GLFWwindowmaximizefun',['../group__window.html#ga3017196fdaec33ac3e095765176c2a90',1,'glfw3.h']]],
|
|
||||||
['glfwwindowposfun_517',['GLFWwindowposfun',['../group__window.html#gabe287973a21a8f927cde4db06b8dcbe9',1,'glfw3.h']]],
|
|
||||||
['glfwwindowrefreshfun_518',['GLFWwindowrefreshfun',['../group__window.html#ga431663a1427d2eb3a273bc398b6737b5',1,'glfw3.h']]],
|
|
||||||
['glfwwindowshouldclose_519',['glfwWindowShouldClose',['../group__window.html#ga24e02fbfefbb81fc45320989f8140ab5',1,'glfw3.h']]],
|
|
||||||
['glfwwindowsizefun_520',['GLFWwindowsizefun',['../group__window.html#gaec0282944bb810f6f3163ec02da90350',1,'glfw3.h']]],
|
|
||||||
['green_521',['green',['../struct_g_l_f_wgammaramp.html#affccc6f5df47820b6562d709da3a5a3a',1,'GLFWgammaramp']]],
|
|
||||||
['greenbits_522',['greenBits',['../struct_g_l_f_wvidmode.html#a292fdd281f3485fb3ff102a5bda43faa',1,'GLFWvidmode']]]
|
|
||||||
];
|
|
@ -1,4 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['height_0',['height',['../struct_g_l_f_wvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode::height()'],['../struct_g_l_f_wimage.html#a0b7d95368f0c80d5e5c9875057c7dbec',1,'GLFWimage::height()']]]
|
|
||||||
];
|
|
@ -1,11 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['initialization_2c_20version_20and_20error_20reference_0',['Initialization, version and error reference',['../group__init.html',1,'']]],
|
|
||||||
['input_20guide_1',['Input guide',['../input_guide.html',1,'']]],
|
|
||||||
['input_20reference_2',['Input reference',['../group__input.html',1,'']]],
|
|
||||||
['input_2edox_3',['input.dox',['../input_8dox.html',1,'']]],
|
|
||||||
['internal_20structure_4',['Internal structure',['../internals_guide.html',1,'']]],
|
|
||||||
['internal_2edox_5',['internal.dox',['../internal_8dox.html',1,'']]],
|
|
||||||
['intro_2edox_6',['intro.dox',['../intro_8dox.html',1,'']]],
|
|
||||||
['introduction_20to_20the_20api_7',['Introduction to the API',['../intro_guide.html',1,'']]]
|
|
||||||
];
|
|
@ -1,5 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['joystick_20hat_20states_0',['Joystick hat states',['../group__hat__state.html',1,'']]],
|
|
||||||
['joysticks_1',['Joysticks',['../group__joysticks.html',1,'']]]
|
|
||||||
];
|
|
@ -1,4 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['keyboard_20keys_0',['Keyboard keys',['../group__keys.html',1,'']]]
|
|
||||||
];
|
|
@ -1,11 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['main_2edox_0',['main.dox',['../main_8dox.html',1,'']]],
|
|
||||||
['modifier_20key_20flags_1',['Modifier key flags',['../group__mods.html',1,'']]],
|
|
||||||
['monitor_20guide_2',['Monitor guide',['../monitor_guide.html',1,'']]],
|
|
||||||
['monitor_20reference_3',['Monitor reference',['../group__monitor.html',1,'']]],
|
|
||||||
['monitor_2edox_4',['monitor.dox',['../monitor_8dox.html',1,'']]],
|
|
||||||
['mouse_20buttons_5',['Mouse buttons',['../group__buttons.html',1,'']]],
|
|
||||||
['moving_20from_20glfw_202_20to_203_6',['Moving from GLFW 2 to 3',['../moving_guide.html',1,'']]],
|
|
||||||
['moving_2edox_7',['moving.dox',['../moving_8dox.html',1,'']]]
|
|
||||||
];
|
|
@ -1,6 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['native_20access_0',['Native access',['../group__native.html',1,'']]],
|
|
||||||
['news_2edox_1',['news.dox',['../news_8dox.html',1,'']]],
|
|
||||||
['notitle_2',['notitle',['../index.html',1,'']]]
|
|
||||||
];
|
|
@ -1,4 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['pixels_0',['pixels',['../struct_g_l_f_wimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]]
|
|
||||||
];
|
|
@ -1,4 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['quick_2edox_0',['quick.dox',['../quick_8dox.html',1,'']]]
|
|
||||||
];
|
|
@ -1,8 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['reallocate_0',['reallocate',['../struct_g_l_f_wallocator.html#af5a674af9e170095b968f467233437be',1,'GLFWallocator']]],
|
|
||||||
['red_1',['red',['../struct_g_l_f_wgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]],
|
|
||||||
['redbits_2',['redBits',['../struct_g_l_f_wvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]],
|
|
||||||
['refreshrate_3',['refreshRate',['../struct_g_l_f_wvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]],
|
|
||||||
['release_20notes_4',['Release notes',['../news.html',1,'']]]
|
|
||||||
];
|
|
@ -1,6 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['size_0',['size',['../struct_g_l_f_wgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]],
|
|
||||||
['standard_20cursor_20shapes_1',['Standard cursor shapes',['../group__shapes.html',1,'']]],
|
|
||||||
['standards_20conformance_2',['Standards conformance',['../compat_guide.html',1,'']]]
|
|
||||||
];
|
|
@ -1,8 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['glfwallocator_0',['GLFWallocator',['../struct_g_l_f_wallocator.html',1,'']]],
|
|
||||||
['glfwgamepadstate_1',['GLFWgamepadstate',['../struct_g_l_f_wgamepadstate.html',1,'']]],
|
|
||||||
['glfwgammaramp_2',['GLFWgammaramp',['../struct_g_l_f_wgammaramp.html',1,'']]],
|
|
||||||
['glfwimage_3',['GLFWimage',['../struct_g_l_f_wimage.html',1,'']]],
|
|
||||||
['glfwvidmode_4',['GLFWvidmode',['../struct_g_l_f_wvidmode.html',1,'']]]
|
|
||||||
];
|
|
@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
viewBox="0 0 11 11"
|
|
||||||
height="11"
|
|
||||||
width="11"
|
|
||||||
id="svg2"
|
|
||||||
version="1.1">
|
|
||||||
<metadata
|
|
||||||
id="metadata8">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs6" />
|
|
||||||
<path
|
|
||||||
id="path12"
|
|
||||||
d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
|
|
||||||
style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.3 KiB |
@ -1,41 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['glapientry_0',['GLAPIENTRY',['../glfw3_8h.html#aa97755eb47e4bf2727ad45d610e18206',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fd3d11_1',['GLFW_ANGLE_PLATFORM_TYPE_D3D11',['../glfw3_8h.html#ad6eae659811a52a5cdc43c362aedfa33',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fd3d9_2',['GLFW_ANGLE_PLATFORM_TYPE_D3D9',['../glfw3_8h.html#a6e8fdc83113d247ad792bb5c4e82c894',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fmetal_3',['GLFW_ANGLE_PLATFORM_TYPE_METAL',['../glfw3_8h.html#ab56d91b26cf223dc67590a93a2f8507d',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fnone_4',['GLFW_ANGLE_PLATFORM_TYPE_NONE',['../glfw3_8h.html#ae78e673449c2a2b8c560ca1b1e283228',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fopengl_5',['GLFW_ANGLE_PLATFORM_TYPE_OPENGL',['../glfw3_8h.html#ad8d9e97ed7790811470366b338833623',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fopengles_6',['GLFW_ANGLE_PLATFORM_TYPE_OPENGLES',['../glfw3_8h.html#a0003c089da020cbf957218e70245bb65',1,'glfw3.h']]],
|
|
||||||
['glfw_5fangle_5fplatform_5ftype_5fvulkan_7',['GLFW_ANGLE_PLATFORM_TYPE_VULKAN',['../glfw3_8h.html#a579ac83506c7546709dad91960cc7ca1',1,'glfw3.h']]],
|
|
||||||
['glfw_5fany_5fposition_8',['GLFW_ANY_POSITION',['../glfw3_8h.html#aa0e681bf859ef1bb8355692a70b0ee92',1,'glfw3.h']]],
|
|
||||||
['glfw_5fany_5frelease_5fbehavior_9',['GLFW_ANY_RELEASE_BEHAVIOR',['../glfw3_8h.html#a6b47d806f285efe9bfd7aeec667297ee',1,'glfw3.h']]],
|
|
||||||
['glfw_5fapientry_5fdefined_10',['GLFW_APIENTRY_DEFINED',['../glfw3_8h.html#a8a8538c5500308b4211844f2fb26c7b9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fconnected_11',['GLFW_CONNECTED',['../glfw3_8h.html#abe11513fd1ffbee5bb9b173f06028b9e',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_12',['GLFW_CURSOR',['../glfw3_8h.html#aade31da5b884a84a7625c6b059b9132c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5fcaptured_13',['GLFW_CURSOR_CAPTURED',['../glfw3_8h.html#ac1dbfa0cb4641a0edc93412ade0895dc',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5fdisabled_14',['GLFW_CURSOR_DISABLED',['../glfw3_8h.html#a2315b99a329ce53e6a13a9d46fd5ca88',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5fhidden_15',['GLFW_CURSOR_HIDDEN',['../glfw3_8h.html#ac4d5cb9d78de8573349c58763d53bf11',1,'glfw3.h']]],
|
|
||||||
['glfw_5fcursor_5fnormal_16',['GLFW_CURSOR_NORMAL',['../glfw3_8h.html#ae04dd25c8577e19fa8c97368561f6c68',1,'glfw3.h']]],
|
|
||||||
['glfw_5fdisconnected_17',['GLFW_DISCONNECTED',['../glfw3_8h.html#aab64b25921ef21d89252d6f0a71bfc32',1,'glfw3.h']]],
|
|
||||||
['glfw_5fdont_5fcare_18',['GLFW_DONT_CARE',['../glfw3_8h.html#a7a2edf2c18446833d27d07f1b7f3d571',1,'glfw3.h']]],
|
|
||||||
['glfw_5fegl_5fcontext_5fapi_19',['GLFW_EGL_CONTEXT_API',['../glfw3_8h.html#a03cf65c9ab01fc8b872ba58842c531c9',1,'glfw3.h']]],
|
|
||||||
['glfw_5fglapientry_5fdefined_20',['GLFW_GLAPIENTRY_DEFINED',['../glfw3_8h.html#a3b526ac796be993406ea2f1642c25fc3',1,'glfw3.h']]],
|
|
||||||
['glfw_5flock_5fkey_5fmods_21',['GLFW_LOCK_KEY_MODS',['../glfw3_8h.html#a07b84de0b52143e1958f88a7d9105947',1,'glfw3.h']]],
|
|
||||||
['glfw_5flose_5fcontext_5fon_5freset_22',['GLFW_LOSE_CONTEXT_ON_RESET',['../glfw3_8h.html#aec1132f245143fc915b2f0995228564c',1,'glfw3.h']]],
|
|
||||||
['glfw_5fnative_5fcontext_5fapi_23',['GLFW_NATIVE_CONTEXT_API',['../glfw3_8h.html#a0494c9bfd3f584ab41e6dbeeaa0e6a19',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5fapi_24',['GLFW_NO_API',['../glfw3_8h.html#a8f6dcdc968d214ff14779564f1389264',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5freset_5fnotification_25',['GLFW_NO_RESET_NOTIFICATION',['../glfw3_8h.html#aee84a679230d205005e22487ff678a85',1,'glfw3.h']]],
|
|
||||||
['glfw_5fno_5frobustness_26',['GLFW_NO_ROBUSTNESS',['../glfw3_8h.html#a8b306cb27f5bb0d6d67c7356a0e0fc34',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fany_5fprofile_27',['GLFW_OPENGL_ANY_PROFILE',['../glfw3_8h.html#ad6f2335d6f21cc9bab96633b1c111d5f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fapi_28',['GLFW_OPENGL_API',['../glfw3_8h.html#a01b3f66db266341425e9abee6b257db2',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fcompat_5fprofile_29',['GLFW_OPENGL_COMPAT_PROFILE',['../glfw3_8h.html#ac06b663d79c8fcf04669cc8fcc0b7670',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fcore_5fprofile_30',['GLFW_OPENGL_CORE_PROFILE',['../glfw3_8h.html#af094bb16da76f66ebceb19ee213b3de8',1,'glfw3.h']]],
|
|
||||||
['glfw_5fopengl_5fes_5fapi_31',['GLFW_OPENGL_ES_API',['../glfw3_8h.html#a28d9b3bc6c2a522d815c8e146595051f',1,'glfw3.h']]],
|
|
||||||
['glfw_5fosmesa_5fcontext_5fapi_32',['GLFW_OSMESA_CONTEXT_API',['../glfw3_8h.html#afd34a473af9fa81f317910ea371b19e3',1,'glfw3.h']]],
|
|
||||||
['glfw_5fraw_5fmouse_5fmotion_33',['GLFW_RAW_MOUSE_MOTION',['../glfw3_8h.html#aeeda1be76a44a1fc97c1282e06281fbb',1,'glfw3.h']]],
|
|
||||||
['glfw_5frelease_5fbehavior_5fflush_34',['GLFW_RELEASE_BEHAVIOR_FLUSH',['../glfw3_8h.html#a999961d391db49cb4f949c1dece0e13b',1,'glfw3.h']]],
|
|
||||||
['glfw_5frelease_5fbehavior_5fnone_35',['GLFW_RELEASE_BEHAVIOR_NONE',['../glfw3_8h.html#afca09088eccacdce4b59036cfae349c5',1,'glfw3.h']]],
|
|
||||||
['glfw_5fsticky_5fkeys_36',['GLFW_STICKY_KEYS',['../glfw3_8h.html#ae3bbe2315b7691ab088159eb6c9110fc',1,'glfw3.h']]],
|
|
||||||
['glfw_5fsticky_5fmouse_5fbuttons_37',['GLFW_STICKY_MOUSE_BUTTONS',['../glfw3_8h.html#a4d7ce8ce71030c3b04e2b78145bc59d1',1,'glfw3.h']]]
|
|
||||||
];
|
|
@ -1,4 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['build_2edox_0',['build.dox',['../build_8dox.html',1,'']]]
|
|
||||||
];
|
|
@ -1,6 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['compat_2edox_0',['compat.dox',['../compat_8dox.html',1,'']]],
|
|
||||||
['compile_2edox_1',['compile.dox',['../compile_8dox.html',1,'']]],
|
|
||||||
['context_2edox_2',['context.dox',['../context_8dox.html',1,'']]]
|
|
||||||
];
|
|
@ -1,5 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['glfw3_2eh_0',['glfw3.h',['../glfw3_8h.html',1,'']]],
|
|
||||||
['glfw3native_2eh_1',['glfw3native.h',['../glfw3native_8h.html',1,'']]]
|
|
||||||
];
|
|
@ -1,6 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['input_2edox_0',['input.dox',['../input_8dox.html',1,'']]],
|
|
||||||
['internal_2edox_1',['internal.dox',['../internal_8dox.html',1,'']]],
|
|
||||||
['intro_2edox_2',['intro.dox',['../intro_8dox.html',1,'']]]
|
|
||||||
];
|
|
@ -1,6 +0,0 @@
|
|||||||
var searchData=
|
|
||||||
[
|
|
||||||
['main_2edox_0',['main.dox',['../main_8dox.html',1,'']]],
|
|
||||||
['monitor_2edox_1',['monitor.dox',['../monitor_8dox.html',1,'']]],
|
|
||||||
['moving_2edox_2',['moving.dox',['../moving_8dox.html',1,'']]]
|
|
||||||
];
|
|