games101-hw/08/CGL/deps/glfw/docs/html/group__window.html

1592 lines
109 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GLFW: Window handling</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/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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="http://www.glfw.org/" id="glfwhome">GLFW</a>
<ul class="glfwnavbar">
<li><a href="http://www.glfw.org/documentation.html">Documentation</a></li>
<li><a href="http://www.glfw.org/download.html">Download</a></li>
<li><a href="http://www.glfw.org/media.html">Media</a></li>
<li><a href="http://www.glfw.org/community.html">Community</a></li>
</ul>
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="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="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Window handling</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga3c96d80d363e67d13a41b5d1821f3242"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a></td></tr>
<tr class="memdesc:ga3c96d80d363e67d13a41b5d1821f3242"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque window object. <a href="#ga3c96d80d363e67d13a41b5d1821f3242">More...</a><br/></td></tr>
<tr class="separator:ga3c96d80d363e67d13a41b5d1821f3242"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c36e52549efd47790eb3f324da71924"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga1c36e52549efd47790eb3f324da71924">GLFWwindowposfun</a> )(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td></tr>
<tr class="memdesc:ga1c36e52549efd47790eb3f324da71924"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window position callbacks. <a href="#ga1c36e52549efd47790eb3f324da71924">More...</a><br/></td></tr>
<tr class="separator:ga1c36e52549efd47790eb3f324da71924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaca1c2715759d03da9834eac19323d4a"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaaca1c2715759d03da9834eac19323d4a">GLFWwindowsizefun</a> )(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td></tr>
<tr class="memdesc:gaaca1c2715759d03da9834eac19323d4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window resize callbacks. <a href="#gaaca1c2715759d03da9834eac19323d4a">More...</a><br/></td></tr>
<tr class="separator:gaaca1c2715759d03da9834eac19323d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga07cff8bd3b3d573ecf49bb02d7669c1f"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga07cff8bd3b3d573ecf49bb02d7669c1f">GLFWwindowclosefun</a> )(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *)</td></tr>
<tr class="memdesc:ga07cff8bd3b3d573ecf49bb02d7669c1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window close callbacks. <a href="#ga07cff8bd3b3d573ecf49bb02d7669c1f">More...</a><br/></td></tr>
<tr class="separator:ga07cff8bd3b3d573ecf49bb02d7669c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16764f89bf2060e6fa477f0943e1412b"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga16764f89bf2060e6fa477f0943e1412b">GLFWwindowrefreshfun</a> )(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *)</td></tr>
<tr class="memdesc:ga16764f89bf2060e6fa477f0943e1412b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window content refresh callbacks. <a href="#ga16764f89bf2060e6fa477f0943e1412b">More...</a><br/></td></tr>
<tr class="separator:ga16764f89bf2060e6fa477f0943e1412b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b5f973531ea91663ad707ba4f2ac104"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga6b5f973531ea91663ad707ba4f2ac104">GLFWwindowfocusfun</a> )(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td></tr>
<tr class="memdesc:ga6b5f973531ea91663ad707ba4f2ac104"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window focus/defocus callbacks. <a href="#ga6b5f973531ea91663ad707ba4f2ac104">More...</a><br/></td></tr>
<tr class="separator:ga6b5f973531ea91663ad707ba4f2ac104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae47ae066eea9fe6050a62360928ae524"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gae47ae066eea9fe6050a62360928ae524">GLFWwindowiconifyfun</a> )(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td></tr>
<tr class="memdesc:gae47ae066eea9fe6050a62360928ae524"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for window iconify/restore callbacks. <a href="#gae47ae066eea9fe6050a62360928ae524">More...</a><br/></td></tr>
<tr class="separator:gae47ae066eea9fe6050a62360928ae524"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga311bb32e578aa240b6464af494debffc"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga311bb32e578aa240b6464af494debffc">GLFWframebuffersizefun</a> )(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td></tr>
<tr class="memdesc:ga311bb32e578aa240b6464af494debffc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function signature for framebuffer resize callbacks. <a href="#ga311bb32e578aa240b6464af494debffc">More...</a><br/></td></tr>
<tr class="separator:ga311bb32e578aa240b6464af494debffc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa77c4898dfb83344a6b4f76aa16b9a4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaa77c4898dfb83344a6b4f76aa16b9a4a">glfwDefaultWindowHints</a> (void)</td></tr>
<tr class="memdesc:gaa77c4898dfb83344a6b4f76aa16b9a4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets all window hints to their default values. <a href="#gaa77c4898dfb83344a6b4f76aa16b9a4a">More...</a><br/></td></tr>
<tr class="separator:gaa77c4898dfb83344a6b4f76aa16b9a4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fd9e504bb937e79588a0ffdca9f620b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga4fd9e504bb937e79588a0ffdca9f620b">glfwWindowHint</a> (int target, int hint)</td></tr>
<tr class="memdesc:ga4fd9e504bb937e79588a0ffdca9f620b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the specified window hint to the desired value. <a href="#ga4fd9e504bb937e79588a0ffdca9f620b">More...</a><br/></td></tr>
<tr class="separator:ga4fd9e504bb937e79588a0ffdca9f620b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c336fddf2cbb5b92f65f10fb6043344"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a> (int width, int height, const char *title, <a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *monitor, <a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *share)</td></tr>
<tr class="memdesc:ga5c336fddf2cbb5b92f65f10fb6043344"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a window and its associated context. <a href="#ga5c336fddf2cbb5b92f65f10fb6043344">More...</a><br/></td></tr>
<tr class="separator:ga5c336fddf2cbb5b92f65f10fb6043344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdf43e51376051d2c091662e9fe3d7b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:gacdf43e51376051d2c091662e9fe3d7b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the specified window and its context. <a href="#gacdf43e51376051d2c091662e9fe3d7b2">More...</a><br/></td></tr>
<tr class="separator:gacdf43e51376051d2c091662e9fe3d7b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24e02fbfefbb81fc45320989f8140ab5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga24e02fbfefbb81fc45320989f8140ab5">glfwWindowShouldClose</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga24e02fbfefbb81fc45320989f8140ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks the close flag of the specified window. <a href="#ga24e02fbfefbb81fc45320989f8140ab5">More...</a><br/></td></tr>
<tr class="separator:ga24e02fbfefbb81fc45320989f8140ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49c449dde2a6f87d996f4daaa09d6708"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga49c449dde2a6f87d996f4daaa09d6708">glfwSetWindowShouldClose</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int value)</td></tr>
<tr class="memdesc:ga49c449dde2a6f87d996f4daaa09d6708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the close flag of the specified window. <a href="#ga49c449dde2a6f87d996f4daaa09d6708">More...</a><br/></td></tr>
<tr class="separator:ga49c449dde2a6f87d996f4daaa09d6708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d877f09e968cef7a360b513306f17ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga5d877f09e968cef7a360b513306f17ff">glfwSetWindowTitle</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, const char *title)</td></tr>
<tr class="memdesc:ga5d877f09e968cef7a360b513306f17ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the title of the specified window. <a href="#ga5d877f09e968cef7a360b513306f17ff">More...</a><br/></td></tr>
<tr class="separator:ga5d877f09e968cef7a360b513306f17ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73cb526c000876fd8ddf571570fdb634"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga73cb526c000876fd8ddf571570fdb634">glfwGetWindowPos</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int *xpos, int *ypos)</td></tr>
<tr class="memdesc:ga73cb526c000876fd8ddf571570fdb634"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the position of the client area of the specified window. <a href="#ga73cb526c000876fd8ddf571570fdb634">More...</a><br/></td></tr>
<tr class="separator:ga73cb526c000876fd8ddf571570fdb634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1abb6d690e8c88e0c8cd1751356dbca8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga1abb6d690e8c88e0c8cd1751356dbca8">glfwSetWindowPos</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int xpos, int ypos)</td></tr>
<tr class="memdesc:ga1abb6d690e8c88e0c8cd1751356dbca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the position of the client area of the specified window. <a href="#ga1abb6d690e8c88e0c8cd1751356dbca8">More...</a><br/></td></tr>
<tr class="separator:ga1abb6d690e8c88e0c8cd1751356dbca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeea7cbc03373a41fb51cfbf9f2a5d4c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6">glfwGetWindowSize</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int *width, int *height)</td></tr>
<tr class="memdesc:gaeea7cbc03373a41fb51cfbf9f2a5d4c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the size of the client area of the specified window. <a href="#gaeea7cbc03373a41fb51cfbf9f2a5d4c6">More...</a><br/></td></tr>
<tr class="separator:gaeea7cbc03373a41fb51cfbf9f2a5d4c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga371911f12c74c504dd8d47d832d095cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga371911f12c74c504dd8d47d832d095cb">glfwSetWindowSize</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int width, int height)</td></tr>
<tr class="memdesc:ga371911f12c74c504dd8d47d832d095cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the size of the client area of the specified window. <a href="#ga371911f12c74c504dd8d47d832d095cb">More...</a><br/></td></tr>
<tr class="separator:ga371911f12c74c504dd8d47d832d095cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e2637a4161afb283f5300c7f94785c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int *width, int *height)</td></tr>
<tr class="memdesc:ga0e2637a4161afb283f5300c7f94785c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the size of the framebuffer of the specified window. <a href="#ga0e2637a4161afb283f5300c7f94785c9">More...</a><br/></td></tr>
<tr class="separator:ga0e2637a4161afb283f5300c7f94785c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a9fd382058c53101b21cf211898f1f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga1a9fd382058c53101b21cf211898f1f1">glfwGetWindowFrameSize</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int *left, int *top, int *right, int *bottom)</td></tr>
<tr class="memdesc:ga1a9fd382058c53101b21cf211898f1f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the size of the frame of the window. <a href="#ga1a9fd382058c53101b21cf211898f1f1">More...</a><br/></td></tr>
<tr class="separator:ga1a9fd382058c53101b21cf211898f1f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bb559c0ebaad63c5c05ad2a066779c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga1bb559c0ebaad63c5c05ad2a066779c4">glfwIconifyWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga1bb559c0ebaad63c5c05ad2a066779c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iconifies the specified window. <a href="#ga1bb559c0ebaad63c5c05ad2a066779c4">More...</a><br/></td></tr>
<tr class="separator:ga1bb559c0ebaad63c5c05ad2a066779c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52527a5904b47d802b6b4bb519cdebc7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga52527a5904b47d802b6b4bb519cdebc7">glfwRestoreWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga52527a5904b47d802b6b4bb519cdebc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restores the specified window. <a href="#ga52527a5904b47d802b6b4bb519cdebc7">More...</a><br/></td></tr>
<tr class="separator:ga52527a5904b47d802b6b4bb519cdebc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61be47917b72536a148300f46494fc66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga61be47917b72536a148300f46494fc66">glfwShowWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga61be47917b72536a148300f46494fc66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the specified window visible. <a href="#ga61be47917b72536a148300f46494fc66">More...</a><br/></td></tr>
<tr class="separator:ga61be47917b72536a148300f46494fc66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49401f82a1ba5f15db5590728314d47c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga49401f82a1ba5f15db5590728314d47c">glfwHideWindow</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga49401f82a1ba5f15db5590728314d47c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hides the specified window. <a href="#ga49401f82a1ba5f15db5590728314d47c">More...</a><br/></td></tr>
<tr class="separator:ga49401f82a1ba5f15db5590728314d47c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeac25e64789974ccbe0811766bd91a16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaeac25e64789974ccbe0811766bd91a16">glfwGetWindowMonitor</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:gaeac25e64789974ccbe0811766bd91a16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the monitor that the window uses for full screen mode. <a href="#gaeac25e64789974ccbe0811766bd91a16">More...</a><br/></td></tr>
<tr class="separator:gaeac25e64789974ccbe0811766bd91a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacccb29947ea4b16860ebef42c2cb9337"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, int attrib)</td></tr>
<tr class="memdesc:gacccb29947ea4b16860ebef42c2cb9337"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an attribute of the specified window. <a href="#gacccb29947ea4b16860ebef42c2cb9337">More...</a><br/></td></tr>
<tr class="separator:gacccb29947ea4b16860ebef42c2cb9337"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d2fc6026e690ab31a13f78bc9fd3651"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga3d2fc6026e690ab31a13f78bc9fd3651">glfwSetWindowUserPointer</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, void *pointer)</td></tr>
<tr class="memdesc:ga3d2fc6026e690ab31a13f78bc9fd3651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user pointer of the specified window. <a href="#ga3d2fc6026e690ab31a13f78bc9fd3651">More...</a><br/></td></tr>
<tr class="separator:ga3d2fc6026e690ab31a13f78bc9fd3651"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17807ce0f45ac3f8bb50d6dcc59a4e06"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga17807ce0f45ac3f8bb50d6dcc59a4e06">glfwGetWindowUserPointer</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga17807ce0f45ac3f8bb50d6dcc59a4e06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user pointer of the specified window. <a href="#ga17807ce0f45ac3f8bb50d6dcc59a4e06">More...</a><br/></td></tr>
<tr class="separator:ga17807ce0f45ac3f8bb50d6dcc59a4e06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2837d4d240659feb4268fcb6530a6ba1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga1c36e52549efd47790eb3f324da71924">GLFWwindowposfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga2837d4d240659feb4268fcb6530a6ba1">glfwSetWindowPosCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga1c36e52549efd47790eb3f324da71924">GLFWwindowposfun</a> cbfun)</td></tr>
<tr class="memdesc:ga2837d4d240659feb4268fcb6530a6ba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the position callback for the specified window. <a href="#ga2837d4d240659feb4268fcb6530a6ba1">More...</a><br/></td></tr>
<tr class="separator:ga2837d4d240659feb4268fcb6530a6ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa40cd24840daa8c62f36cafc847c72b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#gaaca1c2715759d03da9834eac19323d4a">GLFWwindowsizefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaa40cd24840daa8c62f36cafc847c72b6">glfwSetWindowSizeCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#gaaca1c2715759d03da9834eac19323d4a">GLFWwindowsizefun</a> cbfun)</td></tr>
<tr class="memdesc:gaa40cd24840daa8c62f36cafc847c72b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the size callback for the specified window. <a href="#gaa40cd24840daa8c62f36cafc847c72b6">More...</a><br/></td></tr>
<tr class="separator:gaa40cd24840daa8c62f36cafc847c72b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaade9264e79fae52bdb78e2df11ee8d6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga07cff8bd3b3d573ecf49bb02d7669c1f">GLFWwindowclosefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gaade9264e79fae52bdb78e2df11ee8d6a">glfwSetWindowCloseCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga07cff8bd3b3d573ecf49bb02d7669c1f">GLFWwindowclosefun</a> cbfun)</td></tr>
<tr class="memdesc:gaade9264e79fae52bdb78e2df11ee8d6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the close callback for the specified window. <a href="#gaade9264e79fae52bdb78e2df11ee8d6a">More...</a><br/></td></tr>
<tr class="separator:gaade9264e79fae52bdb78e2df11ee8d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4569b76e8ac87c55b53199e6becd97eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga16764f89bf2060e6fa477f0943e1412b">GLFWwindowrefreshfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga4569b76e8ac87c55b53199e6becd97eb">glfwSetWindowRefreshCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga16764f89bf2060e6fa477f0943e1412b">GLFWwindowrefreshfun</a> cbfun)</td></tr>
<tr class="memdesc:ga4569b76e8ac87c55b53199e6becd97eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the refresh callback for the specified window. <a href="#ga4569b76e8ac87c55b53199e6becd97eb">More...</a><br/></td></tr>
<tr class="separator:ga4569b76e8ac87c55b53199e6becd97eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25d1c584edb375d7711c5c3548ba711f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga6b5f973531ea91663ad707ba4f2ac104">GLFWwindowfocusfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga25d1c584edb375d7711c5c3548ba711f">glfwSetWindowFocusCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga6b5f973531ea91663ad707ba4f2ac104">GLFWwindowfocusfun</a> cbfun)</td></tr>
<tr class="memdesc:ga25d1c584edb375d7711c5c3548ba711f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the focus callback for the specified window. <a href="#ga25d1c584edb375d7711c5c3548ba711f">More...</a><br/></td></tr>
<tr class="separator:ga25d1c584edb375d7711c5c3548ba711f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1ea7263081c0e073b8d5b91d6ffd367"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#gae47ae066eea9fe6050a62360928ae524">GLFWwindowiconifyfun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gab1ea7263081c0e073b8d5b91d6ffd367">glfwSetWindowIconifyCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#gae47ae066eea9fe6050a62360928ae524">GLFWwindowiconifyfun</a> cbfun)</td></tr>
<tr class="memdesc:gab1ea7263081c0e073b8d5b91d6ffd367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iconify callback for the specified window. <a href="#gab1ea7263081c0e073b8d5b91d6ffd367">More...</a><br/></td></tr>
<tr class="separator:gab1ea7263081c0e073b8d5b91d6ffd367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3203461a5303bf289f2e05f854b2f7cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga311bb32e578aa240b6464af494debffc">GLFWframebuffersizefun</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga3203461a5303bf289f2e05f854b2f7cf">glfwSetFramebufferSizeCallback</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window, <a class="el" href="group__window.html#ga311bb32e578aa240b6464af494debffc">GLFWframebuffersizefun</a> cbfun)</td></tr>
<tr class="memdesc:ga3203461a5303bf289f2e05f854b2f7cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the framebuffer resize callback for the specified window. <a href="#ga3203461a5303bf289f2e05f854b2f7cf">More...</a><br/></td></tr>
<tr class="separator:ga3203461a5303bf289f2e05f854b2f7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37bd57223967b4211d60ca1a0bf3c832"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a> (void)</td></tr>
<tr class="memdesc:ga37bd57223967b4211d60ca1a0bf3c832"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes all pending events. <a href="#ga37bd57223967b4211d60ca1a0bf3c832">More...</a><br/></td></tr>
<tr class="separator:ga37bd57223967b4211d60ca1a0bf3c832"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga554e37d781f0a997656c26b2c56c835e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a> (void)</td></tr>
<tr class="memdesc:ga554e37d781f0a997656c26b2c56c835e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits until events are queued and processes them. <a href="#ga554e37d781f0a997656c26b2c56c835e">More...</a><br/></td></tr>
<tr class="separator:ga554e37d781f0a997656c26b2c56c835e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5997a25187e9fd5c6f2ecbbc8dfd7e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">glfwPostEmptyEvent</a> (void)</td></tr>
<tr class="memdesc:gab5997a25187e9fd5c6f2ecbbc8dfd7e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Posts an empty event to the event queue. <a href="#gab5997a25187e9fd5c6f2ecbbc8dfd7e9">More...</a><br/></td></tr>
<tr class="separator:gab5997a25187e9fd5c6f2ecbbc8dfd7e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15a5a1ee5b3c2ca6b15ca209a12efd14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__window.html#ga15a5a1ee5b3c2ca6b15ca209a12efd14">glfwSwapBuffers</a> (<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *window)</td></tr>
<tr class="memdesc:ga15a5a1ee5b3c2ca6b15ca209a12efd14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps the front and back buffers of the specified window. <a href="#ga15a5a1ee5b3c2ca6b15ca209a12efd14">More...</a><br/></td></tr>
<tr class="separator:ga15a5a1ee5b3c2ca6b15ca209a12efd14"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>This is the reference documentation for window related functions and types, including creation, deletion and event polling. For more information, see the <a class="el" href="window.html">Window guide</a>. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga311bb32e578aa240b6464af494debffc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* GLFWframebuffersizefun)(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for framebuffer resize callback functions.</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 framebuffer was resized. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The new width, in pixels, of the framebuffer. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The new height, in pixels, of the framebuffer.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__window.html#ga3203461a5303bf289f2e05f854b2f7cf" title="Sets the framebuffer resize callback for the specified window. ">glfwSetFramebufferSizeCallback</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga3c96d80d363e67d13a41b5d1821f3242"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> <a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Opaque window object. </p>
</div>
</div>
<a class="anchor" id="ga07cff8bd3b3d573ecf49bb02d7669c1f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* GLFWwindowclosefun)(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for window close callback functions.</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 that the user attempted to close.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__window.html#gaade9264e79fae52bdb78e2df11ee8d6a" title="Sets the close callback for the specified window. ">glfwSetWindowCloseCallback</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga6b5f973531ea91663ad707ba4f2ac104"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* GLFWwindowfocusfun)(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for window focus callback functions.</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 that gained or lost input focus. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">focused</td><td><code>GL_TRUE</code> if the window was given input focus, or <code>GL_FALSE</code> if it lost it.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__window.html#ga25d1c584edb375d7711c5c3548ba711f" title="Sets the focus callback for the specified window. ">glfwSetWindowFocusCallback</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gae47ae066eea9fe6050a62360928ae524"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* GLFWwindowiconifyfun)(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for window iconify/restore callback functions.</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 that was iconified or restored. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">iconified</td><td><code>GL_TRUE</code> if the window was iconified, or <code>GL_FALSE</code> if it was restored.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__window.html#gab1ea7263081c0e073b8d5b91d6ffd367" title="Sets the iconify callback for the specified window. ">glfwSetWindowIconifyCallback</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga1c36e52549efd47790eb3f324da71924"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* GLFWwindowposfun)(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for window position callback functions.</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 that was moved. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">xpos</td><td>The new x-coordinate, in screen coordinates, of the upper-left corner of the client area of the window. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ypos</td><td>The new y-coordinate, in screen coordinates, of the upper-left corner of the client area of the window.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__window.html#ga2837d4d240659feb4268fcb6530a6ba1" title="Sets the position callback for the specified window. ">glfwSetWindowPosCallback</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga16764f89bf2060e6fa477f0943e1412b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* GLFWwindowrefreshfun)(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for window refresh callback functions.</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 content needs to be refreshed.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__window.html#ga4569b76e8ac87c55b53199e6becd97eb" title="Sets the refresh callback for the specified window. ">glfwSetWindowRefreshCallback</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaaca1c2715759d03da9834eac19323d4a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* GLFWwindowsizefun)(<a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *, int, int)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function signature for window size callback functions.</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 that was resized. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The new width, in screen coordinates, of the window. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The new height, in screen coordinates, of the window.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__window.html#gaa40cd24840daa8c62f36cafc847c72b6" title="Sets the size callback for the specified window. ">glfwSetWindowSizeCallback</a> </dd></dl>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga5c336fddf2cbb5b92f65f10fb6043344"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a>* glfwCreateWindow </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>title</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a> *&#160;</td>
<td class="paramname"><em>monitor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>share</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function creates a window and its associated OpenGL or OpenGL ES context. Most of the options controlling how the window and its context should be created are specified with <a class="el" href="window.html#window_hints">window hints</a>.</p>
<p>Successful creation does not change which context is current. Before you can use the newly created context, you need to <a class="el" href="context.html#context_current">make it current</a>. For information about the <code>share</code> parameter, see <a class="el" href="context.html#context_sharing">Context object sharing</a>.</p>
<p>The created window, framebuffer and context may differ from what you requested, as not all parameters and hints are <a class="el" href="window.html#window_hints_hard">hard constraints</a>. This includes the size of the window, especially for full screen windows. To query the actual attributes of the created window, framebuffer and context, use queries like <a class="el" href="group__window.html#gacccb29947ea4b16860ebef42c2cb9337">glfwGetWindowAttrib</a> and <a class="el" href="group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6">glfwGetWindowSize</a>.</p>
<p>To create a full screen window, you need to specify the monitor the window will cover. If no monitor is specified, windowed mode will be used. Unless you have a way for the user to choose a specific monitor, it is recommended that you pick the primary monitor. For more information on how to query connected monitors, see <a class="el" href="monitor.html#monitor_monitors">Retrieving monitors</a>.</p>
<p>For full screen windows, the specified size becomes the resolution of the window's <em>desired video mode</em>. As long as a full screen window has input focus, the supported video mode most closely matching the desired video mode is set for the specified monitor. For more information about full screen windows, including the creation of so called <em>windowed full screen</em> or <em>borderless full screen</em> windows, see <a class="el" href="window.html#window_windowed_full_screen">"Windowed full screen" windows</a>.</p>
<p>By default, newly created windows use the placement recommended by the window system. To create the window at a specific position, make it initially invisible using the <a class="el" href="window.html#window_hints_wnd">GLFW_VISIBLE</a> window hint, set its <a class="el" href="window.html#window_pos">position</a> and then <a class="el" href="window.html#window_hide">show</a> it.</p>
<p>If a full screen window has input focus, the screensaver is prohibited from starting.</p>
<p>Window systems put limits on window sizes. Very large or very small window dimensions may be overridden by the window system on creation. Check the actual <a class="el" href="window.html#window_size">size</a> after creation.</p>
<p>The <a class="el" href="window.html#buffer_swap">swap interval</a> is not set during window creation and the initial value may vary depending on driver settings and defaults.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The desired width, in screen coordinates, of the window. This must be greater than zero. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The desired height, in screen coordinates, of the window. This must be greater than zero. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">title</td><td>The initial, UTF-8 encoded window title. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">monitor</td><td>The monitor to use for full screen mode, or <code>NULL</code> to use windowed mode. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">share</td><td>The window whose context to share resources with, or <code>NULL</code> to not share resources. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The handle of the created window, or <code>NULL</code> if an <a class="el" href="intro.html#error_handling">error</a> occurred.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd><b>Windows:</b> Window creation will fail if the Microsoft GDI software OpenGL implementation is the only one available.</dd>
<dd>
<b>Windows:</b> If the executable has an icon resource named <code>GLFW_ICON,</code> it will be set as the icon for the window. If no such icon is present, the <code>IDI_WINLOGO</code> icon will be used instead.</dd>
<dd>
<b>Windows:</b> The context to share resources with may not be current on any other thread.</dd>
<dd>
<b>OS X:</b> The GLFW window has no icon, as it is not a document window, but the dock icon will be the same as the application bundle's icon. For more information on bundles, see the <a href="https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/">Bundle Programming Guide</a> in the Mac Developer Library.</dd>
<dd>
<b>OS X:</b> The first time a window is created the menu bar is populated with common commands like Hide, Quit and About. The About entry opens a minimal about dialog with information from the application's bundle. The menu bar can be disabled with a <a class="el" href="compile.html#compile_options_osx">compile-time option</a>.</dd>
<dd>
<b>OS X:</b> On OS X 10.10 and later the window frame will not be rendered at full resolution on Retina displays unless the <code>NSHighResolutionCapable</code> key is enabled in the application bundle's <code>Info.plist</code>. For more information, see <a href="https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html">High Resolution Guidelines for OS X</a> in the Mac Developer Library.</dd>
<dd>
<b>X11:</b> There is no mechanism for setting the window icon yet.</dd>
<dd>
<b>X11:</b> Some window managers will not respect the placement of initially hidden windows.</dd></dl>
<dl class="section user"><dt>Reentrancy</dt><dd>This function may not be called from a callback.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_creation">Window creation</a> </dd>
<dd>
<a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2" title="Destroys the specified window and its context. ">glfwDestroyWindow</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. Replaces <code>glfwOpenWindow</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="gaa77c4898dfb83344a6b4f76aa16b9a4a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwDefaultWindowHints </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function resets all window hints to their <a class="el" href="window.html#window_hints_values">default values</a>.</p>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_hints">Window creation hints</a> </dd>
<dd>
<a class="el" href="group__window.html#ga4fd9e504bb937e79588a0ffdca9f620b" title="Sets the specified window hint to the desired value. ">glfwWindowHint</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="gacdf43e51376051d2c091662e9fe3d7b2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwDestroyWindow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function destroys the specified window and its context. On calling this function, no further callbacks will be called for that window.</p>
<p>If the context of the specified window is current on the main thread, it is detached before being destroyed.</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 to destroy.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The context of the specified window 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 may not be called from a callback.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_creation">Window creation</a> </dd>
<dd>
<a class="el" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344" title="Creates a window and its associated context. ">glfwCreateWindow</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. Replaces <code>glfwCloseWindow</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga0e2637a4161afb283f5300c7f94785c9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwGetFramebufferSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>height</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function retrieves the size, in pixels, of the framebuffer of the specified window. If you wish to retrieve the size of the window in screen coordinates, see <a class="el" href="group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6">glfwGetWindowSize</a>.</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">window</td><td>The window whose framebuffer to query. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">width</td><td>Where to store the width, in pixels, of the framebuffer, or <code>NULL</code>. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">height</td><td>Where to store the height, in pixels, of the framebuffer, or <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_fbsize">Framebuffer size</a> </dd>
<dd>
<a class="el" href="group__window.html#ga3203461a5303bf289f2e05f854b2f7cf" title="Sets the framebuffer resize callback for the specified window. ">glfwSetFramebufferSizeCallback</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="gacccb29947ea4b16860ebef42c2cb9337"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int glfwGetWindowAttrib </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>attrib</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the value of an attribute of the specified window or its OpenGL or OpenGL ES context.</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 to query. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">attrib</td><td>The <a class="el" href="window.html#window_attribs">window attribute</a> whose value to return. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value of the attribute, or zero if an <a class="el" href="intro.html#error_handling">error</a> occurred.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_attribs">Window attributes</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. Replaces <code>glfwGetWindowParam</code> and <code>glfwGetGLVersion</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga1a9fd382058c53101b21cf211898f1f1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwGetWindowFrameSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>bottom</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function retrieves the size, in screen coordinates, of each edge of the frame of the specified window. This size includes the title bar, if the window has one. The size of the frame may vary depending on the <a class="el" href="window.html#window_hints_wnd">window-related hints</a> used to create it.</p>
<p>Because this function retrieves the size of each window frame edge and not the offset along a particular coordinate axis, the retrieved values will always be zero or positive.</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">window</td><td>The window whose frame size to query. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">left</td><td>Where to store the size, in screen coordinates, of the left edge of the window frame, or <code>NULL</code>. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">top</td><td>Where to store the size, in screen coordinates, of the top edge of the window frame, or <code>NULL</code>. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">right</td><td>Where to store the size, in screen coordinates, of the right edge of the window frame, or <code>NULL</code>. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">bottom</td><td>Where to store the size, in screen coordinates, of the bottom edge of the window frame, or <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_size">Window size</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.1. </dd></dl>
</div>
</div>
<a class="anchor" id="gaeac25e64789974ccbe0811766bd91a16"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__monitor.html#ga8d9efd1cde9426692c73fe40437d0ae3">GLFWmonitor</a>* glfwGetWindowMonitor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the handle of the monitor that the specified window is in full screen on.</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 to query. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The monitor, or <code>NULL</code> if the window is in windowed mode or an error occurred.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_monitor">Window monitor</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="ga73cb526c000876fd8ddf571570fdb634"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwGetWindowPos </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>xpos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>ypos</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function retrieves the position, in screen coordinates, of the upper-left corner of the client area of the specified window.</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">window</td><td>The window to query. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">xpos</td><td>Where to store the x-coordinate of the upper-left corner of the client area, or <code>NULL</code>. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ypos</td><td>Where to store the y-coordinate of the upper-left corner of the client area, or <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_pos">Window position</a> </dd>
<dd>
<a class="el" href="group__window.html#ga1abb6d690e8c88e0c8cd1751356dbca8" title="Sets the position of the client area of the specified window. ">glfwSetWindowPos</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="gaeea7cbc03373a41fb51cfbf9f2a5d4c6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwGetWindowSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>height</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function retrieves the size, in screen coordinates, of the client area of the specified window. If you wish to retrieve the size of the framebuffer of the window in pixels, see <a class="el" href="group__window.html#ga0e2637a4161afb283f5300c7f94785c9">glfwGetFramebufferSize</a>.</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">window</td><td>The window whose size to retrieve. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">width</td><td>Where to store the width, in screen coordinates, of the client area, or <code>NULL</code>. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">height</td><td>Where to store the height, in screen coordinates, of the client area, or <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_size">Window size</a> </dd>
<dd>
<a class="el" href="group__window.html#ga371911f12c74c504dd8d47d832d095cb" title="Sets the size of the client area of the specified window. ">glfwSetWindowSize</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 1.0.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. </dd></dl>
</div>
</div>
<a class="anchor" id="ga17807ce0f45ac3f8bb50d6dcc59a4e06"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* glfwGetWindowUserPointer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><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 window. The initial value is <code>NULL</code>.</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 pointer to return.</td></tr>
</table>
</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="window.html#window_userptr">User pointer</a> </dd>
<dd>
<a class="el" href="group__window.html#ga3d2fc6026e690ab31a13f78bc9fd3651" title="Sets the user pointer of the specified window. ">glfwSetWindowUserPointer</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="ga49401f82a1ba5f15db5590728314d47c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwHideWindow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function hides the specified window if it was previously visible. If the window is already hidden or is in full screen mode, this function does nothing.</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 to hide.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_hide">Window visibility</a> </dd>
<dd>
<a class="el" href="group__window.html#ga61be47917b72536a148300f46494fc66" title="Makes the specified window visible. ">glfwShowWindow</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="ga1bb559c0ebaad63c5c05ad2a066779c4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwIconifyWindow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function iconifies (minimizes) the specified window if it was previously restored. If the window is already iconified, this function does nothing.</p>
<p>If the specified window is a full screen window, the original monitor resolution is restored until the window is restored.</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 to iconify.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_iconify">Window iconification</a> </dd>
<dd>
<a class="el" href="group__window.html#ga52527a5904b47d802b6b4bb519cdebc7" title="Restores the specified window. ">glfwRestoreWindow</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 2.1.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. </dd></dl>
</div>
</div>
<a class="anchor" id="ga37bd57223967b4211d60ca1a0bf3c832"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwPollEvents </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function processes only those events that are already in the event queue and then returns immediately. Processing events will cause the window and input callbacks associated with those events to be called.</p>
<p>On some platforms, a window move, resize or menu operation will cause event processing to block. This is due to how event processing is designed on those platforms. You can use the <a class="el" href="window.html#window_refresh">window refresh callback</a> to redraw the contents of your window when necessary during such operations.</p>
<p>On some platforms, certain events are sent directly to the application without going through the event queue, causing callbacks to be called outside of a call to one of the event processing functions.</p>
<p>Event processing is not required for joystick input to work.</p>
<dl class="section user"><dt>Reentrancy</dt><dd>This function may not be called from a callback.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="input.html#events">Event processing</a> </dd>
<dd>
<a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e" title="Waits until events are queued and processes them. ">glfwWaitEvents</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 1.0. </dd></dl>
</div>
</div>
<a class="anchor" id="gab5997a25187e9fd5c6f2ecbbc8dfd7e9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwPostEmptyEvent </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function posts an empty event from the current thread to the event queue, causing <a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e">glfwWaitEvents</a> to return.</p>
<p>If no windows exist, this function returns immediately. For synchronization of threads in applications that do not create windows, use your threading library of choice.</p>
<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="input.html#events">Event processing</a> </dd>
<dd>
<a class="el" href="group__window.html#ga554e37d781f0a997656c26b2c56c835e" title="Waits until events are queued and processes them. ">glfwWaitEvents</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.1. </dd></dl>
</div>
</div>
<a class="anchor" id="ga52527a5904b47d802b6b4bb519cdebc7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwRestoreWindow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function restores the specified window if it was previously iconified (minimized). If the window is already restored, this function does nothing.</p>
<p>If the specified window is a full screen window, the resolution chosen for the window is restored on the selected monitor.</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 to restore.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_iconify">Window iconification</a> </dd>
<dd>
<a class="el" href="group__window.html#ga1bb559c0ebaad63c5c05ad2a066779c4" title="Iconifies the specified window. ">glfwIconifyWindow</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 2.1.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. </dd></dl>
</div>
</div>
<a class="anchor" id="ga3203461a5303bf289f2e05f854b2f7cf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#ga311bb32e578aa240b6464af494debffc">GLFWframebuffersizefun</a> glfwSetFramebufferSizeCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga311bb32e578aa240b6464af494debffc">GLFWframebuffersizefun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the framebuffer resize callback of the specified window, which is called when the framebuffer of the specified window is resized.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</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.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_fbsize">Framebuffer size</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="gaade9264e79fae52bdb78e2df11ee8d6a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#ga07cff8bd3b3d573ecf49bb02d7669c1f">GLFWwindowclosefun</a> glfwSetWindowCloseCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga07cff8bd3b3d573ecf49bb02d7669c1f">GLFWwindowclosefun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the close callback of the specified window, which is called when the user attempts to close the window, for example by clicking the close widget in the title bar.</p>
<p>The close flag is set before this callback is called, but you can modify it at any time with <a class="el" href="group__window.html#ga49c449dde2a6f87d996f4daaa09d6708">glfwSetWindowShouldClose</a>.</p>
<p>The close callback is not triggered by <a class="el" href="group__window.html#gacdf43e51376051d2c091662e9fe3d7b2">glfwDestroyWindow</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</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.html#intro_init">initialized</a>.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd><b>OS X:</b> Selecting Quit from the application menu will trigger the close callback for all windows.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_close">Window closing and close flag</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 2.5.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. Updated callback signature. </dd></dl>
</div>
</div>
<a class="anchor" id="ga25d1c584edb375d7711c5c3548ba711f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#ga6b5f973531ea91663ad707ba4f2ac104">GLFWwindowfocusfun</a> glfwSetWindowFocusCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga6b5f973531ea91663ad707ba4f2ac104">GLFWwindowfocusfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the focus callback of the specified window, which is called when the window gains or loses input focus.</p>
<p>After the focus callback is called for a window that lost input focus, synthetic key and mouse button release events will be generated for all such that had been pressed. For more information, see <a class="el" href="group__input.html#ga7e496507126f35ea72f01b2e6ef6d155">glfwSetKeyCallback</a> and <a class="el" href="group__input.html#gaef49b72d84d615bca0a6ed65485e035d">glfwSetMouseButtonCallback</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</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.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_focus">Window input focus</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="gab1ea7263081c0e073b8d5b91d6ffd367"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#gae47ae066eea9fe6050a62360928ae524">GLFWwindowiconifyfun</a> glfwSetWindowIconifyCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#gae47ae066eea9fe6050a62360928ae524">GLFWwindowiconifyfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the iconification callback of the specified window, which is called when the window is iconified or restored.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</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.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_iconify">Window iconification</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="ga1abb6d690e8c88e0c8cd1751356dbca8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwSetWindowPos </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>xpos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ypos</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the position, in screen coordinates, of the upper-left corner of the client area of the specified windowed mode window. If the window is a full screen window, this function does nothing.</p>
<p><b>Do not use this function</b> to move an already visible window unless you have very good reasons for doing so, as it will confuse and annoy the user.</p>
<p>The window manager may put limits on what positions are allowed. GLFW cannot and should not override these limits.</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 to query. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">xpos</td><td>The x-coordinate of the upper-left corner of the client area. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ypos</td><td>The y-coordinate of the upper-left corner of the client area.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_pos">Window position</a> </dd>
<dd>
<a class="el" href="group__window.html#ga73cb526c000876fd8ddf571570fdb634" title="Retrieves the position of the client area of the specified window. ">glfwGetWindowPos</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 1.0.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. </dd></dl>
</div>
</div>
<a class="anchor" id="ga2837d4d240659feb4268fcb6530a6ba1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#ga1c36e52549efd47790eb3f324da71924">GLFWwindowposfun</a> glfwSetWindowPosCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga1c36e52549efd47790eb3f324da71924">GLFWwindowposfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the position callback of the specified window, which is called when the window is moved. The callback is provided with the screen position of the upper-left corner of the client area of the window.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</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.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_pos">Window position</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="ga4569b76e8ac87c55b53199e6becd97eb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#ga16764f89bf2060e6fa477f0943e1412b">GLFWwindowrefreshfun</a> glfwSetWindowRefreshCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga16764f89bf2060e6fa477f0943e1412b">GLFWwindowrefreshfun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the refresh callback of the specified window, which is called when the client area of the window needs to be redrawn, for example if the window has been exposed after having been covered by another window.</p>
<p>On compositing window systems such as Aero, Compiz or Aqua, where the window contents are saved off-screen, this callback may be called only very infrequently or never at all.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</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.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_refresh">Window damage and refresh</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 2.5.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. Updated callback signature. </dd></dl>
</div>
</div>
<a class="anchor" id="ga49c449dde2a6f87d996f4daaa09d6708"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwSetWindowShouldClose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the value of the close flag of the specified window. This can be used to override the user's attempt to close the window, or to signal that it should be closed.</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 flag to change. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The new value.</td></tr>
</table>
</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="window.html#window_close">Window closing and close flag</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="ga371911f12c74c504dd8d47d832d095cb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwSetWindowSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>height</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the size, in screen coordinates, of the client area of the specified window.</p>
<p>For full screen windows, this function selects and switches to the resolution closest to the specified size, without affecting the window's context. As the context is unaffected, the bit depths of the framebuffer remain unchanged.</p>
<p>The window manager may put limits on what sizes are allowed. GLFW cannot and should not override these limits.</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 to resize. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The desired width of the specified window. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The desired height of the specified window.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_size">Window size</a> </dd>
<dd>
<a class="el" href="group__window.html#gaeea7cbc03373a41fb51cfbf9f2a5d4c6" title="Retrieves the size of the client area of the specified window. ">glfwGetWindowSize</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 1.0.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. </dd></dl>
</div>
</div>
<a class="anchor" id="gaa40cd24840daa8c62f36cafc847c72b6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#gaaca1c2715759d03da9834eac19323d4a">GLFWwindowsizefun</a> glfwSetWindowSizeCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#gaaca1c2715759d03da9834eac19323d4a">GLFWwindowsizefun</a>&#160;</td>
<td class="paramname"><em>cbfun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the size callback of the specified window, which is called when the window is resized. The callback is provided with the size, in screen coordinates, of the client area of the window.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>The window whose callback to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cbfun</td><td>The new callback, or <code>NULL</code> to remove the currently set callback. </td></tr>
</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.html#intro_init">initialized</a>.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_size">Window size</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 1.0.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. Updated callback signature. </dd></dl>
</div>
</div>
<a class="anchor" id="ga5d877f09e968cef7a360b513306f17ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwSetWindowTitle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>title</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the window title, encoded as UTF-8, of the specified window.</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 title to change. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">title</td><td>The UTF-8 encoded window title.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_title">Window title</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 1.0.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. </dd></dl>
</div>
</div>
<a class="anchor" id="ga3d2fc6026e690ab31a13f78bc9fd3651"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwSetWindowUserPointer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>pointer</em>&#160;</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 window. The current value is retained until the window is destroyed. The initial value is <code>NULL</code>.</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 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>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="window.html#window_userptr">User pointer</a> </dd>
<dd>
<a class="el" href="group__window.html#ga17807ce0f45ac3f8bb50d6dcc59a4e06" title="Returns the user pointer of the specified window. ">glfwGetWindowUserPointer</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="ga61be47917b72536a148300f46494fc66"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwShowWindow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function makes the specified window visible if it was previously hidden. If the window is already visible or is in full screen mode, this function does nothing.</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 to make visible.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_hide">Window visibility</a> </dd>
<dd>
<a class="el" href="group__window.html#ga49401f82a1ba5f15db5590728314d47c" title="Hides the specified window. ">glfwHideWindow</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
<a class="anchor" id="ga15a5a1ee5b3c2ca6b15ca209a12efd14"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwSwapBuffers </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function swaps the front and back buffers of the specified window. If the swap interval is greater than zero, the GPU driver waits the specified number of screen updates before swapping the buffers.</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 buffers to swap.</td></tr>
</table>
</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.html#buffer_swap">Buffer swapping</a> </dd>
<dd>
<a class="el" href="group__context.html#ga6d4e0cdf151b5e579bd67f13202994ed" title="Sets the swap interval for the current context. ">glfwSwapInterval</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 1.0.</dd></dl>
<dl class="section user"><dt></dt><dd><b>GLFW 3:</b> Added window handle parameter. </dd></dl>
</div>
</div>
<a class="anchor" id="ga554e37d781f0a997656c26b2c56c835e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwWaitEvents </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function puts the calling thread to sleep until at least one event is available in the event queue. Once one or more events are available, it behaves exactly like <a class="el" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832">glfwPollEvents</a>, i.e. the events in the queue are processed and the function then returns immediately. Processing events will cause the window and input callbacks associated with those events to be called.</p>
<p>Since not all events are associated with callbacks, this function may return without a callback having been called even if you are monitoring all callbacks.</p>
<p>On some platforms, a window move, resize or menu operation will cause event processing to block. This is due to how event processing is designed on those platforms. You can use the <a class="el" href="window.html#window_refresh">window refresh callback</a> to redraw the contents of your window when necessary during such operations.</p>
<p>On some platforms, certain callbacks may be called outside of a call to one of the event processing functions.</p>
<p>If no windows exist, this function returns immediately. For synchronization of threads in applications that do not create windows, use your threading library of choice.</p>
<p>Event processing is not required for joystick input to work.</p>
<dl class="section user"><dt>Reentrancy</dt><dd>This function may not be called from a callback.</dd></dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="input.html#events">Event processing</a> </dd>
<dd>
<a class="el" href="group__window.html#ga37bd57223967b4211d60ca1a0bf3c832" title="Processes all pending events. ">glfwPollEvents</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 2.5. </dd></dl>
</div>
</div>
<a class="anchor" id="ga4fd9e504bb937e79588a0ffdca9f620b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void glfwWindowHint </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>hint</em>&#160;</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 call to <a class="el" href="group__window.html#ga5c336fddf2cbb5b92f65f10fb6043344">glfwCreateWindow</a>. The hints, once set, retain their values until changed by a call to <a class="el" href="group__window.html#ga4fd9e504bb937e79588a0ffdca9f620b">glfwWindowHint</a> or <a class="el" href="group__window.html#gaa77c4898dfb83344a6b4f76aa16b9a4a">glfwDefaultWindowHints</a>, or until the library is terminated.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>The <a class="el" href="window.html#window_hints">window hint</a> to set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>The new value of the window hint.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd>This function may only be called from the main thread.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="window.html#window_hints">Window creation hints</a> </dd>
<dd>
<a class="el" href="group__window.html#gaa77c4898dfb83344a6b4f76aa16b9a4a" title="Resets all window hints to their default values. ">glfwDefaultWindowHints</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. Replaces <code>glfwOpenWindowHint</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga24e02fbfefbb81fc45320989f8140ab5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int glfwWindowShouldClose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga3c96d80d363e67d13a41b5d1821f3242">GLFWwindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the value of the close flag of the specified window.</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 to query. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value of the close flag.</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="window.html#window_close">Window closing and close flag</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>Added in GLFW 3.0. </dd></dl>
</div>
</div>
</div><!-- contents -->
<address class="footer">
<p>
Last update on Thu Mar 19 2015 for GLFW 3.1.1
</p>
</address>
</body>
</html>