2d-platformer/vendor/SFML-3.0.0/doc/html/classsf_1_1Window.html

1927 lines
122 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>
<title>SFML - Simple and Fast Multimedia Library</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link rel="stylesheet" type="text/css" href="search/search.css" />
<link rel="stylesheet" type="text/css" href="searchOverrides.css" />
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">SFML 3.0.0</span>
</div>
</div>
<div id="content">
<div>
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="topics.html"><span>Topics</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacesf.html">sf</a></li><li class="navelem"><a class="el" href="classsf_1_1Window.html">Window</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classsf_1_1Window-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">sf::Window Class Reference<div class="ingroups"><a class="el" href="group__window.html">Window module</a></div></div></div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classsf_1_1Window.html" title="Window that serves as a target for OpenGL rendering.">Window</a> that serves as a target for OpenGL rendering.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="Window_2Window_8hpp_source.html">SFML/Window/Window.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for sf::Window:</div>
<div class="dyncontent">
<div class="center">
<img src="classsf_1_1Window.png" usemap="#sf::Window_map" alt=""/>
<map id="sf::Window_map" name="sf::Window_map">
<area href="classsf_1_1WindowBase.html" title="Window that serves as a base for other windows." alt="sf::WindowBase" shape="rect" coords="0,0,113,24"/>
<area href="classsf_1_1GlResource.html" title="Base class for classes that require an OpenGL context." alt="sf::GlResource" shape="rect" coords="123,0,236,24"/>
<area href="classsf_1_1RenderWindow.html" title="Window that can serve as a target for 2D drawing." alt="sf::RenderWindow" shape="rect" coords="61,112,174,136"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5359122166b4dc492c3d25caf08ccfc4" id="r_a5359122166b4dc492c3d25caf08ccfc4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5359122166b4dc492c3d25caf08ccfc4">Window</a> ()</td></tr>
<tr class="memdesc:a5359122166b4dc492c3d25caf08ccfc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a5359122166b4dc492c3d25caf08ccfc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a264a604e7ad85e93f5177e81f101876e" id="r_a264a604e7ad85e93f5177e81f101876e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a264a604e7ad85e93f5177e81f101876e">Window</a> (<a class="el" href="classsf_1_1VideoMode.html">VideoMode</a> mode, const <a class="el" href="classsf_1_1String.html">String</a> &amp;title, std::uint32_t style=<a class="el" href="group__window.html#gga5e7da6549090361249790ccb464158cca5597cd420fc461807e4a201c92adea37">Style::Default</a>, <a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a> state=<a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5ab13311ab51c4c34757f67f26580018dd">State::Windowed</a>, const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;settings={})</td></tr>
<tr class="memdesc:a264a604e7ad85e93f5177e81f101876e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a new window. <br /></td></tr>
<tr class="separator:a264a604e7ad85e93f5177e81f101876e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8671f611b3906bfb9cc0e64e87fc8b4d" id="r_a8671f611b3906bfb9cc0e64e87fc8b4d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8671f611b3906bfb9cc0e64e87fc8b4d">Window</a> (<a class="el" href="classsf_1_1VideoMode.html">VideoMode</a> mode, const <a class="el" href="classsf_1_1String.html">String</a> &amp;title, <a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a> state, const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;settings={})</td></tr>
<tr class="memdesc:a8671f611b3906bfb9cc0e64e87fc8b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a new window. <br /></td></tr>
<tr class="separator:a8671f611b3906bfb9cc0e64e87fc8b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17e85b2ef81e910310ee8547e6b60049" id="r_a17e85b2ef81e910310ee8547e6b60049"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a17e85b2ef81e910310ee8547e6b60049">Window</a> (<a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289">WindowHandle</a> handle, const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;settings={})</td></tr>
<tr class="memdesc:a17e85b2ef81e910310ee8547e6b60049"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the window from an existing control. <br /></td></tr>
<tr class="separator:a17e85b2ef81e910310ee8547e6b60049"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c4c37f0767c77c3fa5febb136037567" id="r_a3c4c37f0767c77c3fa5febb136037567"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c4c37f0767c77c3fa5febb136037567">~Window</a> () override</td></tr>
<tr class="memdesc:a3c4c37f0767c77c3fa5febb136037567"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a3c4c37f0767c77c3fa5febb136037567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12e647a9b7f2f3688f6cd76712500f11" id="r_a12e647a9b7f2f3688f6cd76712500f11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a12e647a9b7f2f3688f6cd76712500f11">Window</a> (const <a class="el" href="classsf_1_1Window.html">Window</a> &amp;)=delete</td></tr>
<tr class="memdesc:a12e647a9b7f2f3688f6cd76712500f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deleted copy constructor. <br /></td></tr>
<tr class="separator:a12e647a9b7f2f3688f6cd76712500f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5f4ebc8b06562d46701dc447118dc90" id="r_ad5f4ebc8b06562d46701dc447118dc90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsf_1_1Window.html">Window</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad5f4ebc8b06562d46701dc447118dc90">operator=</a> (const <a class="el" href="classsf_1_1Window.html">Window</a> &amp;)=delete</td></tr>
<tr class="memdesc:ad5f4ebc8b06562d46701dc447118dc90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deleted copy assignment. <br /></td></tr>
<tr class="separator:ad5f4ebc8b06562d46701dc447118dc90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac09d9fa445e31230d7d6f634e8a21b40" id="r_ac09d9fa445e31230d7d6f634e8a21b40"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac09d9fa445e31230d7d6f634e8a21b40">Window</a> (<a class="el" href="classsf_1_1Window.html">Window</a> &amp;&amp;) noexcept</td></tr>
<tr class="memdesc:ac09d9fa445e31230d7d6f634e8a21b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
<tr class="separator:ac09d9fa445e31230d7d6f634e8a21b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a851ae87971b1b4132085f6f9521b4193" id="r_a851ae87971b1b4132085f6f9521b4193"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsf_1_1Window.html">Window</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a851ae87971b1b4132085f6f9521b4193">operator=</a> (<a class="el" href="classsf_1_1Window.html">Window</a> &amp;&amp;) noexcept</td></tr>
<tr class="memdesc:a851ae87971b1b4132085f6f9521b4193"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment. <br /></td></tr>
<tr class="separator:a851ae87971b1b4132085f6f9521b4193"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae77f112046c240b477963326e2363e18" id="r_ae77f112046c240b477963326e2363e18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae77f112046c240b477963326e2363e18">create</a> (<a class="el" href="classsf_1_1VideoMode.html">VideoMode</a> mode, const <a class="el" href="classsf_1_1String.html">String</a> &amp;title, std::uint32_t style=<a class="el" href="group__window.html#gga5e7da6549090361249790ccb464158cca5597cd420fc461807e4a201c92adea37">Style::Default</a>, <a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a> state=<a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5ab13311ab51c4c34757f67f26580018dd">State::Windowed</a>) override</td></tr>
<tr class="memdesc:ae77f112046c240b477963326e2363e18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (or recreate) the window. <br /></td></tr>
<tr class="separator:ae77f112046c240b477963326e2363e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace10c7fc5904ddff72a0fede61758679" id="r_ace10c7fc5904ddff72a0fede61758679"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ace10c7fc5904ddff72a0fede61758679">create</a> (<a class="el" href="classsf_1_1VideoMode.html">VideoMode</a> mode, const <a class="el" href="classsf_1_1String.html">String</a> &amp;title, std::uint32_t style, <a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a> state, const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;settings)</td></tr>
<tr class="memdesc:ace10c7fc5904ddff72a0fede61758679"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (or recreate) the window. <br /></td></tr>
<tr class="separator:ace10c7fc5904ddff72a0fede61758679"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17af5e75b858635f45ad46ce91668ce8" id="r_a17af5e75b858635f45ad46ce91668ce8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a17af5e75b858635f45ad46ce91668ce8">create</a> (<a class="el" href="classsf_1_1VideoMode.html">VideoMode</a> mode, const <a class="el" href="classsf_1_1String.html">String</a> &amp;title, <a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a> state) override</td></tr>
<tr class="memdesc:a17af5e75b858635f45ad46ce91668ce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (or recreate) the window. <br /></td></tr>
<tr class="separator:a17af5e75b858635f45ad46ce91668ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3667f889b2b288c13fe8f039cbad9931" id="r_a3667f889b2b288c13fe8f039cbad9931"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3667f889b2b288c13fe8f039cbad9931">create</a> (<a class="el" href="classsf_1_1VideoMode.html">VideoMode</a> mode, const <a class="el" href="classsf_1_1String.html">String</a> &amp;title, <a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a> state, const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;settings)</td></tr>
<tr class="memdesc:a3667f889b2b288c13fe8f039cbad9931"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (or recreate) the window. <br /></td></tr>
<tr class="separator:a3667f889b2b288c13fe8f039cbad9931"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5246d47ddea8ad787be150e09df1fc53" id="r_a5246d47ddea8ad787be150e09df1fc53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5246d47ddea8ad787be150e09df1fc53">create</a> (<a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289">WindowHandle</a> handle) override</td></tr>
<tr class="memdesc:a5246d47ddea8ad787be150e09df1fc53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (or recreate) the window from an existing control. <br /></td></tr>
<tr class="separator:a5246d47ddea8ad787be150e09df1fc53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a064dd5dd7bb337fb9f5635f580081a1e" id="r_a064dd5dd7bb337fb9f5635f580081a1e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a064dd5dd7bb337fb9f5635f580081a1e">create</a> (<a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289">WindowHandle</a> handle, const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;settings)</td></tr>
<tr class="memdesc:a064dd5dd7bb337fb9f5635f580081a1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (or recreate) the window from an existing control. <br /></td></tr>
<tr class="separator:a064dd5dd7bb337fb9f5635f580081a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1d808a3682db8d113d67354bcbd717d" id="r_ab1d808a3682db8d113d67354bcbd717d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1d808a3682db8d113d67354bcbd717d">close</a> () override</td></tr>
<tr class="memdesc:ab1d808a3682db8d113d67354bcbd717d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the window and destroy all the attached resources. <br /></td></tr>
<tr class="separator:ab1d808a3682db8d113d67354bcbd717d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0605afbaceb02b098f9d731b7ab4203d" id="r_a0605afbaceb02b098f9d731b7ab4203d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0605afbaceb02b098f9d731b7ab4203d">getSettings</a> () const</td></tr>
<tr class="memdesc:a0605afbaceb02b098f9d731b7ab4203d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the settings of the OpenGL context of the window. <br /></td></tr>
<tr class="separator:a0605afbaceb02b098f9d731b7ab4203d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59041c4556e0351048f8aff366034f61" id="r_a59041c4556e0351048f8aff366034f61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a59041c4556e0351048f8aff366034f61">setVerticalSyncEnabled</a> (bool enabled)</td></tr>
<tr class="memdesc:a59041c4556e0351048f8aff366034f61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable vertical synchronization. <br /></td></tr>
<tr class="separator:a59041c4556e0351048f8aff366034f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4322d315baf93405bf0d5087ad5e784" id="r_af4322d315baf93405bf0d5087ad5e784"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af4322d315baf93405bf0d5087ad5e784">setFramerateLimit</a> (unsigned int limit)</td></tr>
<tr class="memdesc:af4322d315baf93405bf0d5087ad5e784"><td class="mdescLeft">&#160;</td><td class="mdescRight">Limit the framerate to a maximum fixed frequency. <br /></td></tr>
<tr class="separator:af4322d315baf93405bf0d5087ad5e784"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaab549da64cedf74fa6f1ae7a3cc79e0" id="r_aaab549da64cedf74fa6f1ae7a3cc79e0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaab549da64cedf74fa6f1ae7a3cc79e0">setActive</a> (bool active=true) const</td></tr>
<tr class="memdesc:aaab549da64cedf74fa6f1ae7a3cc79e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate or deactivate the window as the current target for OpenGL rendering. <br /></td></tr>
<tr class="separator:aaab549da64cedf74fa6f1ae7a3cc79e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adabf839cb103ac96cfc82f781638772a" id="r_adabf839cb103ac96cfc82f781638772a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adabf839cb103ac96cfc82f781638772a">display</a> ()</td></tr>
<tr class="memdesc:adabf839cb103ac96cfc82f781638772a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display on screen what has been rendered to the window so far. <br /></td></tr>
<tr class="separator:adabf839cb103ac96cfc82f781638772a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa43559822564ef958dc664a90c57cba0" id="r_aa43559822564ef958dc664a90c57cba0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#aa43559822564ef958dc664a90c57cba0">isOpen</a> () const</td></tr>
<tr class="memdesc:aa43559822564ef958dc664a90c57cba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tell whether or not the window is open. <br /></td></tr>
<tr class="separator:aa43559822564ef958dc664a90c57cba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6090926b477e9d0a83854b94b9e1fd35" id="r_a6090926b477e9d0a83854b94b9e1fd35"><td class="memItemLeft" align="right" valign="top">std::optional&lt; <a class="el" href="classsf_1_1Event.html">Event</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a6090926b477e9d0a83854b94b9e1fd35">pollEvent</a> ()</td></tr>
<tr class="memdesc:a6090926b477e9d0a83854b94b9e1fd35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pop the next event from the front of the FIFO event queue, if any, and return it. <br /></td></tr>
<tr class="separator:a6090926b477e9d0a83854b94b9e1fd35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5975f6f6a06ecd6c18fa0f62cd1edf7" id="r_ab5975f6f6a06ecd6c18fa0f62cd1edf7"><td class="memItemLeft" align="right" valign="top">std::optional&lt; <a class="el" href="classsf_1_1Event.html">Event</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#ab5975f6f6a06ecd6c18fa0f62cd1edf7">waitEvent</a> (<a class="el" href="classsf_1_1Time.html">Time</a> timeout=<a class="el" href="classsf_1_1Time.html#a8db127b632fa8da21550e7282af11fa0">Time::Zero</a>)</td></tr>
<tr class="memdesc:ab5975f6f6a06ecd6c18fa0f62cd1edf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for an event and return it. <br /></td></tr>
<tr class="separator:ab5975f6f6a06ecd6c18fa0f62cd1edf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad86ae79ff4e2da25af1ca3cd06f79557" id="r_ad86ae79ff4e2da25af1ca3cd06f79557"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:ad86ae79ff4e2da25af1ca3cd06f79557"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#ad86ae79ff4e2da25af1ca3cd06f79557">handleEvents</a> (Ts &amp;&amp;... handlers)</td></tr>
<tr class="memdesc:ad86ae79ff4e2da25af1ca3cd06f79557"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle all pending events. <br /></td></tr>
<tr class="separator:ad86ae79ff4e2da25af1ca3cd06f79557"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ddaa5943f547645079f081422e45c81" id="r_a5ddaa5943f547645079f081422e45c81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacesf.html#af0ffe1b157a56931ee3a9a1a771a827a">Vector2i</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a5ddaa5943f547645079f081422e45c81">getPosition</a> () const</td></tr>
<tr class="memdesc:a5ddaa5943f547645079f081422e45c81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the position of the window. <br /></td></tr>
<tr class="separator:a5ddaa5943f547645079f081422e45c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7282bbf43820f20f41c704c2ab5b86f8" id="r_a7282bbf43820f20f41c704c2ab5b86f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a7282bbf43820f20f41c704c2ab5b86f8">setPosition</a> (<a class="el" href="namespacesf.html#af0ffe1b157a56931ee3a9a1a771a827a">Vector2i</a> position)</td></tr>
<tr class="memdesc:a7282bbf43820f20f41c704c2ab5b86f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the position of the window on screen. <br /></td></tr>
<tr class="separator:a7282bbf43820f20f41c704c2ab5b86f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a188a482d916a972d59d6b0700132e379" id="r_a188a482d916a972d59d6b0700132e379"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a188a482d916a972d59d6b0700132e379">getSize</a> () const</td></tr>
<tr class="memdesc:a188a482d916a972d59d6b0700132e379"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the rendering region of the window. <br /></td></tr>
<tr class="separator:a188a482d916a972d59d6b0700132e379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd2581f59f35bd379307ea5b6254631c" id="r_abd2581f59f35bd379307ea5b6254631c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#abd2581f59f35bd379307ea5b6254631c">setSize</a> (<a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a> size)</td></tr>
<tr class="memdesc:abd2581f59f35bd379307ea5b6254631c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the size of the rendering region of the window. <br /></td></tr>
<tr class="separator:abd2581f59f35bd379307ea5b6254631c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a742a8f386668f58fe27c0b5f5929de7e" id="r_a742a8f386668f58fe27c0b5f5929de7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a742a8f386668f58fe27c0b5f5929de7e">setMinimumSize</a> (const std::optional&lt; <a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a> &gt; &amp;minimumSize)</td></tr>
<tr class="memdesc:a742a8f386668f58fe27c0b5f5929de7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the minimum window rendering region size. <br /></td></tr>
<tr class="separator:a742a8f386668f58fe27c0b5f5929de7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65f856835295a85a2959c962a1616cad" id="r_a65f856835295a85a2959c962a1616cad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a65f856835295a85a2959c962a1616cad">setMaximumSize</a> (const std::optional&lt; <a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a> &gt; &amp;maximumSize)</td></tr>
<tr class="memdesc:a65f856835295a85a2959c962a1616cad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum window rendering region size. <br /></td></tr>
<tr class="separator:a65f856835295a85a2959c962a1616cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accd36ae6244ae1e6d643f6c109e983f8" id="r_accd36ae6244ae1e6d643f6c109e983f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#accd36ae6244ae1e6d643f6c109e983f8">setTitle</a> (const <a class="el" href="classsf_1_1String.html">String</a> &amp;title)</td></tr>
<tr class="memdesc:accd36ae6244ae1e6d643f6c109e983f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the title of the window. <br /></td></tr>
<tr class="separator:accd36ae6244ae1e6d643f6c109e983f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07ab1f9f9dc2312ad0ee83d1ffee9715" id="r_a07ab1f9f9dc2312ad0ee83d1ffee9715"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a07ab1f9f9dc2312ad0ee83d1ffee9715">setIcon</a> (<a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a> size, const std::uint8_t *pixels)</td></tr>
<tr class="memdesc:a07ab1f9f9dc2312ad0ee83d1ffee9715"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the window's icon. <br /></td></tr>
<tr class="separator:a07ab1f9f9dc2312ad0ee83d1ffee9715"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a576488ad202cb2cd4359af94eaba4dd8" id="r_a576488ad202cb2cd4359af94eaba4dd8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a576488ad202cb2cd4359af94eaba4dd8">setVisible</a> (bool visible)</td></tr>
<tr class="memdesc:a576488ad202cb2cd4359af94eaba4dd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Show or hide the window. <br /></td></tr>
<tr class="separator:a576488ad202cb2cd4359af94eaba4dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa4a3372b2870294d1579d8621fe3c1a" id="r_afa4a3372b2870294d1579d8621fe3c1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#afa4a3372b2870294d1579d8621fe3c1a">setMouseCursorVisible</a> (bool visible)</td></tr>
<tr class="memdesc:afa4a3372b2870294d1579d8621fe3c1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Show or hide the mouse cursor. <br /></td></tr>
<tr class="separator:afa4a3372b2870294d1579d8621fe3c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0023344922a1e854175c8ca22b072020" id="r_a0023344922a1e854175c8ca22b072020"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a0023344922a1e854175c8ca22b072020">setMouseCursorGrabbed</a> (bool grabbed)</td></tr>
<tr class="memdesc:a0023344922a1e854175c8ca22b072020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grab or release the mouse cursor. <br /></td></tr>
<tr class="separator:a0023344922a1e854175c8ca22b072020"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07487a3c7e04472b19e96d3a602213ec" id="r_a07487a3c7e04472b19e96d3a602213ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a07487a3c7e04472b19e96d3a602213ec">setMouseCursor</a> (const <a class="el" href="classsf_1_1Cursor.html">Cursor</a> &amp;cursor)</td></tr>
<tr class="memdesc:a07487a3c7e04472b19e96d3a602213ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the displayed cursor to a native system cursor. <br /></td></tr>
<tr class="separator:a07487a3c7e04472b19e96d3a602213ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd1199a64d459ba531deb65f093050a6" id="r_afd1199a64d459ba531deb65f093050a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#afd1199a64d459ba531deb65f093050a6">setKeyRepeatEnabled</a> (bool enabled)</td></tr>
<tr class="memdesc:afd1199a64d459ba531deb65f093050a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable automatic key-repeat. <br /></td></tr>
<tr class="separator:afd1199a64d459ba531deb65f093050a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad37f939b492c7ea046d4f7b45ac46df1" id="r_ad37f939b492c7ea046d4f7b45ac46df1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#ad37f939b492c7ea046d4f7b45ac46df1">setJoystickThreshold</a> (float threshold)</td></tr>
<tr class="memdesc:ad37f939b492c7ea046d4f7b45ac46df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the joystick threshold. <br /></td></tr>
<tr class="separator:ad37f939b492c7ea046d4f7b45ac46df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a448770d2372d8df0a1ad6b1c7cce3c89" id="r_a448770d2372d8df0a1ad6b1c7cce3c89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a448770d2372d8df0a1ad6b1c7cce3c89">requestFocus</a> ()</td></tr>
<tr class="memdesc:a448770d2372d8df0a1ad6b1c7cce3c89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the current window to be made the active foreground window. <br /></td></tr>
<tr class="separator:a448770d2372d8df0a1ad6b1c7cce3c89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad87bd19e979c426cb819ccde8c95232e" id="r_ad87bd19e979c426cb819ccde8c95232e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#ad87bd19e979c426cb819ccde8c95232e">hasFocus</a> () const</td></tr>
<tr class="memdesc:ad87bd19e979c426cb819ccde8c95232e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether the window has the input focus. <br /></td></tr>
<tr class="separator:ad87bd19e979c426cb819ccde8c95232e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af360bb48167c6db4d13e47d23d9c35da" id="r_af360bb48167c6db4d13e47d23d9c35da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289">WindowHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#af360bb48167c6db4d13e47d23d9c35da">getNativeHandle</a> () const</td></tr>
<tr class="memdesc:af360bb48167c6db4d13e47d23d9c35da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OS-specific handle of the window. <br /></td></tr>
<tr class="separator:af360bb48167c6db4d13e47d23d9c35da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1401a44aa18cff4c23184f909aae82df" id="r_a1401a44aa18cff4c23184f909aae82df"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a1401a44aa18cff4c23184f909aae82df">createVulkanSurface</a> (const <a class="el" href="Vulkan_8hpp.html#a09bfb88ab06300f8c5448e7bc53acd9b">VkInstance</a> &amp;instance, <a class="el" href="Vulkan_8hpp.html#a103b6ae069efe31b9adef4ce0b6b6273">VkSurfaceKHR</a> &amp;surface, const VkAllocationCallbacks *allocator=nullptr)</td></tr>
<tr class="memdesc:a1401a44aa18cff4c23184f909aae82df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="namespacesf_1_1Vulkan.html" title="Vulkan helper functions.">Vulkan</a> rendering surface. <br /></td></tr>
<tr class="separator:a1401a44aa18cff4c23184f909aae82df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a3397a7265f654be7ce9ccde3a53a39df" id="r_a3397a7265f654be7ce9ccde3a53a39df"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a3397a7265f654be7ce9ccde3a53a39df">onCreate</a> ()</td></tr>
<tr class="memdesc:a3397a7265f654be7ce9ccde3a53a39df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function called after the window has been created. <br /></td></tr>
<tr class="separator:a3397a7265f654be7ce9ccde3a53a39df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8be41815cbeb89bc49e8752b62283192" id="r_a8be41815cbeb89bc49e8752b62283192"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1WindowBase.html#a8be41815cbeb89bc49e8752b62283192">onResize</a> ()</td></tr>
<tr class="memdesc:a8be41815cbeb89bc49e8752b62283192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function called after the window has been resized. <br /></td></tr>
<tr class="separator:a8be41815cbeb89bc49e8752b62283192"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classsf_1_1Window.html" title="Window that serves as a target for OpenGL rendering.">Window</a> that serves as a target for OpenGL rendering. </p>
<p><code><a class="el" href="classsf_1_1Window.html" title="Window that serves as a target for OpenGL rendering.">sf::Window</a></code> is the main class of the <a class="el" href="classsf_1_1Window.html" title="Window that serves as a target for OpenGL rendering.">Window</a> module.</p>
<p>It defines an OS window that is able to receive an OpenGL rendering.</p>
<p>A <code><a class="el" href="classsf_1_1Window.html" title="Window that serves as a target for OpenGL rendering.">sf::Window</a></code> can create its own new window, or be embedded into an already existing control using the <code>create(handle)</code> function. This can be useful for embedding an OpenGL rendering area into a view which is part of a bigger GUI with existing windows, controls, etc. It can also serve as embedding an OpenGL rendering area into a window created by another (probably richer) GUI library like Qt or wxWidgets.</p>
<p>The <code><a class="el" href="classsf_1_1Window.html" title="Window that serves as a target for OpenGL rendering.">sf::Window</a></code> class provides a simple interface for manipulating the window: move, resize, show/hide, control mouse cursor, etc. It also provides event handling through its <code><a class="el" href="classsf_1_1WindowBase.html#a6090926b477e9d0a83854b94b9e1fd35" title="Pop the next event from the front of the FIFO event queue, if any, and return it.">pollEvent()</a></code> and <code><a class="el" href="classsf_1_1WindowBase.html#ab5975f6f6a06ecd6c18fa0f62cd1edf7" title="Wait for an event and return it.">waitEvent()</a></code> functions.</p>
<p>Note that OpenGL experts can pass their own parameters (anti-aliasing level, bits for the depth and stencil buffers, etc.) to the OpenGL context attached to the window, with the <code><a class="el" href="structsf_1_1ContextSettings.html" title="Structure defining the settings of the OpenGL context attached to a window.">sf::ContextSettings</a></code> structure which is passed as an optional argument when creating the window.</p>
<p>On dual-graphics systems consisting of a low-power integrated GPU and a powerful discrete GPU, the driver picks which GPU will run an SFML application. In order to inform the driver that an SFML application can benefit from being run on the more powerful discrete GPU, <code>#SFML_DEFINE_DISCRETE_GPU_PREFERENCE</code> can be placed in a source file that is compiled and linked into the final application. The macro should be placed outside of any scopes in the global namespace.</p>
<p>Usage example: </p><div class="fragment"><div class="line"><span class="comment">// Declare and create a new window</span></div>
<div class="line"><a class="code hl_class" href="classsf_1_1Window.html">sf::Window</a> window(<a class="code hl_class" href="classsf_1_1VideoMode.html">sf::VideoMode</a>({800, 600}), <span class="stringliteral">&quot;SFML window&quot;</span>);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Limit the framerate to 60 frames per second (this step is optional)</span></div>
<div class="line">window.<a class="code hl_function" href="#af4322d315baf93405bf0d5087ad5e784">setFramerateLimit</a>(60);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// The main loop - ends as soon as the window is closed</span></div>
<div class="line"><span class="keywordflow">while</span> (window.<a class="code hl_function" href="classsf_1_1WindowBase.html#aa43559822564ef958dc664a90c57cba0">isOpen</a>())</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// Event processing</span></div>
<div class="line"> <span class="keywordflow">while</span> (<span class="keyword">const</span> std::optional event = window.<a class="code hl_function" href="classsf_1_1WindowBase.html#a6090926b477e9d0a83854b94b9e1fd35">pollEvent</a>())</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// Request for closing the window</span></div>
<div class="line"> <span class="keywordflow">if</span> (event-&gt;is&lt;<a class="code hl_struct" href="structsf_1_1Event_1_1Closed.html">sf::Event::Closed</a>&gt;())</div>
<div class="line"> window.<a class="code hl_function" href="#ab1d808a3682db8d113d67354bcbd717d">close</a>();</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Activate the window for OpenGL rendering</span></div>
<div class="line"> window.<a class="code hl_function" href="#aaab549da64cedf74fa6f1ae7a3cc79e0">setActive</a>();</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// OpenGL drawing commands go here...</span></div>
<div class="line"> </div>
<div class="line"> <span class="comment">// End the current frame and display its contents on screen</span></div>
<div class="line"> window.<a class="code hl_function" href="#adabf839cb103ac96cfc82f781638772a">display</a>();</div>
<div class="line">}</div>
<div class="ttc" id="aclasssf_1_1VideoMode_html"><div class="ttname"><a href="classsf_1_1VideoMode.html">sf::VideoMode</a></div><div class="ttdoc">VideoMode defines a video mode (size, bpp)</div><div class="ttdef"><b>Definition</b> <a href="VideoMode_8hpp_source.html#l00043">VideoMode.hpp:44</a></div></div>
<div class="ttc" id="aclasssf_1_1WindowBase_html_a6090926b477e9d0a83854b94b9e1fd35"><div class="ttname"><a href="classsf_1_1WindowBase.html#a6090926b477e9d0a83854b94b9e1fd35">sf::WindowBase::pollEvent</a></div><div class="ttdeci">std::optional&lt; Event &gt; pollEvent()</div><div class="ttdoc">Pop the next event from the front of the FIFO event queue, if any, and return it.</div></div>
<div class="ttc" id="aclasssf_1_1WindowBase_html_aa43559822564ef958dc664a90c57cba0"><div class="ttname"><a href="classsf_1_1WindowBase.html#aa43559822564ef958dc664a90c57cba0">sf::WindowBase::isOpen</a></div><div class="ttdeci">bool isOpen() const</div><div class="ttdoc">Tell whether or not the window is open.</div></div>
<div class="ttc" id="aclasssf_1_1Window_html"><div class="ttname"><a href="classsf_1_1Window.html">sf::Window</a></div><div class="ttdoc">Window that serves as a target for OpenGL rendering.</div><div class="ttdef"><b>Definition</b> <a href="Window_2Window_8hpp_source.html#l00055">Window/Window.hpp:56</a></div></div>
<div class="ttc" id="aclasssf_1_1Window_html_aaab549da64cedf74fa6f1ae7a3cc79e0"><div class="ttname"><a href="#aaab549da64cedf74fa6f1ae7a3cc79e0">sf::Window::setActive</a></div><div class="ttdeci">bool setActive(bool active=true) const</div><div class="ttdoc">Activate or deactivate the window as the current target for OpenGL rendering.</div></div>
<div class="ttc" id="aclasssf_1_1Window_html_ab1d808a3682db8d113d67354bcbd717d"><div class="ttname"><a href="#ab1d808a3682db8d113d67354bcbd717d">sf::Window::close</a></div><div class="ttdeci">void close() override</div><div class="ttdoc">Close the window and destroy all the attached resources.</div></div>
<div class="ttc" id="aclasssf_1_1Window_html_adabf839cb103ac96cfc82f781638772a"><div class="ttname"><a href="#adabf839cb103ac96cfc82f781638772a">sf::Window::display</a></div><div class="ttdeci">void display()</div><div class="ttdoc">Display on screen what has been rendered to the window so far.</div></div>
<div class="ttc" id="aclasssf_1_1Window_html_af4322d315baf93405bf0d5087ad5e784"><div class="ttname"><a href="#af4322d315baf93405bf0d5087ad5e784">sf::Window::setFramerateLimit</a></div><div class="ttdeci">void setFramerateLimit(unsigned int limit)</div><div class="ttdoc">Limit the framerate to a maximum fixed frequency.</div></div>
<div class="ttc" id="astructsf_1_1Event_1_1Closed_html"><div class="ttname"><a href="structsf_1_1Event_1_1Closed.html">sf::Event::Closed</a></div><div class="ttdoc">Closed event subtype.</div><div class="ttdef"><b>Definition</b> <a href="Event_8hpp_source.html#l00053">Event.hpp:54</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="Window_2Window_8hpp_source.html#l00055">55</a> of file <a class="el" href="Window_2Window_8hpp_source.html">Window/Window.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5359122166b4dc492c3d25caf08ccfc4" name="a5359122166b4dc492c3d25caf08ccfc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5359122166b4dc492c3d25caf08ccfc4">&#9670;&#160;</a></span>Window() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">sf::Window::Window </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor. </p>
<p>This constructor doesn't actually create the window, use the other constructors or call <code><a class="el" href="#ae77f112046c240b477963326e2363e18" title="Create (or recreate) the window.">create()</a></code> to do so. </p>
</div>
</div>
<a id="a264a604e7ad85e93f5177e81f101876e" name="a264a604e7ad85e93f5177e81f101876e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a264a604e7ad85e93f5177e81f101876e">&#9670;&#160;</a></span>Window() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">sf::Window::Window </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1VideoMode.html">VideoMode</a></td> <td class="paramname"><span class="paramname"><em>mode</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1String.html">String</a> &amp;</td> <td class="paramname"><span class="paramname"><em>title</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t</td> <td class="paramname"><span class="paramname"><em>style</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="group__window.html#gga5e7da6549090361249790ccb464158cca5597cd420fc461807e4a201c92adea37">Style::Default</a></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a></td> <td class="paramname"><span class="paramname"><em>state</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5ab13311ab51c4c34757f67f26580018dd">State::Windowed</a></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>settings</em></span><span class="paramdefsep"> = </span><span class="paramdefval">{}</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a new window. </p>
<p>This constructor creates the window with the size and pixel depth defined in <code>mode</code>. An optional style can be passed to customize the look and behavior of the window (borders, title bar, resizable, closable, ...). An optional state can be provided. If <code>state</code> is <code><a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5a0829ea6734059d66e6bf87096b215dc1" title="Fullscreen window.">State::Fullscreen</a></code>, then <code>mode</code> must be a valid video mode.</p>
<p>The last parameter is an optional structure specifying advanced OpenGL context settings such as anti-aliasing, depth-buffer bits, etc.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Video mode to use (defines the width, height and depth of the rendering area of the window) </td></tr>
<tr><td class="paramname">title</td><td>Title of the window </td></tr>
<tr><td class="paramname">style</td><td>Window style, a bitwise OR combination of <code><a class="el" href="namespacesf_1_1Style.html">sf::Style</a></code> enumerators </td></tr>
<tr><td class="paramname">state</td><td>Window state </td></tr>
<tr><td class="paramname">settings</td><td>Additional settings for the underlying OpenGL context </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8671f611b3906bfb9cc0e64e87fc8b4d" name="a8671f611b3906bfb9cc0e64e87fc8b4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8671f611b3906bfb9cc0e64e87fc8b4d">&#9670;&#160;</a></span>Window() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">sf::Window::Window </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1VideoMode.html">VideoMode</a></td> <td class="paramname"><span class="paramname"><em>mode</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1String.html">String</a> &amp;</td> <td class="paramname"><span class="paramname"><em>title</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a></td> <td class="paramname"><span class="paramname"><em>state</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>settings</em></span><span class="paramdefsep"> = </span><span class="paramdefval">{}</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a new window. </p>
<p>This constructor creates the window with the size and pixel depth defined in <code>mode</code>. If <code>state</code> is <code><a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5a0829ea6734059d66e6bf87096b215dc1" title="Fullscreen window.">State::Fullscreen</a></code>, then <code>mode</code> must be a valid video mode.</p>
<p>The last parameter is an optional structure specifying advanced OpenGL context settings such as anti-aliasing, depth-buffer bits, etc.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Video mode to use (defines the width, height and depth of the rendering area of the window) </td></tr>
<tr><td class="paramname">title</td><td>Title of the window </td></tr>
<tr><td class="paramname">state</td><td>Window state </td></tr>
<tr><td class="paramname">settings</td><td>Additional settings for the underlying OpenGL context </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a17e85b2ef81e910310ee8547e6b60049" name="a17e85b2ef81e910310ee8547e6b60049"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17e85b2ef81e910310ee8547e6b60049">&#9670;&#160;</a></span>Window() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">sf::Window::Window </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289">WindowHandle</a></td> <td class="paramname"><span class="paramname"><em>handle</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>settings</em></span><span class="paramdefsep"> = </span><span class="paramdefval">{}</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct the window from an existing control. </p>
<p>Use this constructor if you want to create an OpenGL rendering area into an already existing control.</p>
<p>The second parameter is an optional structure specifying advanced OpenGL context settings such as anti-aliasing, depth-buffer bits, etc.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Platform-specific handle of the control </td></tr>
<tr><td class="paramname">settings</td><td>Additional settings for the underlying OpenGL context </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3c4c37f0767c77c3fa5febb136037567" name="a3c4c37f0767c77c3fa5febb136037567"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c4c37f0767c77c3fa5febb136037567">&#9670;&#160;</a></span>~Window()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">sf::Window::~Window </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destructor. </p>
<p>Closes the window and frees all the resources attached to it. </p>
</div>
</div>
<a id="a12e647a9b7f2f3688f6cd76712500f11" name="a12e647a9b7f2f3688f6cd76712500f11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12e647a9b7f2f3688f6cd76712500f11">&#9670;&#160;</a></span>Window() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">sf::Window::Window </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Window.html">Window</a> &amp;</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Deleted copy constructor. </p>
</div>
</div>
<a id="ac09d9fa445e31230d7d6f634e8a21b40" name="ac09d9fa445e31230d7d6f634e8a21b40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac09d9fa445e31230d7d6f634e8a21b40">&#9670;&#160;</a></span>Window() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">sf::Window::Window </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1Window.html">Window</a> &amp;&amp;</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move constructor. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab1d808a3682db8d113d67354bcbd717d" name="ab1d808a3682db8d113d67354bcbd717d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1d808a3682db8d113d67354bcbd717d">&#9670;&#160;</a></span>close()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::Window::close </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Close the window and destroy all the attached resources. </p>
<p>After calling this function, the <code><a class="el" href="classsf_1_1Window.html" title="Window that serves as a target for OpenGL rendering.">sf::Window</a></code> instance remains valid and you can call <code><a class="el" href="#ae77f112046c240b477963326e2363e18" title="Create (or recreate) the window.">create()</a></code> to recreate the window. All other functions such as <code><a class="el" href="classsf_1_1WindowBase.html#a6090926b477e9d0a83854b94b9e1fd35" title="Pop the next event from the front of the FIFO event queue, if any, and return it.">pollEvent()</a></code> or <code><a class="el" href="#adabf839cb103ac96cfc82f781638772a" title="Display on screen what has been rendered to the window so far.">display()</a></code> will still work (i.e. you don't have to test <code><a class="el" href="classsf_1_1WindowBase.html#aa43559822564ef958dc664a90c57cba0" title="Tell whether or not the window is open.">isOpen()</a></code> every time), and will have no effect on closed windows. </p>
<p>Reimplemented from <a class="el" href="classsf_1_1WindowBase.html#a9a5ea0ba0ab584dbd11bbfea233b457f">sf::WindowBase</a>.</p>
</div>
</div>
<a id="a17af5e75b858635f45ad46ce91668ce8" name="a17af5e75b858635f45ad46ce91668ce8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17af5e75b858635f45ad46ce91668ce8">&#9670;&#160;</a></span>create() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::Window::create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1VideoMode.html">VideoMode</a></td> <td class="paramname"><span class="paramname"><em>mode</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1String.html">String</a> &amp;</td> <td class="paramname"><span class="paramname"><em>title</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a></td> <td class="paramname"><span class="paramname"><em>state</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create (or recreate) the window. </p>
<p>If the window was already created, it closes it first. If <code>state</code> is <code><a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5a0829ea6734059d66e6bf87096b215dc1" title="Fullscreen window.">State::Fullscreen</a></code>, then <code>mode</code> must be a valid video mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Video mode to use (defines the width, height and depth of the rendering area of the window) </td></tr>
<tr><td class="paramname">title</td><td>Title of the window </td></tr>
<tr><td class="paramname">state</td><td>Window state </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classsf_1_1WindowBase.html#a1730d462059617d78f08c0e4eeee771a">sf::WindowBase</a>.</p>
</div>
</div>
<a id="a3667f889b2b288c13fe8f039cbad9931" name="a3667f889b2b288c13fe8f039cbad9931"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3667f889b2b288c13fe8f039cbad9931">&#9670;&#160;</a></span>create() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void sf::Window::create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1VideoMode.html">VideoMode</a></td> <td class="paramname"><span class="paramname"><em>mode</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1String.html">String</a> &amp;</td> <td class="paramname"><span class="paramname"><em>title</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a></td> <td class="paramname"><span class="paramname"><em>state</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>settings</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create (or recreate) the window. </p>
<p>If the window was already created, it closes it first. If <code>state</code> is <code><a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5a0829ea6734059d66e6bf87096b215dc1" title="Fullscreen window.">State::Fullscreen</a></code>, then <code>mode</code> must be a valid video mode.</p>
<p>The last parameter is a structure specifying advanced OpenGL context settings such as anti-aliasing, depth-buffer bits, etc.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Video mode to use (defines the width, height and depth of the rendering area of the window) </td></tr>
<tr><td class="paramname">title</td><td>Title of the window </td></tr>
<tr><td class="paramname">state</td><td>Window state </td></tr>
<tr><td class="paramname">settings</td><td>Additional settings for the underlying OpenGL context </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ace10c7fc5904ddff72a0fede61758679" name="ace10c7fc5904ddff72a0fede61758679"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace10c7fc5904ddff72a0fede61758679">&#9670;&#160;</a></span>create() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void sf::Window::create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1VideoMode.html">VideoMode</a></td> <td class="paramname"><span class="paramname"><em>mode</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1String.html">String</a> &amp;</td> <td class="paramname"><span class="paramname"><em>title</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t</td> <td class="paramname"><span class="paramname"><em>style</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a></td> <td class="paramname"><span class="paramname"><em>state</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>settings</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create (or recreate) the window. </p>
<p>If the window was already created, it closes it first. If <code>state</code> is <code><a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5a0829ea6734059d66e6bf87096b215dc1" title="Fullscreen window.">State::Fullscreen</a></code>, then <code>mode</code> must be a valid video mode.</p>
<p>The last parameter is a structure specifying advanced OpenGL context settings such as anti-aliasing, depth-buffer bits, etc.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Video mode to use (defines the width, height and depth of the rendering area of the window) </td></tr>
<tr><td class="paramname">title</td><td>Title of the window </td></tr>
<tr><td class="paramname">style</td><td>Window style, a bitwise OR combination of <code><a class="el" href="namespacesf_1_1Style.html">sf::Style</a></code> enumerators </td></tr>
<tr><td class="paramname">state</td><td>Window state </td></tr>
<tr><td class="paramname">settings</td><td>Additional settings for the underlying OpenGL context </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae77f112046c240b477963326e2363e18" name="ae77f112046c240b477963326e2363e18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae77f112046c240b477963326e2363e18">&#9670;&#160;</a></span>create() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::Window::create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1VideoMode.html">VideoMode</a></td> <td class="paramname"><span class="paramname"><em>mode</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1String.html">String</a> &amp;</td> <td class="paramname"><span class="paramname"><em>title</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t</td> <td class="paramname"><span class="paramname"><em>style</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="group__window.html#gga5e7da6549090361249790ccb464158cca5597cd420fc461807e4a201c92adea37">Style::Default</a></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__window.html#ga504e2cd8fc6a852463f8d049db1151e5">State</a></td> <td class="paramname"><span class="paramname"><em>state</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5ab13311ab51c4c34757f67f26580018dd">State::Windowed</a></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create (or recreate) the window. </p>
<p>If the window was already created, it closes it first. If <code>state</code> is <code><a class="el" href="group__window.html#gga504e2cd8fc6a852463f8d049db1151e5a0829ea6734059d66e6bf87096b215dc1" title="Fullscreen window.">State::Fullscreen</a></code>, then <code>mode</code> must be a valid video mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Video mode to use (defines the width, height and depth of the rendering area of the window) </td></tr>
<tr><td class="paramname">title</td><td>Title of the window </td></tr>
<tr><td class="paramname">style</td><td>Window style, a bitwise OR combination of <code><a class="el" href="namespacesf_1_1Style.html">sf::Style</a></code> enumerators </td></tr>
<tr><td class="paramname">state</td><td>Window state </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classsf_1_1WindowBase.html#a612f5918f3cb042fcf1189fed24b91d4">sf::WindowBase</a>.</p>
</div>
</div>
<a id="a5246d47ddea8ad787be150e09df1fc53" name="a5246d47ddea8ad787be150e09df1fc53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5246d47ddea8ad787be150e09df1fc53">&#9670;&#160;</a></span>create() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::Window::create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289">WindowHandle</a></td> <td class="paramname"><span class="paramname"><em>handle</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create (or recreate) the window from an existing control. </p>
<p>Use this function if you want to create an OpenGL rendering area into an already existing control. If the window was already created, it closes it first.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Platform-specific handle of the control </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classsf_1_1WindowBase.html#a4e4968e15e33fd70629983f635bcc21c">sf::WindowBase</a>.</p>
</div>
</div>
<a id="a064dd5dd7bb337fb9f5635f580081a1e" name="a064dd5dd7bb337fb9f5635f580081a1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a064dd5dd7bb337fb9f5635f580081a1e">&#9670;&#160;</a></span>create() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void sf::Window::create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289">WindowHandle</a></td> <td class="paramname"><span class="paramname"><em>handle</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>settings</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create (or recreate) the window from an existing control. </p>
<p>Use this function if you want to create an OpenGL rendering area into an already existing control. If the window was already created, it closes it first.</p>
<p>The second parameter is an optional structure specifying advanced OpenGL context settings such as anti-aliasing, depth-buffer bits, etc.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Platform-specific handle of the control </td></tr>
<tr><td class="paramname">settings</td><td>Additional settings for the underlying OpenGL context </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1401a44aa18cff4c23184f909aae82df" name="a1401a44aa18cff4c23184f909aae82df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1401a44aa18cff4c23184f909aae82df">&#9670;&#160;</a></span>createVulkanSurface()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool sf::WindowBase::createVulkanSurface </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="Vulkan_8hpp.html#a09bfb88ab06300f8c5448e7bc53acd9b">VkInstance</a> &amp;</td> <td class="paramname"><span class="paramname"><em>instance</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="Vulkan_8hpp.html#a103b6ae069efe31b9adef4ce0b6b6273">VkSurfaceKHR</a> &amp;</td> <td class="paramname"><span class="paramname"><em>surface</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const VkAllocationCallbacks *</td> <td class="paramname"><span class="paramname"><em>allocator</em></span><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a <a class="el" href="namespacesf_1_1Vulkan.html" title="Vulkan helper functions.">Vulkan</a> rendering surface. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">instance</td><td><a class="el" href="namespacesf_1_1Vulkan.html" title="Vulkan helper functions.">Vulkan</a> instance </td></tr>
<tr><td class="paramname">surface</td><td>Created surface </td></tr>
<tr><td class="paramname">allocator</td><td>Allocator to use</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if surface creation was successful, <code>false</code> otherwise </dd></dl>
</div>
</div>
<a id="adabf839cb103ac96cfc82f781638772a" name="adabf839cb103ac96cfc82f781638772a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adabf839cb103ac96cfc82f781638772a">&#9670;&#160;</a></span>display()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sf::Window::display </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Display on screen what has been rendered to the window so far. </p>
<p>This function is typically called after all OpenGL rendering has been done for the current frame, in order to show it on screen. </p>
</div>
</div>
<a id="af360bb48167c6db4d13e47d23d9c35da" name="af360bb48167c6db4d13e47d23d9c35da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af360bb48167c6db4d13e47d23d9c35da">&#9670;&#160;</a></span>getNativeHandle()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289">WindowHandle</a> sf::WindowBase::getNativeHandle </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the OS-specific handle of the window. </p>
<p>The type of the returned handle is <code><a class="el" href="group__window.html#ga9858f04701033cd01859037d8dafd289" title="Low-level window handle type, specific to each platform.">sf::WindowHandle</a></code>, which is a type alias to the handle type defined by the OS. You shouldn't need to use this function, unless you have very specific stuff to implement that SFML doesn't support, or implement a temporary workaround until a bug is fixed.</p>
<dl class="section return"><dt>Returns</dt><dd>System handle of the window </dd></dl>
</div>
</div>
<a id="a5ddaa5943f547645079f081422e45c81" name="a5ddaa5943f547645079f081422e45c81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ddaa5943f547645079f081422e45c81">&#9670;&#160;</a></span>getPosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacesf.html#af0ffe1b157a56931ee3a9a1a771a827a">Vector2i</a> sf::WindowBase::getPosition </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the position of the window. </p>
<dl class="section return"><dt>Returns</dt><dd>Position of the window, in pixels</dd></dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#a7282bbf43820f20f41c704c2ab5b86f8" title="Change the position of the window on screen.">setPosition</a></code> </dd></dl>
</div>
</div>
<a id="a0605afbaceb02b098f9d731b7ab4203d" name="a0605afbaceb02b098f9d731b7ab4203d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0605afbaceb02b098f9d731b7ab4203d">&#9670;&#160;</a></span>getSettings()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structsf_1_1ContextSettings.html">ContextSettings</a> &amp; sf::Window::getSettings </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the settings of the OpenGL context of the window. </p>
<p>Note that these settings may be different from what was passed to the constructor or the <code><a class="el" href="#ae77f112046c240b477963326e2363e18" title="Create (or recreate) the window.">create()</a></code> function, if one or more settings were not supported. In this case, SFML chose the closest match.</p>
<dl class="section return"><dt>Returns</dt><dd>Structure containing the OpenGL context settings </dd></dl>
</div>
</div>
<a id="a188a482d916a972d59d6b0700132e379" name="a188a482d916a972d59d6b0700132e379"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a188a482d916a972d59d6b0700132e379">&#9670;&#160;</a></span>getSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a> sf::WindowBase::getSize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the size of the rendering region of the window. </p>
<p>The size doesn't include the titlebar and borders of the window.</p>
<dl class="section return"><dt>Returns</dt><dd>Size in pixels</dd></dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#abd2581f59f35bd379307ea5b6254631c" title="Change the size of the rendering region of the window.">setSize</a></code> </dd></dl>
</div>
</div>
<a id="ad86ae79ff4e2da25af1ca3cd06f79557" name="ad86ae79ff4e2da25af1ca3cd06f79557"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad86ae79ff4e2da25af1ca3cd06f79557">&#9670;&#160;</a></span>handleEvents()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... Ts&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::handleEvents </td>
<td>(</td>
<td class="paramtype">Ts &amp;&amp;...</td> <td class="paramname"><span class="paramname"><em>handlers</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Handle all pending events. </p>
<p>This function is not blocking: if there's no pending event then it will return without calling any of the handlers.</p>
<p>This function can take a variadic list of event handlers that each take a concrete event type as a single parameter. The event handlers can be any kind of callable object that has an <code>operator()</code> defined for a specific event type. Additionally a generic callable can also be provided that will be invoked for every event type. If both types of callables are provided, the callables taking concrete event types will be preferred over the generic callable by overload resolution. Generic callables can be used to customize handler dispatching based on the deduced type of the event and other information available at compile time.</p>
<p>Examples of callables:</p><ul>
<li>Lambda expressions: <code>[&amp;](const <a class="el" href="structsf_1_1Event_1_1KeyPressed.html" title="Key pressed event subtype.">sf::Event::KeyPressed</a>) { ... }</code></li>
<li>Free functions: <code>void handler(const <a class="el" href="structsf_1_1Event_1_1KeyPressed.html" title="Key pressed event subtype.">sf::Event::KeyPressed</a>&amp;) { ... }</code></li>
</ul>
<div class="fragment"><div class="line"><span class="comment">// Only provide handlers for concrete event types</span></div>
<div class="line">window.handleEvents(</div>
<div class="line"> [&amp;](<span class="keyword">const</span> <a class="code hl_struct" href="structsf_1_1Event_1_1Closed.html">sf::Event::Closed</a>&amp;) { <span class="comment">/* handle event */</span> },</div>
<div class="line"> [&amp;](<span class="keyword">const</span> <a class="code hl_struct" href="structsf_1_1Event_1_1KeyPressed.html">sf::Event::KeyPressed</a>&amp; keyPress) { <span class="comment">/* handle event */</span> }</div>
<div class="line">);</div>
<div class="ttc" id="astructsf_1_1Event_1_1KeyPressed_html"><div class="ttname"><a href="structsf_1_1Event_1_1KeyPressed.html">sf::Event::KeyPressed</a></div><div class="ttdoc">Key pressed event subtype.</div><div class="ttdef"><b>Definition</b> <a href="Event_8hpp_source.html#l00095">Event.hpp:96</a></div></div>
</div><!-- fragment --> <div class="fragment"><div class="line"><span class="comment">// Provide a generic event handler</span></div>
<div class="line">window.handleEvents(</div>
<div class="line"> [&amp;](<span class="keyword">const</span> <span class="keyword">auto</span>&amp; event)</div>
<div class="line"> {</div>
<div class="line"> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (std::is_same_v&lt;std::decay_t&lt;<span class="keyword">decltype</span>(event)&gt;, <a class="code hl_struct" href="structsf_1_1Event_1_1Closed.html">sf::Event::Closed</a>&gt;)</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// Handle Closed</span></div>
<div class="line"> handleClosed();</div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (std::is_same_v&lt;std::decay_t&lt;<span class="keyword">decltype</span>(event)&gt;, <a class="code hl_struct" href="structsf_1_1Event_1_1KeyPressed.html">sf::Event::KeyPressed</a>&gt;)</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// Handle KeyPressed</span></div>
<div class="line"> handleKeyPressed(event);</div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span></div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// Handle non-KeyPressed</span></div>
<div class="line"> handleOtherEvents(event);</div>
<div class="line"> }</div>
<div class="line"> }</div>
<div class="line">);</div>
</div><!-- fragment --> <div class="fragment"><div class="line"><span class="comment">// Provide handlers for concrete types and fall back to generic handler</span></div>
<div class="line">window.handleEvents(</div>
<div class="line"> [&amp;](<span class="keyword">const</span> <a class="code hl_struct" href="structsf_1_1Event_1_1Closed.html">sf::Event::Closed</a>&amp;) { <span class="comment">/* handle event */</span> },</div>
<div class="line"> [&amp;](<span class="keyword">const</span> <a class="code hl_struct" href="structsf_1_1Event_1_1KeyPressed.html">sf::Event::KeyPressed</a>&amp; keyPress) { <span class="comment">/* handle event */</span> },</div>
<div class="line"> [&amp;](<span class="keyword">const</span> <span class="keyword">auto</span>&amp; event) { <span class="comment">/* handle all other events */</span> }</div>
<div class="line">);</div>
</div><!-- fragment --><p>Calling member functions is supported through lambda expressions. </p><div class="fragment"><div class="line"><span class="comment">// Provide a generic event handler</span></div>
<div class="line">window.handleEvents(</div>
<div class="line"> [<span class="keyword">this</span>](<span class="keyword">const</span> <span class="keyword">auto</span>&amp; event) { handle(event); }</div>
<div class="line">);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handlers</td><td>A variadic list of callables that take a specific event as their only parameter</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#ab5975f6f6a06ecd6c18fa0f62cd1edf7" title="Wait for an event and return it.">waitEvent</a></code>, <code><a class="el" href="classsf_1_1WindowBase.html#a6090926b477e9d0a83854b94b9e1fd35" title="Pop the next event from the front of the FIFO event queue, if any, and return it.">pollEvent</a></code> </dd></dl>
</div>
</div>
<a id="ad87bd19e979c426cb819ccde8c95232e" name="ad87bd19e979c426cb819ccde8c95232e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad87bd19e979c426cb819ccde8c95232e">&#9670;&#160;</a></span>hasFocus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool sf::WindowBase::hasFocus </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check whether the window has the input focus. </p>
<p>At any given time, only one window may have the input focus to receive input events such as keystrokes or most mouse events.</p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if window has focus, <code>false</code> otherwise </dd></dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#a448770d2372d8df0a1ad6b1c7cce3c89" title="Request the current window to be made the active foreground window.">requestFocus</a></code> </dd></dl>
</div>
</div>
<a id="aa43559822564ef958dc664a90c57cba0" name="aa43559822564ef958dc664a90c57cba0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa43559822564ef958dc664a90c57cba0">&#9670;&#160;</a></span>isOpen()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool sf::WindowBase::isOpen </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tell whether or not the window is open. </p>
<p>This function returns whether or not the window exists. Note that a hidden window (<code>setVisible(false)</code>) is open (therefore this function would return <code>true</code>).</p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the window is open, <code>false</code> if it has been closed </dd></dl>
</div>
</div>
<a id="a3397a7265f654be7ce9ccde3a53a39df" name="a3397a7265f654be7ce9ccde3a53a39df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3397a7265f654be7ce9ccde3a53a39df">&#9670;&#160;</a></span>onCreate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void sf::WindowBase::onCreate </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Function called after the window has been created. </p>
<p>This function is called so that derived classes can perform their own specific initialization as soon as the window is created. </p>
<p>Reimplemented in <a class="el" href="classsf_1_1RenderWindow.html#aab231189dcb7d529d7d535772ac5ab01">sf::RenderWindow</a>.</p>
</div>
</div>
<a id="a8be41815cbeb89bc49e8752b62283192" name="a8be41815cbeb89bc49e8752b62283192"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8be41815cbeb89bc49e8752b62283192">&#9670;&#160;</a></span>onResize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void sf::WindowBase::onResize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Function called after the window has been resized. </p>
<p>This function is called so that derived classes can perform custom actions when the size of the window changes. </p>
<p>Reimplemented in <a class="el" href="classsf_1_1RenderWindow.html#a5223392a3ebd6581bd7b2c5e211ba072">sf::RenderWindow</a>.</p>
</div>
</div>
<a id="ad5f4ebc8b06562d46701dc447118dc90" name="ad5f4ebc8b06562d46701dc447118dc90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5f4ebc8b06562d46701dc447118dc90">&#9670;&#160;</a></span>operator=() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Window.html">Window</a> &amp; sf::Window::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Window.html">Window</a> &amp;</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Deleted copy assignment. </p>
</div>
</div>
<a id="a851ae87971b1b4132085f6f9521b4193" name="a851ae87971b1b4132085f6f9521b4193"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a851ae87971b1b4132085f6f9521b4193">&#9670;&#160;</a></span>operator=() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Window.html">Window</a> &amp; sf::Window::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1Window.html">Window</a> &amp;&amp;</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move assignment. </p>
</div>
</div>
<a id="a6090926b477e9d0a83854b94b9e1fd35" name="a6090926b477e9d0a83854b94b9e1fd35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6090926b477e9d0a83854b94b9e1fd35">&#9670;&#160;</a></span>pollEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::optional&lt; <a class="el" href="classsf_1_1Event.html">Event</a> &gt; sf::WindowBase::pollEvent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Pop the next event from the front of the FIFO event queue, if any, and return it. </p>
<p>This function is not blocking: if there's no pending event then it will return a <code>std::nullopt</code>. Note that more than one event may be present in the event queue, thus you should always call this function in a loop to make sure that you process every pending event. </p><div class="fragment"><div class="line"><span class="keywordflow">while</span> (<span class="keyword">const</span> std::optional event = window.pollEvent())</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// process event...</span></div>
<div class="line">}</div>
</div><!-- fragment --><dl class="section return"><dt>Returns</dt><dd>The event, otherwise <code>std::nullopt</code> if no events are pending</dd></dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#ab5975f6f6a06ecd6c18fa0f62cd1edf7" title="Wait for an event and return it.">waitEvent</a></code>, <code><a class="el" href="classsf_1_1WindowBase.html#ad86ae79ff4e2da25af1ca3cd06f79557" title="Handle all pending events.">handleEvents</a></code> </dd></dl>
</div>
</div>
<a id="a448770d2372d8df0a1ad6b1c7cce3c89" name="a448770d2372d8df0a1ad6b1c7cce3c89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a448770d2372d8df0a1ad6b1c7cce3c89">&#9670;&#160;</a></span>requestFocus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::requestFocus </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Request the current window to be made the active foreground window. </p>
<p>At any given time, only one window may have the input focus to receive input events such as keystrokes or mouse events. If a window requests focus, it only hints to the operating system, that it would like to be focused. The operating system is free to deny the request. This is not to be confused with <code><a class="el" href="#aaab549da64cedf74fa6f1ae7a3cc79e0" title="Activate or deactivate the window as the current target for OpenGL rendering.">setActive()</a></code>.</p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#ad87bd19e979c426cb819ccde8c95232e" title="Check whether the window has the input focus.">hasFocus</a></code> </dd></dl>
</div>
</div>
<a id="aaab549da64cedf74fa6f1ae7a3cc79e0" name="aaab549da64cedf74fa6f1ae7a3cc79e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaab549da64cedf74fa6f1ae7a3cc79e0">&#9670;&#160;</a></span>setActive()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool sf::Window::setActive </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>active</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Activate or deactivate the window as the current target for OpenGL rendering. </p>
<p>A window is active only on the current thread, if you want to make it active on another thread you have to deactivate it on the previous thread first if it was active. Only one window can be active on a thread at a time, thus the window previously active (if any) automatically gets deactivated. This is not to be confused with <code><a class="el" href="classsf_1_1WindowBase.html#a448770d2372d8df0a1ad6b1c7cce3c89" title="Request the current window to be made the active foreground window.">requestFocus()</a></code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">active</td><td><code>true</code> to activate, <code>false</code> to deactivate</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if operation was successful, <code>false</code> otherwise </dd></dl>
</div>
</div>
<a id="af4322d315baf93405bf0d5087ad5e784" name="af4322d315baf93405bf0d5087ad5e784"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4322d315baf93405bf0d5087ad5e784">&#9670;&#160;</a></span>setFramerateLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sf::Window::setFramerateLimit </td>
<td>(</td>
<td class="paramtype">unsigned int</td> <td class="paramname"><span class="paramname"><em>limit</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Limit the framerate to a maximum fixed frequency. </p>
<p>If a limit is set, the window will use a small delay after each call to <code><a class="el" href="#adabf839cb103ac96cfc82f781638772a" title="Display on screen what has been rendered to the window so far.">display()</a></code> to ensure that the current frame lasted long enough to match the framerate limit. SFML will try to match the given limit as much as it can, but since it internally uses <code><a class="el" href="group__system.html#gab8c0d1f966b4e5110fd370b662d8c11b" title="Make the current thread sleep for a given duration.">sf::sleep</a></code>, whose precision depends on the underlying OS, the results may be a little imprecise as well (for example, you can get 65 FPS when requesting 60).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">limit</td><td>Framerate limit, in frames per seconds (use 0 to disable limit) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a07ab1f9f9dc2312ad0ee83d1ffee9715" name="a07ab1f9f9dc2312ad0ee83d1ffee9715"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07ab1f9f9dc2312ad0ee83d1ffee9715">&#9670;&#160;</a></span>setIcon()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setIcon </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a></td> <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::uint8_t *</td> <td class="paramname"><span class="paramname"><em>pixels</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the window's icon. </p>
<p><code>pixels</code> must be an array of <code>size</code> pixels in 32-bits RGBA format.</p>
<p>The OS default icon is used by default.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">size</td><td>Icon's width and height, in pixels </td></tr>
<tr><td class="paramname">pixels</td><td>Pointer to the array of pixels in memory. The pixels are copied, so you need not keep the source alive after calling this function.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#accd36ae6244ae1e6d643f6c109e983f8" title="Change the title of the window.">setTitle</a></code> </dd></dl>
</div>
</div>
<a id="ad37f939b492c7ea046d4f7b45ac46df1" name="ad37f939b492c7ea046d4f7b45ac46df1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad37f939b492c7ea046d4f7b45ac46df1">&#9670;&#160;</a></span>setJoystickThreshold()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setJoystickThreshold </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>threshold</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the joystick threshold. </p>
<p>The joystick threshold is the value below which no JoystickMoved event will be generated.</p>
<p>The threshold value is 0.1 by default.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">threshold</td><td>New threshold, in the range [0, 100] </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afd1199a64d459ba531deb65f093050a6" name="afd1199a64d459ba531deb65f093050a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd1199a64d459ba531deb65f093050a6">&#9670;&#160;</a></span>setKeyRepeatEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setKeyRepeatEnabled </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>enabled</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable or disable automatic key-repeat. </p>
<p>If key repeat is enabled, you will receive repeated KeyPressed events while keeping a key pressed. If it is disabled, you will only get a single event when the key is pressed.</p>
<p>Key repeat is enabled by default.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td><code>true</code> to enable, <code>false</code> to disable </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a65f856835295a85a2959c962a1616cad" name="a65f856835295a85a2959c962a1616cad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65f856835295a85a2959c962a1616cad">&#9670;&#160;</a></span>setMaximumSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setMaximumSize </td>
<td>(</td>
<td class="paramtype">const std::optional&lt; <a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>maximumSize</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the maximum window rendering region size. </p>
<p>Pass <code>std::nullopt</code> to unset the maximum size</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">maximumSize</td><td>New maximum size, in pixels </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a742a8f386668f58fe27c0b5f5929de7e" name="a742a8f386668f58fe27c0b5f5929de7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742a8f386668f58fe27c0b5f5929de7e">&#9670;&#160;</a></span>setMinimumSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setMinimumSize </td>
<td>(</td>
<td class="paramtype">const std::optional&lt; <a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>minimumSize</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the minimum window rendering region size. </p>
<p>Pass <code>std::nullopt</code> to unset the minimum size</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">minimumSize</td><td>New minimum size, in pixels </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a07487a3c7e04472b19e96d3a602213ec" name="a07487a3c7e04472b19e96d3a602213ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07487a3c7e04472b19e96d3a602213ec">&#9670;&#160;</a></span>setMouseCursor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setMouseCursor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Cursor.html">Cursor</a> &amp;</td> <td class="paramname"><span class="paramname"><em>cursor</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the displayed cursor to a native system cursor. </p>
<p>Upon window creation, the arrow cursor is used by default.</p>
<dl class="section warning"><dt>Warning</dt><dd>The cursor must not be destroyed while in use by the window.</dd>
<dd>
Features related to <a class="el" href="classsf_1_1Cursor.html" title="Cursor defines the appearance of a system cursor.">Cursor</a> are not supported on iOS and Android.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cursor</td><td>Native system cursor type to display</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1Cursor.html#a3385d2f53bc5b3b296f0409f79a57116" title="Create a native system cursor.">sf::Cursor::createFromSystem</a></code>, <code><a class="el" href="classsf_1_1Cursor.html#a93aa2dfcc8c4f27513c6632153521fa7" title="Create a cursor with the provided image.">sf::Cursor::createFromPixels</a></code> </dd></dl>
</div>
</div>
<a id="a0023344922a1e854175c8ca22b072020" name="a0023344922a1e854175c8ca22b072020"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0023344922a1e854175c8ca22b072020">&#9670;&#160;</a></span>setMouseCursorGrabbed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setMouseCursorGrabbed </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>grabbed</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Grab or release the mouse cursor. </p>
<p>If set, grabs the mouse cursor inside this window's client area so it may no longer be moved outside its bounds. Note that grabbing is only active while the window has focus.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">grabbed</td><td><code>true</code> to enable, <code>false</code> to disable </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afa4a3372b2870294d1579d8621fe3c1a" name="afa4a3372b2870294d1579d8621fe3c1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa4a3372b2870294d1579d8621fe3c1a">&#9670;&#160;</a></span>setMouseCursorVisible()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setMouseCursorVisible </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>visible</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Show or hide the mouse cursor. </p>
<p>The mouse cursor is visible by default.</p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows, this function needs to be called from the thread that created the window.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">visible</td><td><code>true</code> to show the mouse cursor, <code>false</code> to hide it </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7282bbf43820f20f41c704c2ab5b86f8" name="a7282bbf43820f20f41c704c2ab5b86f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7282bbf43820f20f41c704c2ab5b86f8">&#9670;&#160;</a></span>setPosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setPosition </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacesf.html#af0ffe1b157a56931ee3a9a1a771a827a">Vector2i</a></td> <td class="paramname"><span class="paramname"><em>position</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the position of the window on screen. </p>
<p>This function only works for top-level windows (i.e. it will be ignored for windows created from the handle of a child window/control).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">position</td><td>New position, in pixels</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#a5ddaa5943f547645079f081422e45c81" title="Get the position of the window.">getPosition</a></code> </dd></dl>
</div>
</div>
<a id="abd2581f59f35bd379307ea5b6254631c" name="abd2581f59f35bd379307ea5b6254631c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd2581f59f35bd379307ea5b6254631c">&#9670;&#160;</a></span>setSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacesf.html#adc674b5f5c13a6734954a18e01a73b42">Vector2u</a></td> <td class="paramname"><span class="paramname"><em>size</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the size of the rendering region of the window. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">size</td><td>New size, in pixels</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#a188a482d916a972d59d6b0700132e379" title="Get the size of the rendering region of the window.">getSize</a></code> </dd></dl>
</div>
</div>
<a id="accd36ae6244ae1e6d643f6c109e983f8" name="accd36ae6244ae1e6d643f6c109e983f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accd36ae6244ae1e6d643f6c109e983f8">&#9670;&#160;</a></span>setTitle()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setTitle </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1String.html">String</a> &amp;</td> <td class="paramname"><span class="paramname"><em>title</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the title of the window. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">title</td><td>New title</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#a07ab1f9f9dc2312ad0ee83d1ffee9715" title="Change the window&#39;s icon.">setIcon</a></code> </dd></dl>
</div>
</div>
<a id="a59041c4556e0351048f8aff366034f61" name="a59041c4556e0351048f8aff366034f61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59041c4556e0351048f8aff366034f61">&#9670;&#160;</a></span>setVerticalSyncEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sf::Window::setVerticalSyncEnabled </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>enabled</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable or disable vertical synchronization. </p>
<p>Activating vertical synchronization will limit the number of frames displayed to the refresh rate of the monitor. This can avoid some visual artifacts, and limit the framerate to a good value (but not constant across different computers).</p>
<p>Vertical synchronization is disabled by default.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td><code>true</code> to enable v-sync, <code>false</code> to deactivate it </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a576488ad202cb2cd4359af94eaba4dd8" name="a576488ad202cb2cd4359af94eaba4dd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a576488ad202cb2cd4359af94eaba4dd8">&#9670;&#160;</a></span>setVisible()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void sf::WindowBase::setVisible </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>visible</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Show or hide the window. </p>
<p>The window is shown by default.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">visible</td><td><code>true</code> to show the window, <code>false</code> to hide it </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab5975f6f6a06ecd6c18fa0f62cd1edf7" name="ab5975f6f6a06ecd6c18fa0f62cd1edf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5975f6f6a06ecd6c18fa0f62cd1edf7">&#9670;&#160;</a></span>waitEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::optional&lt; <a class="el" href="classsf_1_1Event.html">Event</a> &gt; sf::WindowBase::waitEvent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1Time.html">Time</a></td> <td class="paramname"><span class="paramname"><em>timeout</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="classsf_1_1Time.html#a8db127b632fa8da21550e7282af11fa0">Time::Zero</a></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for an event and return it. </p>
<p>This function is blocking: if there's no pending event then it will wait until an event is received or until the provided timeout elapses. Only if an error or a timeout occurs the returned event will be <code>std::nullopt</code>. This function is typically used when you have a thread that is dedicated to events handling: you want to make this thread sleep as long as no new event is received. </p><div class="fragment"><div class="line"><span class="keywordflow">while</span> (<span class="keyword">const</span> std::optional event = window.waitEvent())</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// process event...</span></div>
<div class="line">}</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timeout</td><td>Maximum time to wait (<code><a class="el" href="classsf_1_1Time.html#a8db127b632fa8da21550e7282af11fa0" title="Predefined &quot;zero&quot; time value.">Time::Zero</a></code> for infinite)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The event, otherwise <code>std::nullopt</code> on timeout or if window was closed</dd></dl>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1WindowBase.html#a6090926b477e9d0a83854b94b9e1fd35" title="Pop the next event from the front of the FIFO event queue, if any, and return it.">pollEvent</a></code>, <code><a class="el" href="classsf_1_1WindowBase.html#ad86ae79ff4e2da25af1ca3cd06f79557" title="Handle all pending events.">handleEvents</a></code> </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Window_2Window_8hpp_source.html">Window/Window.hpp</a></li>
</ul>
</div><!-- contents -->
</div>
<div id="footer-container">
<div id="footer">
SFML is licensed under the terms and conditions of the <a href="https://www.sfml-dev.org/license.php">zlib/png license</a>.<br />
Copyright &copy; Laurent Gomila &nbsp;::&nbsp;
Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen</a> &nbsp;::&nbsp;
</div>
</div>
</body>
</html>