Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 934

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: csRect Class Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</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="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csRect Class Reference<br>
<small>
[<a class="el" href="group__geom__utils.html">Geometry utilities</a>]</small>
</h1><!-- doxytag: class="csRect" -->Rectangle class: simple class for manipulating 2D rectangles.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="csrect_8h-source.html">csgeom/csrect.h</a>&gt;</code>
<p>

<p>
<a href="classcsRect-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#7c8f25479b5b9cb6fbdde3c82465ee18">AddAdjacent</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;rect)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds an adjacent rectangle if resulting rectangle will have a larger area.  <a href="#7c8f25479b5b9cb6fbdde3c82465ee18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#60e4ae3c22be287cfb8cc4f4bbab509b">Area</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return area of this rectangle.  <a href="#60e4ae3c22be287cfb8cc4f4bbab509b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#e0f2e59c191cf09a263f66158f47fa55">ClipLine</a> (int &amp;x1, int &amp;y1, int &amp;x2, int &amp;y2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip a line to make it fit to this rectangle.  <a href="#e0f2e59c191cf09a263f66158f47fa55"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#3cab06ef2d944365f12bc2efbbf84085">ClipLineGeneral</a> (int &amp;x1, int &amp;y1, int &amp;x2, int &amp;y2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is the same as <a class="el" href="classcsRect.html#e0f2e59c191cf09a263f66158f47fa55" title="Clip a line to make it fit to this rectangle.">ClipLine()</a> except that it doesn't check for two trivial cases (horizontal and vertical lines).  <a href="#3cab06ef2d944365f12bc2efbbf84085"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#249b3486945502a178c4a273902597a2">ClipLineSafe</a> (int &amp;x1, int &amp;y1, int &amp;x2, int &amp;y2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip a line to make it fit to this rectangle.  <a href="#249b3486945502a178c4a273902597a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#70114df6efe235c08ab7d4028289605b">Contains</a> (int x, int y) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if a point lies within rectangle bounds.  <a href="#70114df6efe235c08ab7d4028289605b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#99a92c4b49d20a3a85ab37090b316fd0">ContainsRel</a> (int x, int y) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if a relative point lies within rectangle bounds.  <a href="#99a92c4b49d20a3a85ab37090b316fd0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#59c8e8d941b8dbf9ea8f7519e3ec1811">csRect</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;copy)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#59c8e8d941b8dbf9ea8f7519e3ec1811"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#9b75ab2c728d11d459afb6ffc2aac2c9">csRect</a> (int ixmin, int iymin, int ixmax, int iymax)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new rectangle.  <a href="#9b75ab2c728d11d459afb6ffc2aac2c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#a376ff68a55bb5e5407bff2ca014db13">csRect</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a empty rectangle.  <a href="#a376ff68a55bb5e5407bff2ca014db13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#28f042ff0b2e8266797d29fbfb416ee2">Equal</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;other) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Same but compare with another <a class="el" href="classcsRect.html" title="Rectangle class: simple class for manipulating 2D rectangles.">csRect</a>.  <a href="#28f042ff0b2e8266797d29fbfb416ee2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#ee9cf05aab162768717c98f0c4a3c55a">Equal</a> (int ixmin, int iymin, int ixmax, int iymax) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if rectangle is the same.  <a href="#ee9cf05aab162768717c98f0c4a3c55a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#45b677df1a032060d9df6dcadd7f417e">Exclude</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Same but works on a <a class="el" href="classcsRect.html" title="Rectangle class: simple class for manipulating 2D rectangles.">csRect</a> argument.  <a href="#45b677df1a032060d9df6dcadd7f417e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#4b73886bde6c41668f2637b932d22f13">Exclude</a> (int ixmin, int iymin, int ixmax, int iymax)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract rectangle: find the minimal rectangle which embeds all parts of this rectangle which are not covered by given rectangle.  <a href="#4b73886bde6c41668f2637b932d22f13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#81452e0e7e3a6890afd67cff156f858b">Extend</a> (int x, int y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extend rectangle so that it will include given point.  <a href="#81452e0e7e3a6890afd67cff156f858b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#c40654ef74b63a975c7e4bdc4ced14ee">Height</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the height of rectangle.  <a href="#c40654ef74b63a975c7e4bdc4ced14ee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#821a9a7dfca9372ebaf3a158583e206c">Inset</a> (int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contracts the whole rect by n units.  <a href="#821a9a7dfca9372ebaf3a158583e206c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#b3bd31c18d8a6e659ad8c0d83d0b35f5">Intersect</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect with another rectangle.  <a href="#b3bd31c18d8a6e659ad8c0d83d0b35f5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#0e4a1a7dd653b669339bc99fba4eafa8">Intersect</a> (int ixmin, int iymin, int ixmax, int iymax)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersect with another rectangle.  <a href="#0e4a1a7dd653b669339bc99fba4eafa8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#48e22b7c66b8db0aac2d9723900b0680">Intersects</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;target) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if rectangle intersects with target.  <a href="#48e22b7c66b8db0aac2d9723900b0680"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#12ae235caf1eb1b30ce80644665209ad">IsEmpty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if rectangle is empty.  <a href="#12ae235caf1eb1b30ce80644665209ad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#d7ef8304136cc3d4b7a4fbe320900e7f">Join</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;rect)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Joins two rects by their minimum and maximum bounds.  <a href="#d7ef8304136cc3d4b7a4fbe320900e7f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#bdbba8bbcfee4fce0c1f82c0efebfff5">MakeEmpty</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make rectangle empty.  <a href="#bdbba8bbcfee4fce0c1f82c0efebfff5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#9924d0804ffbeada0a7f55a605f6b502">Move</a> (int dX, int dY)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move rectangle by deltaX, deltaY.  <a href="#9924d0804ffbeada0a7f55a605f6b502"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#4ea6880818424780ccb4b14d6b87cde2">Normalize</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalize a rectangle such that xmin &lt;= xmax and ymin &lt;= ymax.  <a href="#4ea6880818424780ccb4b14d6b87cde2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#2ec1ca26dc254478425bfcd2eed5971b">operator!=</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;rect) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test inequality of two rectangles.  <a href="#2ec1ca26dc254478425bfcd2eed5971b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#5de958974a6a3cdc1fbdcaa97169861e">operator==</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;rect) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test equality of two rectangles.  <a href="#5de958974a6a3cdc1fbdcaa97169861e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#274c1a3fd09d21c2f55ecd0d49793499">Outset</a> (int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Expands the whole rect by n units.  <a href="#274c1a3fd09d21c2f55ecd0d49793499"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#e342253839cf304143e1b95b468706bd">Set</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;target)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy rectangle.  <a href="#e342253839cf304143e1b95b468706bd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#03b3854e1b5105ae89e31fad6e40342c">Set</a> (int ixmin, int iymin, int ixmax, int iymax)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set rectangle to given ixmin,iymin,ixmax,iymax position.  <a href="#03b3854e1b5105ae89e31fad6e40342c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#b1123b6e14df91ecd657f9cfca016ea5">SetPos</a> (int x, int y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set rectangle xmin,ymin position.  <a href="#b1123b6e14df91ecd657f9cfca016ea5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#2d69bcac7242166991602b51a27cf46b">SetSize</a> (int w, int h)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set rectangle size.  <a href="#2d69bcac7242166991602b51a27cf46b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#9970c68453be51aa4265f8e8d53541fb">Subtract</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;rect)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternative subtraction: find maximal area of this rectangle that is not covered by argument.  <a href="#9970c68453be51aa4265f8e8d53541fb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#0834916fa979a8322d6cba110c3978ae">Union</a> (const <a class="el" href="classcsRect.html">csRect</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a rectangle: find minimal rectangle that embeds both given rectangles.  <a href="#0834916fa979a8322d6cba110c3978ae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#1ea68396592ac2ed4a9e9be1611325a2">Union</a> (int ixmin, int iymin, int ixmax, int iymax)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a rectangle: find minimal rectangle that embeds both given rectangles.  <a href="#1ea68396592ac2ed4a9e9be1611325a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#630af3d29f09ab394d89f3c4cf418232">Width</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the width of rectangle.  <a href="#630af3d29f09ab394d89f3c4cf418232"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#2bb5edd240fdaa06d7dd51bbab4bfb6d">~csRect</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#2bb5edd240fdaa06d7dd51bbab4bfb6d"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="43ef15d71e44265993a01c1b518fb8cf"></a><!-- doxytag: member="csRect::xmax" ref="43ef15d71e44265993a01c1b518fb8cf" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#43ef15d71e44265993a01c1b518fb8cf">xmax</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#00ea0f16c06bb426e5fa93f513344ab2">xmin</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rectangle bounds.  <a href="#00ea0f16c06bb426e5fa93f513344ab2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29ebcabf97186ccf144ec2f068e726d2"></a><!-- doxytag: member="csRect::ymax" ref="29ebcabf97186ccf144ec2f068e726d2" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#29ebcabf97186ccf144ec2f068e726d2">ymax</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a89993941d84448b7d31a757fc90aaf"></a><!-- doxytag: member="csRect::ymin" ref="8a89993941d84448b7d31a757fc90aaf" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRect.html#8a89993941d84448b7d31a757fc90aaf">ymin</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Rectangle class: simple class for manipulating 2D rectangles. 
<p>
This class is somewhat similar to Box, but uses integer coordinates.<p>
Example of a rectangle (xmin = 0, ymin = 0, xmax = 3, ymax = 2): <pre>
     0  1  2  3  4 ...
     |  |  |  |  |  |
 0 --@@@@@--+--+--
     @//|//|//@  |  |
 1 --@--+--+--@--+--+--
     @//|//|//@  |  |
 2 --@@@@@--+--+--
     |  |  |  |  |  |
 3 --+--+--+--+--+--+--
     |  |  |  |  |  |
...--+--+--+--+--+--+--
 </pre> Vertical line 'X=3' and horizontal line 'Y=2' does NOT belong to the rectangle. 
<p>Definition at line <a class="el" href="csrect_8h-source.html#l00053">53</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a376ff68a55bb5e5407bff2ca014db13"></a><!-- doxytag: member="csRect::csRect" ref="a376ff68a55bb5e5407bff2ca014db13" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csRect::csRect           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a empty rectangle. 
<p>

</div>
</div><p>
<a class="anchor" name="9b75ab2c728d11d459afb6ffc2aac2c9"></a><!-- doxytag: member="csRect::csRect" ref="9b75ab2c728d11d459afb6ffc2aac2c9" args="(int ixmin, int iymin, int ixmax, int iymax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csRect::csRect           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new rectangle. 
<p>

</div>
</div><p>
<a class="anchor" name="59c8e8d941b8dbf9ea8f7519e3ec1811"></a><!-- doxytag: member="csRect::csRect" ref="59c8e8d941b8dbf9ea8f7519e3ec1811" args="(const csRect &amp;copy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csRect::csRect           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>copy</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor. 
<p>

</div>
</div><p>
<a class="anchor" name="2bb5edd240fdaa06d7dd51bbab4bfb6d"></a><!-- doxytag: member="csRect::~csRect" ref="2bb5edd240fdaa06d7dd51bbab4bfb6d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csRect::~csRect           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="7c8f25479b5b9cb6fbdde3c82465ee18"></a><!-- doxytag: member="csRect::AddAdjacent" ref="7c8f25479b5b9cb6fbdde3c82465ee18" args="(const csRect &amp;rect)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::AddAdjacent           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rect</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds an adjacent rectangle if resulting rectangle will have a larger area. 
<p>

</div>
</div><p>
<a class="anchor" name="60e4ae3c22be287cfb8cc4f4bbab509b"></a><!-- doxytag: member="csRect::Area" ref="60e4ae3c22be287cfb8cc4f4bbab509b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int csRect::Area           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return area of this rectangle. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00181">181</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e0f2e59c191cf09a263f66158f47fa55"></a><!-- doxytag: member="csRect::ClipLine" ref="e0f2e59c191cf09a263f66158f47fa55" args="(int &amp;x1, int &amp;y1, int &amp;x2, int &amp;y2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::ClipLine           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clip a line to make it fit to this rectangle. 
<p>
This algorithm is inclusive (the clipped line will touch the borders). If this function returns false the line is fully outside the rectangle. Note: this function is only guaranteed to work correctly if the lines are not longer than an integer that fits in 16 bits. 
</div>
</div><p>
<a class="anchor" name="3cab06ef2d944365f12bc2efbbf84085"></a><!-- doxytag: member="csRect::ClipLineGeneral" ref="3cab06ef2d944365f12bc2efbbf84085" args="(int &amp;x1, int &amp;y1, int &amp;x2, int &amp;y2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::ClipLineGeneral           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function is the same as <a class="el" href="classcsRect.html#e0f2e59c191cf09a263f66158f47fa55" title="Clip a line to make it fit to this rectangle.">ClipLine()</a> except that it doesn't check for two trivial cases (horizontal and vertical lines). 
<p>
It also doesn't check if the line is fully outside the box. Note: this function is only guaranteed to work correctly if the lines are not longer than an integer that fits in 16 bits. 
</div>
</div><p>
<a class="anchor" name="249b3486945502a178c4a273902597a2"></a><!-- doxytag: member="csRect::ClipLineSafe" ref="249b3486945502a178c4a273902597a2" args="(int &amp;x1, int &amp;y1, int &amp;x2, int &amp;y2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::ClipLineSafe           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clip a line to make it fit to this rectangle. 
<p>
This algorithm is inclusive (the clipped line will touch the borders). If this function returns false the line is fully outside the rectangle. Note: this function is guaranteed to work correctly even if the integer coordinates of the line are very big. 
</div>
</div><p>
<a class="anchor" name="70114df6efe235c08ab7d4028289605b"></a><!-- doxytag: member="csRect::Contains" ref="70114df6efe235c08ab7d4028289605b" args="(int x, int y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::Contains           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if a point lies within rectangle bounds. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00158">158</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="99a92c4b49d20a3a85ab37090b316fd0"></a><!-- doxytag: member="csRect::ContainsRel" ref="99a92c4b49d20a3a85ab37090b316fd0" args="(int x, int y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::ContainsRel           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if a relative point lies within rectangle bounds. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00162">162</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="28f042ff0b2e8266797d29fbfb416ee2"></a><!-- doxytag: member="csRect::Equal" ref="28f042ff0b2e8266797d29fbfb416ee2" args="(const csRect &amp;other) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::Equal           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Same but compare with another <a class="el" href="classcsRect.html" title="Rectangle class: simple class for manipulating 2D rectangles.">csRect</a>. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00170">170</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

<p>References <a class="el" href="csrect_8h-source.html#l00057">xmax</a>, <a class="el" href="csrect_8h-source.html#l00057">xmin</a>, <a class="el" href="csrect_8h-source.html#l00057">ymax</a>, and <a class="el" href="csrect_8h-source.html#l00057">ymin</a>.</p>

</div>
</div><p>
<a class="anchor" name="ee9cf05aab162768717c98f0c4a3c55a"></a><!-- doxytag: member="csRect::Equal" ref="ee9cf05aab162768717c98f0c4a3c55a" args="(int ixmin, int iymin, int ixmax, int iymax) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::Equal           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if rectangle is the same. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00166">166</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="45b677df1a032060d9df6dcadd7f417e"></a><!-- doxytag: member="csRect::Exclude" ref="45b677df1a032060d9df6dcadd7f417e" args="(const csRect &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Exclude           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Same but works on a <a class="el" href="classcsRect.html" title="Rectangle class: simple class for manipulating 2D rectangles.">csRect</a> argument. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00102">102</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

<p>References <a class="el" href="csrect_8h-source.html#l00057">xmax</a>, <a class="el" href="csrect_8h-source.html#l00057">xmin</a>, <a class="el" href="csrect_8h-source.html#l00057">ymax</a>, and <a class="el" href="csrect_8h-source.html#l00057">ymin</a>.</p>

</div>
</div><p>
<a class="anchor" name="4b73886bde6c41668f2637b932d22f13"></a><!-- doxytag: member="csRect::Exclude" ref="4b73886bde6c41668f2637b932d22f13" args="(int ixmin, int iymin, int ixmax, int iymax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Exclude           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subtract rectangle: find the minimal rectangle which embeds all parts of this rectangle which are not covered by given rectangle. 
<p>
If rectangle is fully covered by argument, it becomes empty. 
</div>
</div><p>
<a class="anchor" name="81452e0e7e3a6890afd67cff156f858b"></a><!-- doxytag: member="csRect::Extend" ref="81452e0e7e3a6890afd67cff156f858b" args="(int x, int y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Extend           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Extend rectangle so that it will include given point. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00208">208</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c40654ef74b63a975c7e4bdc4ced14ee"></a><!-- doxytag: member="csRect::Height" ref="c40654ef74b63a975c7e4bdc4ced14ee" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int csRect::Height           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the height of rectangle. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00155">155</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="821a9a7dfca9372ebaf3a158583e206c"></a><!-- doxytag: member="csRect::Inset" ref="821a9a7dfca9372ebaf3a158583e206c" args="(int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Inset           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Contracts the whole rect by n units. 
<p>

</div>
</div><p>
<a class="anchor" name="b3bd31c18d8a6e659ad8c0d83d0b35f5"></a><!-- doxytag: member="csRect::Intersect" ref="b3bd31c18d8a6e659ad8c0d83d0b35f5" args="(const csRect &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Intersect           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect with another rectangle. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00075">75</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

<p>References <a class="el" href="csrect_8h-source.html#l00057">xmax</a>, <a class="el" href="csrect_8h-source.html#l00057">xmin</a>, <a class="el" href="csrect_8h-source.html#l00057">ymax</a>, and <a class="el" href="csrect_8h-source.html#l00057">ymin</a>.</p>

</div>
</div><p>
<a class="anchor" name="0e4a1a7dd653b669339bc99fba4eafa8"></a><!-- doxytag: member="csRect::Intersect" ref="0e4a1a7dd653b669339bc99fba4eafa8" args="(int ixmin, int iymin, int ixmax, int iymax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Intersect           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Intersect with another rectangle. 
<p>

</div>
</div><p>
<a class="anchor" name="48e22b7c66b8db0aac2d9723900b0680"></a><!-- doxytag: member="csRect::Intersects" ref="48e22b7c66b8db0aac2d9723900b0680" args="(const csRect &amp;target) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::Intersects           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>target</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if rectangle intersects with target. 
<p>

</div>
</div><p>
<a class="anchor" name="12ae235caf1eb1b30ce80644665209ad"></a><!-- doxytag: member="csRect::IsEmpty" ref="12ae235caf1eb1b30ce80644665209ad" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::IsEmpty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if rectangle is empty. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00112">112</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d7ef8304136cc3d4b7a4fbe320900e7f"></a><!-- doxytag: member="csRect::Join" ref="d7ef8304136cc3d4b7a4fbe320900e7f" args="(const csRect &amp;rect)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Join           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rect</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Joins two rects by their minimum and maximum bounds. 
<p>

</div>
</div><p>
<a class="anchor" name="bdbba8bbcfee4fce0c1f82c0efebfff5"></a><!-- doxytag: member="csRect::MakeEmpty" ref="bdbba8bbcfee4fce0c1f82c0efebfff5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::MakeEmpty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make rectangle empty. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00116">116</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9924d0804ffbeada0a7f55a605f6b502"></a><!-- doxytag: member="csRect::Move" ref="9924d0804ffbeada0a7f55a605f6b502" args="(int dX, int dY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Move           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dY</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Move rectangle by deltaX, deltaY. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00148">148</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4ea6880818424780ccb4b14d6b87cde2"></a><!-- doxytag: member="csRect::Normalize" ref="4ea6880818424780ccb4b14d6b87cde2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Normalize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Normalize a rectangle such that xmin &lt;= xmax and ymin &lt;= ymax. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00174">174</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2ec1ca26dc254478425bfcd2eed5971b"></a><!-- doxytag: member="csRect::operator!=" ref="2ec1ca26dc254478425bfcd2eed5971b" args="(const csRect &amp;rect) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rect</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test inequality of two rectangles. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00202">202</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5de958974a6a3cdc1fbdcaa97169861e"></a><!-- doxytag: member="csRect::operator==" ref="5de958974a6a3cdc1fbdcaa97169861e" args="(const csRect &amp;rect) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csRect::operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rect</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test equality of two rectangles. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00196">196</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="274c1a3fd09d21c2f55ecd0d49793499"></a><!-- doxytag: member="csRect::Outset" ref="274c1a3fd09d21c2f55ecd0d49793499" args="(int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Outset           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Expands the whole rect by n units. 
<p>

</div>
</div><p>
<a class="anchor" name="e342253839cf304143e1b95b468706bd"></a><!-- doxytag: member="csRect::Set" ref="e342253839cf304143e1b95b468706bd" args="(const csRect &amp;target)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Set           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>target</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy rectangle. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00127">127</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

<p>References <a class="el" href="csrect_8h-source.html#l00057">xmax</a>, <a class="el" href="csrect_8h-source.html#l00057">xmin</a>, <a class="el" href="csrect_8h-source.html#l00057">ymax</a>, and <a class="el" href="csrect_8h-source.html#l00057">ymin</a>.</p>

</div>
</div><p>
<a class="anchor" name="03b3854e1b5105ae89e31fad6e40342c"></a><!-- doxytag: member="csRect::Set" ref="03b3854e1b5105ae89e31fad6e40342c" args="(int ixmin, int iymin, int ixmax, int iymax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Set           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set rectangle to given ixmin,iymin,ixmax,iymax position. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00120">120</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b1123b6e14df91ecd657f9cfca016ea5"></a><!-- doxytag: member="csRect::SetPos" ref="b1123b6e14df91ecd657f9cfca016ea5" args="(int x, int y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::SetPos           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set rectangle xmin,ymin position. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00134">134</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2d69bcac7242166991602b51a27cf46b"></a><!-- doxytag: member="csRect::SetSize" ref="2d69bcac7242166991602b51a27cf46b" args="(int w, int h)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::SetSize           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set rectangle size. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00144">144</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9970c68453be51aa4265f8e8d53541fb"></a><!-- doxytag: member="csRect::Subtract" ref="9970c68453be51aa4265f8e8d53541fb" args="(const csRect &amp;rect)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Subtract           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rect</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Alternative subtraction: find maximal area of this rectangle that is not covered by argument. 
<p>

</div>
</div><p>
<a class="anchor" name="0834916fa979a8322d6cba110c3978ae"></a><!-- doxytag: member="csRect::Union" ref="0834916fa979a8322d6cba110c3978ae" args="(const csRect &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Union           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRect.html">csRect</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a rectangle: find minimal rectangle that embeds both given rectangles. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00091">91</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

<p>References <a class="el" href="csrect_8h-source.html#l00057">xmax</a>, <a class="el" href="csrect_8h-source.html#l00057">xmin</a>, <a class="el" href="csrect_8h-source.html#l00057">ymax</a>, and <a class="el" href="csrect_8h-source.html#l00057">ymin</a>.</p>

</div>
</div><p>
<a class="anchor" name="1ea68396592ac2ed4a9e9be1611325a2"></a><!-- doxytag: member="csRect::Union" ref="1ea68396592ac2ed4a9e9be1611325a2" args="(int ixmin, int iymin, int ixmax, int iymax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csRect::Union           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ixmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iymax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a rectangle: find minimal rectangle that embeds both given rectangles. 
<p>

</div>
</div><p>
<a class="anchor" name="630af3d29f09ab394d89f3c4cf418232"></a><!-- doxytag: member="csRect::Width" ref="630af3d29f09ab394d89f3c4cf418232" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int csRect::Width           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the width of rectangle. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00152">152</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="00ea0f16c06bb426e5fa93f513344ab2"></a><!-- doxytag: member="csRect::xmin" ref="00ea0f16c06bb426e5fa93f513344ab2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classcsRect.html#00ea0f16c06bb426e5fa93f513344ab2">csRect::xmin</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rectangle bounds. 
<p>

<p>Definition at line <a class="el" href="csrect_8h-source.html#l00057">57</a> of file <a class="el" href="csrect_8h-source.html">csrect.h</a>.</p>

<p>Referenced by <a class="el" href="csrect_8h-source.html#l00170">Equal()</a>, <a class="el" href="csrect_8h-source.html#l00102">Exclude()</a>, <a class="el" href="csrect_8h-source.html#l00075">Intersect()</a>, <a class="el" href="csrect_8h-source.html#l00127">Set()</a>, and <a class="el" href="csrect_8h-source.html#l00091">Union()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csgeom/<a class="el" href="csrect_8h-source.html">csrect.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>