shooter/SFML/doc/html/classsf_1_1Rect.html

631 lines
35 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;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<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>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">SFML 2.5.1</span>
</div>
</div>
<div id="content">
<!-- Generated by Doxygen 1.8.14 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="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>
</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>sf</b></li><li class="navelem"><a class="el" href="classsf_1_1Rect.html">Rect</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#related">Related Functions</a> &#124;
<a href="classsf_1_1Rect-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">sf::Rect&lt; T &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__graphics.html">Graphics module</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Utility class for manipulating 2D axis aligned rectangles.
<a href="classsf_1_1Rect.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="Rect_8hpp_source.html">Rect.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0f87ebaef9722a6222fd2e04ce8efb37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a0f87ebaef9722a6222fd2e04ce8efb37">Rect</a> ()</td></tr>
<tr class="memdesc:a0f87ebaef9722a6222fd2e04ce8efb37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="#a0f87ebaef9722a6222fd2e04ce8efb37">More...</a><br /></td></tr>
<tr class="separator:a0f87ebaef9722a6222fd2e04ce8efb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15cdbc5a1aed3a8fc7be1bd5004f19f9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a15cdbc5a1aed3a8fc7be1bd5004f19f9">Rect</a> (T rectLeft, T rectTop, T rectWidth, T rectHeight)</td></tr>
<tr class="memdesc:a15cdbc5a1aed3a8fc7be1bd5004f19f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the rectangle from its coordinates. <a href="#a15cdbc5a1aed3a8fc7be1bd5004f19f9">More...</a><br /></td></tr>
<tr class="separator:a15cdbc5a1aed3a8fc7be1bd5004f19f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27fdf85caa6d12caeeff78913cc59936"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a27fdf85caa6d12caeeff78913cc59936">Rect</a> (const <a class="el" href="classsf_1_1Vector2.html">Vector2</a>&lt; T &gt; &amp;position, const <a class="el" href="classsf_1_1Vector2.html">Vector2</a>&lt; T &gt; &amp;size)</td></tr>
<tr class="memdesc:a27fdf85caa6d12caeeff78913cc59936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the rectangle from position and size. <a href="#a27fdf85caa6d12caeeff78913cc59936">More...</a><br /></td></tr>
<tr class="separator:a27fdf85caa6d12caeeff78913cc59936"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fff2bb7e93677839461a66bc2957de0"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a6fff2bb7e93677839461a66bc2957de0"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a6fff2bb7e93677839461a66bc2957de0">Rect</a> (const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; U &gt; &amp;rectangle)</td></tr>
<tr class="memdesc:a6fff2bb7e93677839461a66bc2957de0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the rectangle from another type of rectangle. <a href="#a6fff2bb7e93677839461a66bc2957de0">More...</a><br /></td></tr>
<tr class="separator:a6fff2bb7e93677839461a66bc2957de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a910b998c92756157e1407e1363f93212"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a910b998c92756157e1407e1363f93212">contains</a> (T x, T y) const</td></tr>
<tr class="memdesc:a910b998c92756157e1407e1363f93212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a point is inside the rectangle's area. <a href="#a910b998c92756157e1407e1363f93212">More...</a><br /></td></tr>
<tr class="separator:a910b998c92756157e1407e1363f93212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45c77c073a7a4d9232218ab2838f41bb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a45c77c073a7a4d9232218ab2838f41bb">contains</a> (const <a class="el" href="classsf_1_1Vector2.html">Vector2</a>&lt; T &gt; &amp;point) const</td></tr>
<tr class="memdesc:a45c77c073a7a4d9232218ab2838f41bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a point is inside the rectangle's area. <a href="#a45c77c073a7a4d9232218ab2838f41bb">More...</a><br /></td></tr>
<tr class="separator:a45c77c073a7a4d9232218ab2838f41bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac77531698f39203e4bbe023097bb6a13"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#ac77531698f39203e4bbe023097bb6a13">intersects</a> (const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;rectangle) const</td></tr>
<tr class="memdesc:ac77531698f39203e4bbe023097bb6a13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the intersection between two rectangles. <a href="#ac77531698f39203e4bbe023097bb6a13">More...</a><br /></td></tr>
<tr class="separator:ac77531698f39203e4bbe023097bb6a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad512c4a1127279e2d7464d0ace62500d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#ad512c4a1127279e2d7464d0ace62500d">intersects</a> (const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;rectangle, <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;intersection) const</td></tr>
<tr class="memdesc:ad512c4a1127279e2d7464d0ace62500d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the intersection between two rectangles. <a href="#ad512c4a1127279e2d7464d0ace62500d">More...</a><br /></td></tr>
<tr class="separator:ad512c4a1127279e2d7464d0ace62500d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa49960fa465103d9cb7069ceb25c7c32"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#aa49960fa465103d9cb7069ceb25c7c32">left</a></td></tr>
<tr class="memdesc:aa49960fa465103d9cb7069ceb25c7c32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Left coordinate of the rectangle. <a href="#aa49960fa465103d9cb7069ceb25c7c32">More...</a><br /></td></tr>
<tr class="separator:aa49960fa465103d9cb7069ceb25c7c32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd3d3a2d0ad211ef0082bd0aa1a5c0e3"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#abd3d3a2d0ad211ef0082bd0aa1a5c0e3">top</a></td></tr>
<tr class="memdesc:abd3d3a2d0ad211ef0082bd0aa1a5c0e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top coordinate of the rectangle. <a href="#abd3d3a2d0ad211ef0082bd0aa1a5c0e3">More...</a><br /></td></tr>
<tr class="separator:abd3d3a2d0ad211ef0082bd0aa1a5c0e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dd5b9d4333bebbc51bd309298fd500f"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a4dd5b9d4333bebbc51bd309298fd500f">width</a></td></tr>
<tr class="memdesc:a4dd5b9d4333bebbc51bd309298fd500f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Width of the rectangle. <a href="#a4dd5b9d4333bebbc51bd309298fd500f">More...</a><br /></td></tr>
<tr class="separator:a4dd5b9d4333bebbc51bd309298fd500f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fa0fc7de1636d78cae1a1b54eef95cd"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a6fa0fc7de1636d78cae1a1b54eef95cd">height</a></td></tr>
<tr class="memdesc:a6fa0fc7de1636d78cae1a1b54eef95cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Height of the rectangle. <a href="#a6fa0fc7de1636d78cae1a1b54eef95cd">More...</a><br /></td></tr>
<tr class="separator:a6fa0fc7de1636d78cae1a1b54eef95cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
</td></tr>
<tr class="memitem:ab3488b5dbd0e587c4d7cb80605affc46"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ab3488b5dbd0e587c4d7cb80605affc46"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#ab3488b5dbd0e587c4d7cb80605affc46">operator==</a> (const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;<a class="el" href="classsf_1_1Rect.html#aa49960fa465103d9cb7069ceb25c7c32">left</a>, const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;right)</td></tr>
<tr class="memdesc:ab3488b5dbd0e587c4d7cb80605affc46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload of binary operator ==. <a href="#ab3488b5dbd0e587c4d7cb80605affc46">More...</a><br /></td></tr>
<tr class="separator:ab3488b5dbd0e587c4d7cb80605affc46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03fc4c105687b7d0f07b6b4ed4b45581"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a03fc4c105687b7d0f07b6b4ed4b45581"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.html#a03fc4c105687b7d0f07b6b4ed4b45581">operator!=</a> (const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;<a class="el" href="classsf_1_1Rect.html#aa49960fa465103d9cb7069ceb25c7c32">left</a>, const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;right)</td></tr>
<tr class="memdesc:a03fc4c105687b7d0f07b6b4ed4b45581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload of binary operator !=. <a href="#a03fc4c105687b7d0f07b6b4ed4b45581">More...</a><br /></td></tr>
<tr class="separator:a03fc4c105687b7d0f07b6b4ed4b45581"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br />
class sf::Rect&lt; T &gt;</h3>
<p>Utility class for manipulating 2D axis aligned rectangles. </p>
<p>A rectangle is defined by its top-left corner and its size.</p>
<p>It is a very simple class defined for convenience, so its member variables (left, top, width and height) are public and can be accessed directly, just like the vector classes (<a class="el" href="classsf_1_1Vector2.html" title="Utility template class for manipulating 2-dimensional vectors. ">Vector2</a> and <a class="el" href="classsf_1_1Vector3.html" title="Utility template class for manipulating 3-dimensional vectors. ">Vector3</a>).</p>
<p>To keep things simple, <a class="el" href="classsf_1_1Rect.html" title="Utility class for manipulating 2D axis aligned rectangles. ">sf::Rect</a> doesn't define functions to emulate the properties that are not directly members (such as right, bottom, center, etc.), it rather only provides intersection functions.</p>
<p><a class="el" href="classsf_1_1Rect.html" title="Utility class for manipulating 2D axis aligned rectangles. ">sf::Rect</a> uses the usual rules for its boundaries: </p><ul>
<li>The left and top edges are included in the rectangle's area </li>
<li>The right (left + width) and bottom (top + height) edges are excluded from the rectangle's area</li>
</ul>
<p>This means that sf::IntRect(0, 0, 1, 1) and sf::IntRect(1, 1, 1, 1) don't intersect.</p>
<p><a class="el" href="classsf_1_1Rect.html" title="Utility class for manipulating 2D axis aligned rectangles. ">sf::Rect</a> is a template and may be used with any numeric type, but for simplicity the instantiations used by SFML are typedef'd: </p><ul>
<li>sf::Rect&lt;int&gt; is sf::IntRect </li>
<li>sf::Rect&lt;float&gt; is sf::FloatRect</li>
</ul>
<p>So that you don't have to care about the template syntax.</p>
<p>Usage example: </p><div class="fragment"><div class="line"><span class="comment">// Define a rectangle, located at (0, 0) with a size of 20x5</span></div><div class="line"><a class="code" href="classsf_1_1Rect.html">sf::IntRect</a> r1(0, 0, 20, 5);</div><div class="line"></div><div class="line"><span class="comment">// Define another rectangle, located at (4, 2) with a size of 18x10</span></div><div class="line"><a class="code" href="classsf_1_1Vector2.html">sf::Vector2i</a> position(4, 2);</div><div class="line"><a class="code" href="classsf_1_1Vector2.html">sf::Vector2i</a> size(18, 10);</div><div class="line"><a class="code" href="classsf_1_1Rect.html">sf::IntRect</a> r2(position, size);</div><div class="line"></div><div class="line"><span class="comment">// Test intersections with the point (3, 1)</span></div><div class="line"><span class="keywordtype">bool</span> b1 = r1.contains(3, 1); <span class="comment">// true</span></div><div class="line"><span class="keywordtype">bool</span> b2 = r2.contains(3, 1); <span class="comment">// false</span></div><div class="line"></div><div class="line"><span class="comment">// Test the intersection between r1 and r2</span></div><div class="line"><a class="code" href="classsf_1_1Rect.html">sf::IntRect</a> result;</div><div class="line"><span class="keywordtype">bool</span> b3 = r1.<a class="code" href="classsf_1_1Rect.html#ac77531698f39203e4bbe023097bb6a13">intersects</a>(r2, result); <span class="comment">// true</span></div><div class="line"><span class="comment">// result == (4, 2, 16, 3)</span></div></div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="Rect_8hpp_source.html#l00042">42</a> of file <a class="el" href="Rect_8hpp_source.html">Rect.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0f87ebaef9722a6222fd2e04ce8efb37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f87ebaef9722a6222fd2e04ce8efb37">&#9670;&nbsp;</a></span>Rect() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::<a class="el" href="classsf_1_1Rect.html">Rect</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor. </p>
<p>Creates an empty rectangle (it is equivalent to calling Rect(0, 0, 0, 0)). </p>
</div>
</div>
<a id="a15cdbc5a1aed3a8fc7be1bd5004f19f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15cdbc5a1aed3a8fc7be1bd5004f19f9">&#9670;&nbsp;</a></span>Rect() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::<a class="el" href="classsf_1_1Rect.html">Rect</a> </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>rectLeft</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>rectTop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>rectWidth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>rectHeight</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct the rectangle from its coordinates. </p>
<p>Be careful, the last two parameters are the width and height, not the right and bottom coordinates!</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rectLeft</td><td>Left coordinate of the rectangle </td></tr>
<tr><td class="paramname">rectTop</td><td>Top coordinate of the rectangle </td></tr>
<tr><td class="paramname">rectWidth</td><td>Width of the rectangle </td></tr>
<tr><td class="paramname">rectHeight</td><td>Height of the rectangle </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a27fdf85caa6d12caeeff78913cc59936"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27fdf85caa6d12caeeff78913cc59936">&#9670;&nbsp;</a></span>Rect() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::<a class="el" href="classsf_1_1Rect.html">Rect</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Vector2.html">Vector2</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>position</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1Vector2.html">Vector2</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct the rectangle from position and size. </p>
<p>Be careful, the last parameter is the size, not the bottom-right corner!</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">position</td><td>Position of the top-left corner of the rectangle </td></tr>
<tr><td class="paramname">size</td><td>Size of the rectangle </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6fff2bb7e93677839461a66bc2957de0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fff2bb7e93677839461a66bc2957de0">&#9670;&nbsp;</a></span>Rect() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::<a class="el" href="classsf_1_1Rect.html">Rect</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; U &gt; &amp;&#160;</td>
<td class="paramname"><em>rectangle</em></td><td>)</td>
<td></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 rectangle from another type of rectangle. </p>
<p>This constructor doesn't replace the copy constructor, it's called only when U != T. A call to this constructor will fail to compile if U is not convertible to T.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rectangle</td><td>Rectangle to convert </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a910b998c92756157e1407e1363f93212"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a910b998c92756157e1407e1363f93212">&#9670;&nbsp;</a></span>contains() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::contains </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a point is inside the rectangle's area. </p>
<p>This check is non-inclusive. If the point lies on the edge of the rectangle, this function will return false.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>X coordinate of the point to test </td></tr>
<tr><td class="paramname">y</td><td>Y coordinate of the point to test</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the point is inside, false otherwise</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1Rect.html#ac77531698f39203e4bbe023097bb6a13" title="Check the intersection between two rectangles. ">intersects</a> </dd></dl>
</div>
</div>
<a id="a45c77c073a7a4d9232218ab2838f41bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45c77c073a7a4d9232218ab2838f41bb">&#9670;&nbsp;</a></span>contains() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::contains </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Vector2.html">Vector2</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>point</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a point is inside the rectangle's area. </p>
<p>This check is non-inclusive. If the point lies on the edge of the rectangle, this function will return false.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">point</td><td>Point to test</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the point is inside, false otherwise</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1Rect.html#ac77531698f39203e4bbe023097bb6a13" title="Check the intersection between two rectangles. ">intersects</a> </dd></dl>
</div>
</div>
<a id="ac77531698f39203e4bbe023097bb6a13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac77531698f39203e4bbe023097bb6a13">&#9670;&nbsp;</a></span>intersects() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::intersects </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>rectangle</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check the intersection between two rectangles. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rectangle</td><td>Rectangle to test</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if rectangles overlap, false otherwise</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1Rect.html#a910b998c92756157e1407e1363f93212" title="Check if a point is inside the rectangle&#39;s area. ">contains</a> </dd></dl>
</div>
</div>
<a id="ad512c4a1127279e2d7464d0ace62500d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad512c4a1127279e2d7464d0ace62500d">&#9670;&nbsp;</a></span>intersects() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::intersects </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>rectangle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>intersection</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check the intersection between two rectangles. </p>
<p>This overload returns the overlapped rectangle in the <em>intersection</em> parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rectangle</td><td>Rectangle to test </td></tr>
<tr><td class="paramname">intersection</td><td>Rectangle to be filled with the intersection</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if rectangles overlap, false otherwise</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1Rect.html#a910b998c92756157e1407e1363f93212" title="Check if a point is inside the rectangle&#39;s area. ">contains</a> </dd></dl>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a03fc4c105687b7d0f07b6b4ed4b45581"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03fc4c105687b7d0f07b6b4ed4b45581">&#9670;&nbsp;</a></span>operator!=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overload of binary operator !=. </p>
<p>This operator compares strict difference between two rectangles.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td>Left operand (a rectangle) </td></tr>
<tr><td class="paramname">right</td><td>Right operand (a rectangle)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if <em>left</em> is not equal to <em>right</em> </dd></dl>
</div>
</div>
<a id="ab3488b5dbd0e587c4d7cb80605affc46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3488b5dbd0e587c4d7cb80605affc46">&#9670;&nbsp;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.html">Rect</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>right</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overload of binary operator ==. </p>
<p>This operator compares strict equality between two rectangles.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td>Left operand (a rectangle) </td></tr>
<tr><td class="paramname">right</td><td>Right operand (a rectangle)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if <em>left</em> is equal to <em>right</em> </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a6fa0fc7de1636d78cae1a1b54eef95cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fa0fc7de1636d78cae1a1b54eef95cd">&#9670;&nbsp;</a></span>height</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::height</td>
</tr>
</table>
</div><div class="memdoc">
<p>Height of the rectangle. </p>
<p class="definition">Definition at line <a class="el" href="Rect_8hpp_source.html#l00160">160</a> of file <a class="el" href="Rect_8hpp_source.html">Rect.hpp</a>.</p>
</div>
</div>
<a id="aa49960fa465103d9cb7069ceb25c7c32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa49960fa465103d9cb7069ceb25c7c32">&#9670;&nbsp;</a></span>left</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::left</td>
</tr>
</table>
</div><div class="memdoc">
<p>Left coordinate of the rectangle. </p>
<p class="definition">Definition at line <a class="el" href="Rect_8hpp_source.html#l00157">157</a> of file <a class="el" href="Rect_8hpp_source.html">Rect.hpp</a>.</p>
</div>
</div>
<a id="abd3d3a2d0ad211ef0082bd0aa1a5c0e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd3d3a2d0ad211ef0082bd0aa1a5c0e3">&#9670;&nbsp;</a></span>top</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::top</td>
</tr>
</table>
</div><div class="memdoc">
<p>Top coordinate of the rectangle. </p>
<p class="definition">Definition at line <a class="el" href="Rect_8hpp_source.html#l00158">158</a> of file <a class="el" href="Rect_8hpp_source.html">Rect.hpp</a>.</p>
</div>
</div>
<a id="a4dd5b9d4333bebbc51bd309298fd500f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dd5b9d4333bebbc51bd309298fd500f">&#9670;&nbsp;</a></span>width</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classsf_1_1Rect.html">sf::Rect</a>&lt; T &gt;::width</td>
</tr>
</table>
</div><div class="memdoc">
<p>Width of the rectangle. </p>
<p class="definition">Definition at line <a class="el" href="Rect_8hpp_source.html#l00159">159</a> of file <a class="el" href="Rect_8hpp_source.html">Rect.hpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Rect_8hpp_source.html">Rect.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>