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

385 lines
33 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_1Event.html">Event</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classsf_1_1Event-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">sf::Event Class Reference<div class="ingroups"><a class="el" href="group__window.html">Window module</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Defines a system event and its parameters.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="Event_8hpp_source.html">SFML/Window/Event.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1Closed.html">Closed</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structsf_1_1Event_1_1Closed.html" title="Closed event subtype.">Closed</a> event subtype. <a href="structsf_1_1Event_1_1Closed.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1FocusGained.html">FocusGained</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gained focus event subtype. <a href="structsf_1_1Event_1_1FocusGained.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1FocusLost.html">FocusLost</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lost focus event subtype. <a href="structsf_1_1Event_1_1FocusLost.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1JoystickButtonPressed.html">JoystickButtonPressed</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Joystick.html" title="Give access to the real-time state of the joysticks.">Joystick</a> button pressed event subtype. <a href="structsf_1_1Event_1_1JoystickButtonPressed.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1JoystickButtonReleased.html">JoystickButtonReleased</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Joystick.html" title="Give access to the real-time state of the joysticks.">Joystick</a> button released event subtype. <a href="structsf_1_1Event_1_1JoystickButtonReleased.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1JoystickConnected.html">JoystickConnected</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Joystick.html" title="Give access to the real-time state of the joysticks.">Joystick</a> connected event subtype. <a href="structsf_1_1Event_1_1JoystickConnected.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1JoystickDisconnected.html">JoystickDisconnected</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Joystick.html" title="Give access to the real-time state of the joysticks.">Joystick</a> disconnected event subtype. <a href="structsf_1_1Event_1_1JoystickDisconnected.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1JoystickMoved.html">JoystickMoved</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Joystick.html" title="Give access to the real-time state of the joysticks.">Joystick</a> axis move event subtype. <a href="structsf_1_1Event_1_1JoystickMoved.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1KeyPressed.html">KeyPressed</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Key pressed event subtype. <a href="structsf_1_1Event_1_1KeyPressed.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1KeyReleased.html">KeyReleased</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Key released event subtype. <a href="structsf_1_1Event_1_1KeyReleased.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1MouseButtonPressed.html">MouseButtonPressed</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Mouse.html" title="Give access to the real-time state of the mouse.">Mouse</a> button pressed event subtype. <a href="structsf_1_1Event_1_1MouseButtonPressed.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1MouseButtonReleased.html">MouseButtonReleased</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Mouse.html" title="Give access to the real-time state of the mouse.">Mouse</a> button released event subtype. <a href="structsf_1_1Event_1_1MouseButtonReleased.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1MouseEntered.html">MouseEntered</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Mouse.html" title="Give access to the real-time state of the mouse.">Mouse</a> entered event subtype. <a href="structsf_1_1Event_1_1MouseEntered.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1MouseLeft.html">MouseLeft</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Mouse.html" title="Give access to the real-time state of the mouse.">Mouse</a> left event subtype. <a href="structsf_1_1Event_1_1MouseLeft.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1MouseMoved.html">MouseMoved</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Mouse.html" title="Give access to the real-time state of the mouse.">Mouse</a> move event subtype. <a href="structsf_1_1Event_1_1MouseMoved.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1MouseMovedRaw.html">MouseMovedRaw</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Mouse.html" title="Give access to the real-time state of the mouse.">Mouse</a> move raw event subtype. <a href="structsf_1_1Event_1_1MouseMovedRaw.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1MouseWheelScrolled.html">MouseWheelScrolled</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Mouse.html" title="Give access to the real-time state of the mouse.">Mouse</a> wheel scrolled event subtype. <a href="structsf_1_1Event_1_1MouseWheelScrolled.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1Resized.html">Resized</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structsf_1_1Event_1_1Resized.html" title="Resized event subtype.">Resized</a> event subtype. <a href="structsf_1_1Event_1_1Resized.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1SensorChanged.html">SensorChanged</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Sensor.html" title="Give access to the real-time state of the sensors.">Sensor</a> event subtype. <a href="structsf_1_1Event_1_1SensorChanged.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1TextEntered.html">TextEntered</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classsf_1_1Text.html" title="Graphical text that can be drawn to a render target.">Text</a> event subtype. <a href="structsf_1_1Event_1_1TextEntered.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1TouchBegan.html">TouchBegan</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Touch.html" title="Give access to the real-time state of the touches.">Touch</a> began event subtype. <a href="structsf_1_1Event_1_1TouchBegan.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1TouchEnded.html">TouchEnded</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Touch.html" title="Give access to the real-time state of the touches.">Touch</a> ended event subtype. <a href="structsf_1_1Event_1_1TouchEnded.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf_1_1Event_1_1TouchMoved.html">TouchMoved</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespacesf_1_1Touch.html" title="Give access to the real-time state of the touches.">Touch</a> moved event subtype. <a href="structsf_1_1Event_1_1TouchMoved.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a9972ec2d645cb27f66948760d867c169" id="r_a9972ec2d645cb27f66948760d867c169"><td class="memTemplParams" colspan="2">template&lt;typename TEventSubtype &gt; </td></tr>
<tr class="memitem:a9972ec2d645cb27f66948760d867c169"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a9972ec2d645cb27f66948760d867c169">Event</a> (const TEventSubtype &amp;eventSubtype)</td></tr>
<tr class="memdesc:a9972ec2d645cb27f66948760d867c169"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct from a given <code><a class="el" href="classsf_1_1Event.html" title="Defines a system event and its parameters.">sf::Event</a></code> subtype. <br /></td></tr>
<tr class="separator:a9972ec2d645cb27f66948760d867c169"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40df10cc639742089960c7dbe9144343" id="r_a40df10cc639742089960c7dbe9144343"><td class="memTemplParams" colspan="2">template&lt;typename TEventSubtype &gt; </td></tr>
<tr class="memitem:a40df10cc639742089960c7dbe9144343"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a40df10cc639742089960c7dbe9144343">is</a> () const</td></tr>
<tr class="memdesc:a40df10cc639742089960c7dbe9144343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check current event subtype. <br /></td></tr>
<tr class="separator:a40df10cc639742089960c7dbe9144343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f7d5c82b6401ae288a252c295129a32" id="r_a2f7d5c82b6401ae288a252c295129a32"><td class="memTemplParams" colspan="2">template&lt;typename TEventSubtype &gt; </td></tr>
<tr class="memitem:a2f7d5c82b6401ae288a252c295129a32"><td class="memTemplItemLeft" align="right" valign="top">const TEventSubtype *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a2f7d5c82b6401ae288a252c295129a32">getIf</a> () const</td></tr>
<tr class="memdesc:a2f7d5c82b6401ae288a252c295129a32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to get specified event subtype. <br /></td></tr>
<tr class="separator:a2f7d5c82b6401ae288a252c295129a32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8d4d0891f8919074891416d0d6474d8" id="r_af8d4d0891f8919074891416d0d6474d8"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:af8d4d0891f8919074891416d0d6474d8"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#af8d4d0891f8919074891416d0d6474d8">visit</a> (T &amp;&amp;visitor) const</td></tr>
<tr class="memdesc:af8d4d0891f8919074891416d0d6474d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply a visitor to the event. <br /></td></tr>
<tr class="separator:af8d4d0891f8919074891416d0d6474d8"><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>Defines a system event and its parameters. </p>
<p><code><a class="el" href="classsf_1_1Event.html" title="Defines a system event and its parameters.">sf::Event</a></code> holds all the information about a system event that just happened.</p>
<p>Events are retrieved using the <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.">sf::Window::pollEvent</a></code> and <code><a class="el" href="classsf_1_1WindowBase.html#ab5975f6f6a06ecd6c18fa0f62cd1edf7" title="Wait for an event and return it.">sf::Window::waitEvent</a></code> functions.</p>
<p>A <code><a class="el" href="classsf_1_1Event.html" title="Defines a system event and its parameters.">sf::Event</a></code> instance contains the subtype of the event (mouse moved, key pressed, window closed, ...) as well as the details about this particular event. Each event corresponds to a different subtype struct which contains the data required to process that event.</p>
<p><a class="el" href="classsf_1_1Event.html" title="Defines a system event and its parameters.">Event</a> subtypes are event types belonging to <code><a class="el" href="classsf_1_1Event.html" title="Defines a system event and its parameters.">sf::Event</a></code>, such as <code><a class="el" href="structsf_1_1Event_1_1Closed.html" title="Closed event subtype.">sf::Event::Closed</a></code> or <code><a class="el" href="structsf_1_1Event_1_1MouseMoved.html" title="Mouse move event subtype.">sf::Event::MouseMoved</a></code>.</p>
<p>The way to access the current active event subtype is via <code><a class="el" href="#a2f7d5c82b6401ae288a252c295129a32" title="Attempt to get specified event subtype.">sf::Event::getIf</a></code>. This member function returns the address of the event subtype struct if the event subtype matches the active event, otherwise it returns <code>nullptr</code>.</p>
<p><code><a class="el" href="#a40df10cc639742089960c7dbe9144343" title="Check current event subtype.">sf::Event::is</a></code> is used to check the active event subtype without actually reading any of the corresponding event data.</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">// Window closed or escape key pressed: exit</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"> (event-&gt;is&lt;<a class="code hl_struct" href="structsf_1_1Event_1_1KeyPressed.html">sf::Event::KeyPressed</a>&gt;() &amp;&amp;</div>
<div class="line"> event-&gt;getIf&lt;<a class="code hl_struct" href="structsf_1_1Event_1_1KeyPressed.html">sf::Event::KeyPressed</a>&gt;()-&gt;<a class="code hl_variable" href="structsf_1_1Event_1_1KeyPressed.html#a8d0e09b379708f01b22f390810994613">code</a> == <a class="code hl_enumvalue" href="namespacesf_1_1Keyboard.html#acb4cacd7cc5802dec45724cf3314a142a013ec032d3460d4be4431c6ab1f8f224">sf::Keyboard::Key::Escape</a>))</div>
<div class="line"> window.close();</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// The window was resized</span></div>
<div class="line"> <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span>* resized = event-&gt;getIf&lt;<a class="code hl_struct" href="structsf_1_1Event_1_1Resized.html">sf::Event::Resized</a>&gt;())</div>
<div class="line"> doSomethingWithTheNewSize(resized-&gt;size);</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// etc ...</span></div>
<div class="line">}</div>
<div class="ttc" id="anamespacesf_1_1Keyboard_html_acb4cacd7cc5802dec45724cf3314a142a013ec032d3460d4be4431c6ab1f8f224"><div class="ttname"><a href="namespacesf_1_1Keyboard.html#acb4cacd7cc5802dec45724cf3314a142a013ec032d3460d4be4431c6ab1f8f224">sf::Keyboard::Key::Escape</a></div><div class="ttdeci">@ Escape</div><div class="ttdoc">The Escape key.</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 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 class="ttc" id="astructsf_1_1Event_1_1KeyPressed_html_a8d0e09b379708f01b22f390810994613"><div class="ttname"><a href="structsf_1_1Event_1_1KeyPressed.html#a8d0e09b379708f01b22f390810994613">sf::Event::KeyPressed::code</a></div><div class="ttdeci">Keyboard::Key code</div><div class="ttdoc">Code of the key that has been pressed.</div><div class="ttdef"><b>Definition</b> <a href="Event_8hpp_source.html#l00097">Event.hpp:97</a></div></div>
<div class="ttc" id="astructsf_1_1Event_1_1Resized_html"><div class="ttname"><a href="structsf_1_1Event_1_1Resized.html">sf::Event::Resized</a></div><div class="ttdoc">Resized event subtype.</div><div class="ttdef"><b>Definition</b> <a href="Event_8hpp_source.html#l00061">Event.hpp:62</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="Event_8hpp_source.html#l00046">46</a> of file <a class="el" href="Event_8hpp_source.html">Event.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9972ec2d645cb27f66948760d867c169" name="a9972ec2d645cb27f66948760d867c169"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9972ec2d645cb27f66948760d867c169">&#9670;&#160;</a></span>Event()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEventSubtype &gt; </div>
<table class="memname">
<tr>
<td class="memname">sf::Event::Event </td>
<td>(</td>
<td class="paramtype">const TEventSubtype &amp;</td> <td class="paramname"><span class="paramname"><em>eventSubtype</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct from a given <code><a class="el" href="classsf_1_1Event.html" title="Defines a system event and its parameters.">sf::Event</a></code> subtype. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">`TEventSubtype`</td><td>Type of event subtype used to construct the event</td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eventSubtype</td><td><a class="el" href="classsf_1_1Event.html" title="Defines a system event and its parameters.">Event</a> subtype instance used to construct the event </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2f7d5c82b6401ae288a252c295129a32" name="a2f7d5c82b6401ae288a252c295129a32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f7d5c82b6401ae288a252c295129a32">&#9670;&#160;</a></span>getIf()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEventSubtype &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const TEventSubtype * sf::Event::getIf </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>Attempt to get specified event subtype. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">`TEventSubtype`</td><td>Type of the desired event subtype</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Address of current event subtype, otherwise <code>nullptr</code> </dd></dl>
</div>
</div>
<a id="a40df10cc639742089960c7dbe9144343" name="a40df10cc639742089960c7dbe9144343"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40df10cc639742089960c7dbe9144343">&#9670;&#160;</a></span>is()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TEventSubtype &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool sf::Event::is </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>Check current event subtype. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">`TEventSubtype`</td><td>Type of the event subtype to check against</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the current event subtype matches given template parameter </dd></dl>
</div>
</div>
<a id="af8d4d0891f8919074891416d0d6474d8" name="af8d4d0891f8919074891416d0d6474d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8d4d0891f8919074891416d0d6474d8">&#9670;&#160;</a></span>visit()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">decltype(auto) sf::Event::visit </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;</td> <td class="paramname"><span class="paramname"><em>visitor</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Apply a visitor to the event. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">visitor</td><td>The visitor to apply</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result of applying the visitor to the event </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Event_8hpp_source.html">Event.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>