<head>
<title>SFML - Simple and Fast Multimedia Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">SFML</span>
</div>
</div>
<div id="content">
<!-- Generated by Doxygen 1.8.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.htm"><span>Main Page</span></a></li>
<li><a href="modules.htm"><span>Modules</span></a></li>
<li class="current"><a href="annotated.htm"><span>Classes</span></a></li>
<li><a href="files.htm"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.htm"><span>Class List</span></a></li>
<li><a href="classes.htm"><span>Class Index</span></a></li>
<li><a href="hierarchy.htm"><span>Class Hierarchy</span></a></li>
<li><a href="functions.htm"><span>Class 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.htm">Rect</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-attribs">Public Attributes</a> |
<a href="#related">Related Functions</a> |
<a href="classsf_1_1Rect-members.htm">List of all members</a> </div>
<div class="headertitle">
<div class="title">sf::Rect< T > Class Template Reference<div class="ingroups"><a class="el" href="group__graphics.htm">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.htm#details">More...</a></p>
<p><code>#include <<a class="el" href="Rect_8hpp_source.htm">Rect.hpp</a>></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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a0f87ebaef9722a6222fd2e04ce8efb37">Rect</a> ()</td></tr>
<tr class="memdesc:a0f87ebaef9722a6222fd2e04ce8efb37"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#a0f87ebaef9722a6222fd2e04ce8efb37"></a><br/></td></tr>
<tr class="separator:a0f87ebaef9722a6222fd2e04ce8efb37"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a15cdbc5a1aed3a8fc7be1bd5004f19f9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a15cdbc5a1aed3a8fc7be1bd5004f19f9">Rect</a> (T rectLeft, T rectTop, T rectWidth, T rectHeight)</td></tr>
<tr class="memdesc:a15cdbc5a1aed3a8fc7be1bd5004f19f9"><td class="mdescLeft"> </td><td class="mdescRight">Construct the rectangle from its coordinates. <a href="#a15cdbc5a1aed3a8fc7be1bd5004f19f9"></a><br/></td></tr>
<tr class="separator:a15cdbc5a1aed3a8fc7be1bd5004f19f9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a27fdf85caa6d12caeeff78913cc59936"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a27fdf85caa6d12caeeff78913cc59936">Rect</a> (const <a class="el" href="classsf_1_1Vector2.htm">Vector2</a>< T > &position, const <a class="el" href="classsf_1_1Vector2.htm">Vector2</a>< T > &size)</td></tr>
<tr class="memdesc:a27fdf85caa6d12caeeff78913cc59936"><td class="mdescLeft"> </td><td class="mdescRight">Construct the rectangle from position and size. <a href="#a27fdf85caa6d12caeeff78913cc59936"></a><br/></td></tr>
<tr class="separator:a27fdf85caa6d12caeeff78913cc59936"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6fff2bb7e93677839461a66bc2957de0"><td class="memTemplParams" colspan="2">template<typename U > </td></tr>
<tr class="memitem:a6fff2bb7e93677839461a66bc2957de0"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a6fff2bb7e93677839461a66bc2957de0">Rect</a> (const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< U > &rectangle)</td></tr>
<tr class="memdesc:a6fff2bb7e93677839461a66bc2957de0"><td class="mdescLeft"> </td><td class="mdescRight">Construct the rectangle from another type of rectangle. <a href="#a6fff2bb7e93677839461a66bc2957de0"></a><br/></td></tr>
<tr class="separator:a6fff2bb7e93677839461a66bc2957de0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa8a5364c84de6dd5299f833b54e31ef1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#aa8a5364c84de6dd5299f833b54e31ef1">contains</a> (T x, T y) const </td></tr>
<tr class="memdesc:aa8a5364c84de6dd5299f833b54e31ef1"><td class="mdescLeft"> </td><td class="mdescRight">Check if a point is inside the rectangle's area. <a href="#aa8a5364c84de6dd5299f833b54e31ef1"></a><br/></td></tr>
<tr class="separator:aa8a5364c84de6dd5299f833b54e31ef1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a24163acdb9b2987c0ea55c201e270d41"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a24163acdb9b2987c0ea55c201e270d41">contains</a> (const <a class="el" href="classsf_1_1Vector2.htm">Vector2</a>< T > &point) const </td></tr>
<tr class="memdesc:a24163acdb9b2987c0ea55c201e270d41"><td class="mdescLeft"> </td><td class="mdescRight">Check if a point is inside the rectangle's area. <a href="#a24163acdb9b2987c0ea55c201e270d41"></a><br/></td></tr>
<tr class="separator:a24163acdb9b2987c0ea55c201e270d41"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a566740c8f58e01bb052266f47e7e1011"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a566740c8f58e01bb052266f47e7e1011">intersects</a> (const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > &rectangle) const </td></tr>
<tr class="memdesc:a566740c8f58e01bb052266f47e7e1011"><td class="mdescLeft"> </td><td class="mdescRight">Check the intersection between two rectangles. <a href="#a566740c8f58e01bb052266f47e7e1011"></a><br/></td></tr>
<tr class="separator:a566740c8f58e01bb052266f47e7e1011"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5f1874792b04c7e221bb786b31f5836e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a5f1874792b04c7e221bb786b31f5836e">intersects</a> (const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > &rectangle, <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > &intersection) const </td></tr>
<tr class="memdesc:a5f1874792b04c7e221bb786b31f5836e"><td class="mdescLeft"> </td><td class="mdescRight">Check the intersection between two rectangles. <a href="#a5f1874792b04c7e221bb786b31f5836e"></a><br/></td></tr>
<tr class="separator:a5f1874792b04c7e221bb786b31f5836e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a53956cee21c818a3355429e3662fe384"><td class="memTemplParams" colspan="2"><a class="anchor" id="a53956cee21c818a3355429e3662fe384"></a>
template<typename T > </td></tr>
<tr class="memitem:a53956cee21c818a3355429e3662fe384"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>Rect</b> (T rectLeft, T rectTop, T rectWidth, T rectHeight)</td></tr>
<tr class="separator:a53956cee21c818a3355429e3662fe384"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7e0ea3f83003ac89b11fd45d581059cc"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7e0ea3f83003ac89b11fd45d581059cc"></a>
template<typename T > </td></tr>
<tr class="memitem:a7e0ea3f83003ac89b11fd45d581059cc"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>Rect</b> (const <a class="el" href="classsf_1_1Vector2.htm">Vector2</a>< T > &position, const <a class="el" href="classsf_1_1Vector2.htm">Vector2</a>< T > &size)</td></tr>
<tr class="separator:a7e0ea3f83003ac89b11fd45d581059cc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6fff2bb7e93677839461a66bc2957de0"><td class="memTemplParams" colspan="2"><a class="anchor" id="a6fff2bb7e93677839461a66bc2957de0"></a>
template<typename U > </td></tr>
<tr class="memitem:a6fff2bb7e93677839461a66bc2957de0"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>Rect</b> (const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< U > &rectangle)</td></tr>
<tr class="separator:a6fff2bb7e93677839461a66bc2957de0"><td class="memSeparator" colspan="2"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#aa49960fa465103d9cb7069ceb25c7c32">left</a></td></tr>
<tr class="memdesc:aa49960fa465103d9cb7069ceb25c7c32"><td class="mdescLeft"> </td><td class="mdescRight">Left coordinate of the rectangle. <a href="#aa49960fa465103d9cb7069ceb25c7c32"></a><br/></td></tr>
<tr class="separator:aa49960fa465103d9cb7069ceb25c7c32"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abd3d3a2d0ad211ef0082bd0aa1a5c0e3"><td class="memItemLeft" align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#abd3d3a2d0ad211ef0082bd0aa1a5c0e3">top</a></td></tr>
<tr class="memdesc:abd3d3a2d0ad211ef0082bd0aa1a5c0e3"><td class="mdescLeft"> </td><td class="mdescRight">Top coordinate of the rectangle. <a href="#abd3d3a2d0ad211ef0082bd0aa1a5c0e3"></a><br/></td></tr>
<tr class="separator:abd3d3a2d0ad211ef0082bd0aa1a5c0e3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4dd5b9d4333bebbc51bd309298fd500f"><td class="memItemLeft" align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a4dd5b9d4333bebbc51bd309298fd500f">width</a></td></tr>
<tr class="memdesc:a4dd5b9d4333bebbc51bd309298fd500f"><td class="mdescLeft"> </td><td class="mdescRight">Width of the rectangle. <a href="#a4dd5b9d4333bebbc51bd309298fd500f"></a><br/></td></tr>
<tr class="separator:a4dd5b9d4333bebbc51bd309298fd500f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6fa0fc7de1636d78cae1a1b54eef95cd"><td class="memItemLeft" align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a6fa0fc7de1636d78cae1a1b54eef95cd">height</a></td></tr>
<tr class="memdesc:a6fa0fc7de1636d78cae1a1b54eef95cd"><td class="mdescLeft"> </td><td class="mdescRight">Height of the rectangle. <a href="#a6fa0fc7de1636d78cae1a1b54eef95cd"></a><br/></td></tr>
<tr class="separator:a6fa0fc7de1636d78cae1a1b54eef95cd"><td class="memSeparator" colspan="2"> </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<typename T > </td></tr>
<tr class="memitem:ab3488b5dbd0e587c4d7cb80605affc46"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#ab3488b5dbd0e587c4d7cb80605affc46">operator==</a> (const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > &<a class="el" href="classsf_1_1Rect.htm#aa49960fa465103d9cb7069ceb25c7c32">left</a>, const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > &right)</td></tr>
<tr class="memdesc:ab3488b5dbd0e587c4d7cb80605affc46"><td class="mdescLeft"> </td><td class="mdescRight">Overload of binary operator ==. <a href="#ab3488b5dbd0e587c4d7cb80605affc46"></a><br/></td></tr>
<tr class="separator:ab3488b5dbd0e587c4d7cb80605affc46"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a03fc4c105687b7d0f07b6b4ed4b45581"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a03fc4c105687b7d0f07b6b4ed4b45581"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Rect.htm#a03fc4c105687b7d0f07b6b4ed4b45581">operator!=</a> (const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > &<a class="el" href="classsf_1_1Rect.htm#aa49960fa465103d9cb7069ceb25c7c32">left</a>, const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > &right)</td></tr>
<tr class="memdesc:a03fc4c105687b7d0f07b6b4ed4b45581"><td class="mdescLeft"> </td><td class="mdescRight">Overload of binary operator !=. <a href="#a03fc4c105687b7d0f07b6b4ed4b45581"></a><br/></td></tr>
<tr class="separator:a03fc4c105687b7d0f07b6b4ed4b45581"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template<typename T><br/>
class sf::Rect< T ></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.htm" title="Utility template class for manipulating 2-dimensional vectors.">Vector2</a> and <a class="el" href="classsf_1_1Vector3.htm" title="Utility template class for manipulating 3-dimensional vectors.">Vector3</a>).</p>
<p>To keep things simple, <a class="el" href="classsf_1_1Rect.htm" 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.htm" 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.htm" 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 instanciations used by SFML are typedefed: </p>
<ul>
<li>sf::Rect<int> is sf::IntRect </li>
<li>sf::Rect<float> 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.htm">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.htm" title="Utility template class for manipulating 2-dimensional vectors.">sf::Vector2i</a> position(4, 2);</div>
<div class="line"><a class="code" href="classsf_1_1Vector2.htm" title="Utility template class for manipulating 2-dimensional vectors.">sf::Vector2i</a> size(18, 10);</div>
<div class="line"><a class="code" href="classsf_1_1Rect.htm">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.htm">sf::IntRect</a> result;</div>
<div class="line"><span class="keywordtype">bool</span> b3 = r1.<a class="code" href="classsf_1_1Rect.htm#a566740c8f58e01bb052266f47e7e1011" title="Check the intersection between two rectangles.">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>Definition at line <a class="el" href="Rect_8hpp_source.htm#l00042">42</a> of file <a class="el" href="Rect_8hpp_source.htm">Rect.hpp</a>.</p>
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a class="anchor" id="a0f87ebaef9722a6222fd2e04ce8efb37"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::<a class="el" href="classsf_1_1Rect.htm">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 class="anchor" id="a15cdbc5a1aed3a8fc7be1bd5004f19f9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::<a class="el" href="classsf_1_1Rect.htm">Rect</a> </td>
<td>(</td>
<td class="paramtype">T </td>
<td class="paramname"><em>rectLeft</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T </td>
<td class="paramname"><em>rectTop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T </td>
<td class="paramname"><em>rectWidth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T </td>
<td class="paramname"><em>rectHeight</em> </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 class="anchor" id="a27fdf85caa6d12caeeff78913cc59936"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::<a class="el" href="classsf_1_1Rect.htm">Rect</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Vector2.htm">Vector2</a>< T > & </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.htm">Vector2</a>< T > & </td>
<td class="paramname"><em>size</em> </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 class="anchor" id="a6fff2bb7e93677839461a66bc2957de0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<div class="memtemplate">
template<typename U > </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::<a class="el" href="classsf_1_1Rect.htm">Rect</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< U > & </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 class="anchor" id="aa8a5364c84de6dd5299f833b54e31ef1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::contains </td>
<td>(</td>
<td class="paramtype">T </td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T </td>
<td class="paramname"><em>y</em> </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>
<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.htm#a566740c8f58e01bb052266f47e7e1011" title="Check the intersection between two rectangles.">intersects</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a24163acdb9b2987c0ea55c201e270d41"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::contains </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Vector2.htm">Vector2</a>< T > & </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>
<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.htm#a566740c8f58e01bb052266f47e7e1011" title="Check the intersection between two rectangles.">intersects</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a566740c8f58e01bb052266f47e7e1011"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::intersects </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > & </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.htm#aa8a5364c84de6dd5299f833b54e31ef1" title="Check if a point is inside the rectangle's area.">contains</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a5f1874792b04c7e221bb786b31f5836e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::intersects </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsf_1_1Rect.htm">Rect</a>< T > & </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.htm">Rect</a>< T > & </td>
<td class="paramname"><em>intersection</em> </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.htm#aa8a5364c84de6dd5299f833b54e31ef1" title="Check if a point is inside the rectangle's area.">contains</a> </dd></dl>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a03fc4c105687b7d0f07b6b4ed4b45581"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T > </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.htm">Rect</a>< T > & </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.htm">Rect</a>< T > & </td>
<td class="paramname"><em>right</em> </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 class="anchor" id="ab3488b5dbd0e587c4d7cb80605affc46"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T > </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.htm">Rect</a>< T > & </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.htm">Rect</a>< T > & </td>
<td class="paramname"><em>right</em> </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 class="anchor" id="a6fa0fc7de1636d78cae1a1b54eef95cd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::height</td>
</tr>
</table>
</div><div class="memdoc">
<p>Height of the rectangle. </p>
<p>Definition at line <a class="el" href="Rect_8hpp_source.htm#l00154">154</a> of file <a class="el" href="Rect_8hpp_source.htm">Rect.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="aa49960fa465103d9cb7069ceb25c7c32"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::left</td>
</tr>
</table>
</div><div class="memdoc">
<p>Left coordinate of the rectangle. </p>
<p>Definition at line <a class="el" href="Rect_8hpp_source.htm#l00151">151</a> of file <a class="el" href="Rect_8hpp_source.htm">Rect.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="abd3d3a2d0ad211ef0082bd0aa1a5c0e3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::top</td>
</tr>
</table>
</div><div class="memdoc">
<p>Top coordinate of the rectangle. </p>
<p>Definition at line <a class="el" href="Rect_8hpp_source.htm#l00152">152</a> of file <a class="el" href="Rect_8hpp_source.htm">Rect.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a4dd5b9d4333bebbc51bd309298fd500f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classsf_1_1Rect.htm">sf::Rect</a>< T >::width</td>
</tr>
</table>
</div><div class="memdoc">
<p>Width of the rectangle. </p>
<p>Definition at line <a class="el" href="Rect_8hpp_source.htm#l00153">153</a> of file <a class="el" href="Rect_8hpp_source.htm">Rect.hpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="Rect_8hpp_source.htm">Rect.hpp</a></li>
<li><a class="el" href="Rect_8inl_source.htm">Rect.inl</a></li>
</ul>
</div><!-- contents -->
</div>
<div id="footer-container">
<div id="footer">
Copyright � Laurent Gomila ::
</div>
</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-41898676-1', 'srchub.org');
ga('send', 'pageview');