sfmlinstaller

sfmlinstaller Mercurial Source Tree


Root/windows/doc/html/classsf_1_1Rect.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <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="http://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
        <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  :: 
                Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen</a>  :: 
            </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');
Page rendered in 0.84703s using 11 queries.
Source at commit tip created 11 years 11 months ago.
By Nathan Adams, Initial commit

Archive Download this file

Branches

Tags

Page rendered in 0.84703s using 11 queries.