<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>cairomm: Cairo::Region Class Reference</title> <link href="cairomm.css" rel="stylesheet" type="text/css"> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceCairo.html">Cairo</a> </li> <li class="navelem"><a class="el" href="classCairo_1_1Region.html">Region</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <h1>Cairo::Region Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="Cairo::Region" --> <p>A simple graphical data type representing an area of integer-aligned rectangles. <a href="#_details">More...</a></p> <p><a href="classCairo_1_1Region-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef cairo_region_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">cobject</a></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a0e41a220dd0ef49e142d1bb3b5fb6097">Region</a> (cairo_region_t*<a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">cobject</a>, bool has_reference=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a C++ wrapper for the C instance. <a href="#a0e41a220dd0ef49e142d1bb3b5fb6097"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a50ac36bf4fa8421a46899a732689f79e">copy</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">allocates a new region object copied from the original <a href="#a50ac36bf4fa8421a46899a732689f79e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a78501f7dd77e97842b0ea09541ce4bfa">~Region</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a6887d3ff7f163446f86f1be1e254f0fe">get_extents</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the bounding rectangle of the region. <a href="#a6887d3ff7f163446f86f1be1e254f0fe"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a46601d9fc6fab9d3b9d616fe0047662f">get_num_rectangles</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the number of rectangles contained in the region. <a href="#a46601d9fc6fab9d3b9d616fe0047662f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#ae3ba3938459f4f339608ce361a72f51d">get_rectangle</a> (int nth_rectangle) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the nth rectangle from the region. <a href="#ae3ba3938459f4f339608ce361a72f51d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a7e36cf0009ed2842d58d02846dc0a8e8">empty</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the region is empty. <a href="#a7e36cf0009ed2842d58d02846dc0a8e8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceCairo.html#adcdefbdb596418377c360914ccee4aba">RegionOverlap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a2b44acd87e79e4c3f2815b9d1a6d3ac4">contains_rectangle</a> (const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& rectangle) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether <em>rectangle</em> is inside, outside, or partially contained in the region. <a href="#a2b44acd87e79e4c3f2815b9d1a6d3ac4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#ad5583f050b591f54def5af3e6d3c1a7a">contains_point</a> (int x, int y) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether (x,y) is contained in the region. <a href="#ad5583f050b591f54def5af3e6d3c1a7a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a2b234a3304e793ebe8f311c27ac0e671">translate</a> (int dx, int dy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Translates the region by (dx,dy) <a href="#a2b234a3304e793ebe8f311c27ac0e671"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a217e555bf5b8cc178b1365350205066f">subtract</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> >& other)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Subtracts <em>other</em> from this region. <a href="#a217e555bf5b8cc178b1365350205066f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a105c98b3ec5aeb37d535b68de32f82a0">subtract</a> (const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& rectangle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Subtracts <em>rectangle</em> from this region. <a href="#a105c98b3ec5aeb37d535b68de32f82a0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a19c92f7e27d934862a94dfe1630b5030">intersect</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> >& other)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the region to the intersection of this region with <em>other</em>. <a href="#a19c92f7e27d934862a94dfe1630b5030"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#aef3f748e826d3f7c6d7a8703de43a021">intersect</a> (const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& rectangle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the region to the intersection of this region with <em>rectangle</em>. <a href="#aef3f748e826d3f7c6d7a8703de43a021"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#aed4efa91fe59b807f4e4aab91d680d6f">do_union</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> >& other)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets this region to the union of the region with <em>other</em>. <a href="#aed4efa91fe59b807f4e4aab91d680d6f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a30a134ddda2390ec5cbfadc88ab18227">do_union</a> (const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& rectangle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets this region to the union of the region with <em>rectangle</em>. <a href="#a30a134ddda2390ec5cbfadc88ab18227"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a8959bebdeaf4977bc14d86bf0e3967d6">do_xor</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> >& other)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets this region to the exclusive difference of the region with <em>other</em>. <a href="#a8959bebdeaf4977bc14d86bf0e3967d6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a6c3e8695ac0313eb9342376a6cd20230">do_xor</a> (const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& rectangle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets this region to the exclusive difference of the region with <em>rectangle</em>. <a href="#a6c3e8695ac0313eb9342376a6cd20230"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">cobject</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a27dbf69c7589e421a5fb8277f88d0bce">cobj</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">cobject</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a2f51a11d2e83c84cadfaa7a21c5fd648">cobj</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a03a98d89e17b968ef79aa01781b97f22">reference</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#aeb072c6d8017cfa50c4e776ed0a7e7e7">unreference</a> () const </td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#adae23186ffcc9bbb4ee260900678c326">create</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates an empty <a class="el" href="classCairo_1_1Region.html" title="A simple graphical data type representing an area of integer-aligned rectangles.">Region</a> object. <a href="#adae23186ffcc9bbb4ee260900678c326"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a691bc737fcf6a24cdd18c65fcf33da79">create</a> (const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& rectangle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a <a class="el" href="classCairo_1_1Region.html" title="A simple graphical data type representing an area of integer-aligned rectangles.">Region</a> object containing <em>rectangle</em>. <a href="#a691bc737fcf6a24cdd18c65fcf33da79"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a0e327d4a2f49694a99f7337ac9ab73ec">create</a> (const <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00738.html">std::vector</a>< <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a> >& rects)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a <a class="el" href="classCairo_1_1Region.html" title="A simple graphical data type representing an area of integer-aligned rectangles.">Region</a> object containing the union of all given <em>rects</em>. <a href="#a0e327d4a2f49694a99f7337ac9ab73ec"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#a25b31f222d73ba28fbc87f40516032fd">create</a> (const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>* rects, int <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01182.html#ga81511cd7112567fa262b05bb22e69874">count</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a <a class="el" href="classCairo_1_1Region.html" title="A simple graphical data type representing an area of integer-aligned rectangles.">Region</a> object containing the union of all given <em>rects</em>. <a href="#a25b31f222d73ba28fbc87f40516032fd"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">cobject</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Region.html#ac06aecabce2907283147392f00c85106">m_cobject</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>A simple graphical data type representing an area of integer-aligned rectangles. </p> <p>They are often used on raster surfaces to track areas of interest, such as change or clip areas</p> <p>It allows set-theoretical operations like union and intersect to be performed on them.</p> <dl class="since"><dt><b>Since:</b></dt><dd>: 1.10 </dd></dl> </div><hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="af8c09f4cc72ba034d56a3bd60522e637"></a><!-- doxytag: member="Cairo::Region::cobject" ref="af8c09f4cc72ba034d56a3bd60522e637" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef cairo_region_t <a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">Cairo::Region::cobject</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a0e41a220dd0ef49e142d1bb3b5fb6097"></a><!-- doxytag: member="Cairo::Region::Region" ref="a0e41a220dd0ef49e142d1bb3b5fb6097" args="(cairo_region_t *cobject, bool has_reference=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Cairo::Region::Region </td> <td>(</td> <td class="paramtype">cairo_region_t * </td> <td class="paramname"><em>cobject</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>has_reference</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Create a C++ wrapper for the C instance. </p> <p>This C++ instance should then be given to a <a class="el" href="classCairo_1_1RefPtr.html" title="RefPtr<> is a reference-counting shared smartpointer.">RefPtr</a>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">cobject</td><td>The C instance. </td></tr> <tr><td class="paramname">has_reference</td><td>Whether we already have a reference. Otherwise, the constructor will take an extra reference. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a78501f7dd77e97842b0ea09541ce4bfa"></a><!-- doxytag: member="Cairo::Region::~Region" ref="a78501f7dd77e97842b0ea09541ce4bfa" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual Cairo::Region::~Region </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a27dbf69c7589e421a5fb8277f88d0bce"></a><!-- doxytag: member="Cairo::Region::cobj" ref="a27dbf69c7589e421a5fb8277f88d0bce" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">cobject</a>* Cairo::Region::cobj </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2f51a11d2e83c84cadfaa7a21c5fd648"></a><!-- doxytag: member="Cairo::Region::cobj" ref="a2f51a11d2e83c84cadfaa7a21c5fd648" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">cobject</a>* Cairo::Region::cobj </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ad5583f050b591f54def5af3e6d3c1a7a"></a><!-- doxytag: member="Cairo::Region::contains_point" ref="ad5583f050b591f54def5af3e6d3c1a7a" args="(int x, int y) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Cairo::Region::contains_point </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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>Checks whether (x,y) is contained in the region. </p> </div> </div> <a class="anchor" id="a2b44acd87e79e4c3f2815b9d1a6d3ac4"></a><!-- doxytag: member="Cairo::Region::contains_rectangle" ref="a2b44acd87e79e4c3f2815b9d1a6d3ac4" args="(const RectangleInt &rectangle) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespaceCairo.html#adcdefbdb596418377c360914ccee4aba">RegionOverlap</a> Cairo::Region::contains_rectangle </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& </td> <td class="paramname"><em>rectangle</em></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Checks whether <em>rectangle</em> is inside, outside, or partially contained in the region. </p> </div> </div> <a class="anchor" id="a50ac36bf4fa8421a46899a732689f79e"></a><!-- doxytag: member="Cairo::Region::copy" ref="a50ac36bf4fa8421a46899a732689f79e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a><<a class="el" href="classCairo_1_1Region.html">Region</a>> Cairo::Region::copy </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>allocates a new region object copied from the original </p> </div> </div> <a class="anchor" id="a25b31f222d73ba28fbc87f40516032fd"></a><!-- doxytag: member="Cairo::Region::create" ref="a25b31f222d73ba28fbc87f40516032fd" args="(const RectangleInt *rects, int count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a><<a class="el" href="classCairo_1_1Region.html">Region</a>> Cairo::Region::create </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>* </td> <td class="paramname"><em>rects</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates a <a class="el" href="classCairo_1_1Region.html" title="A simple graphical data type representing an area of integer-aligned rectangles.">Region</a> object containing the union of all given <em>rects</em>. </p> </div> </div> <a class="anchor" id="a691bc737fcf6a24cdd18c65fcf33da79"></a><!-- doxytag: member="Cairo::Region::create" ref="a691bc737fcf6a24cdd18c65fcf33da79" args="(const RectangleInt &rectangle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a><<a class="el" href="classCairo_1_1Region.html">Region</a>> Cairo::Region::create </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& </td> <td class="paramname"><em>rectangle</em></td><td>)</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates a <a class="el" href="classCairo_1_1Region.html" title="A simple graphical data type representing an area of integer-aligned rectangles.">Region</a> object containing <em>rectangle</em>. </p> </div> </div> <a class="anchor" id="adae23186ffcc9bbb4ee260900678c326"></a><!-- doxytag: member="Cairo::Region::create" ref="adae23186ffcc9bbb4ee260900678c326" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a><<a class="el" href="classCairo_1_1Region.html">Region</a>> Cairo::Region::create </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates an empty <a class="el" href="classCairo_1_1Region.html" title="A simple graphical data type representing an area of integer-aligned rectangles.">Region</a> object. </p> </div> </div> <a class="anchor" id="a0e327d4a2f49694a99f7337ac9ab73ec"></a><!-- doxytag: member="Cairo::Region::create" ref="a0e327d4a2f49694a99f7337ac9ab73ec" args="(const std::vector< RectangleInt > &rects)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a><<a class="el" href="classCairo_1_1Region.html">Region</a>> Cairo::Region::create </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00738.html">std::vector</a>< <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a> >& </td> <td class="paramname"><em>rects</em></td><td>)</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates a <a class="el" href="classCairo_1_1Region.html" title="A simple graphical data type representing an area of integer-aligned rectangles.">Region</a> object containing the union of all given <em>rects</em>. </p> </div> </div> <a class="anchor" id="aed4efa91fe59b807f4e4aab91d680d6f"></a><!-- doxytag: member="Cairo::Region::do_union" ref="aed4efa91fe59b807f4e4aab91d680d6f" args="(const RefPtr< Region > &other)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::do_union </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> >& </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets this region to the union of the region with <em>other</em>. </p> </div> </div> <a class="anchor" id="a30a134ddda2390ec5cbfadc88ab18227"></a><!-- doxytag: member="Cairo::Region::do_union" ref="a30a134ddda2390ec5cbfadc88ab18227" args="(const RectangleInt &rectangle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::do_union </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& </td> <td class="paramname"><em>rectangle</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets this region to the union of the region with <em>rectangle</em>. </p> </div> </div> <a class="anchor" id="a8959bebdeaf4977bc14d86bf0e3967d6"></a><!-- doxytag: member="Cairo::Region::do_xor" ref="a8959bebdeaf4977bc14d86bf0e3967d6" args="(const RefPtr< Region > &other)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::do_xor </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> >& </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets this region to the exclusive difference of the region with <em>other</em>. </p> <p>That is, the region will contain all areas that are in the original region or in <em>other</em>, but not in both </p> </div> </div> <a class="anchor" id="a6c3e8695ac0313eb9342376a6cd20230"></a><!-- doxytag: member="Cairo::Region::do_xor" ref="a6c3e8695ac0313eb9342376a6cd20230" args="(const RectangleInt &rectangle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::do_xor </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& </td> <td class="paramname"><em>rectangle</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets this region to the exclusive difference of the region with <em>rectangle</em>. </p> <p>That is, the region will contain all areas that are in the original region or in <em>rectangle</em>, but not in both </p> </div> </div> <a class="anchor" id="a7e36cf0009ed2842d58d02846dc0a8e8"></a><!-- doxytag: member="Cairo::Region::empty" ref="a7e36cf0009ed2842d58d02846dc0a8e8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Cairo::Region::empty </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Checks whether the region is empty. </p> </div> </div> <a class="anchor" id="a6887d3ff7f163446f86f1be1e254f0fe"></a><!-- doxytag: member="Cairo::Region::get_extents" ref="a6887d3ff7f163446f86f1be1e254f0fe" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a> Cairo::Region::get_extents </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Gets the bounding rectangle of the region. </p> </div> </div> <a class="anchor" id="a46601d9fc6fab9d3b9d616fe0047662f"></a><!-- doxytag: member="Cairo::Region::get_num_rectangles" ref="a46601d9fc6fab9d3b9d616fe0047662f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int Cairo::Region::get_num_rectangles </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Gets the number of rectangles contained in the region. </p> </div> </div> <a class="anchor" id="ae3ba3938459f4f339608ce361a72f51d"></a><!-- doxytag: member="Cairo::Region::get_rectangle" ref="ae3ba3938459f4f339608ce361a72f51d" args="(int nth_rectangle) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a> Cairo::Region::get_rectangle </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>nth_rectangle</em></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Gets the nth rectangle from the region. </p> </div> </div> <a class="anchor" id="aef3f748e826d3f7c6d7a8703de43a021"></a><!-- doxytag: member="Cairo::Region::intersect" ref="aef3f748e826d3f7c6d7a8703de43a021" args="(const RectangleInt &rectangle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::intersect </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& </td> <td class="paramname"><em>rectangle</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the region to the intersection of this region with <em>rectangle</em>. </p> </div> </div> <a class="anchor" id="a19c92f7e27d934862a94dfe1630b5030"></a><!-- doxytag: member="Cairo::Region::intersect" ref="a19c92f7e27d934862a94dfe1630b5030" args="(const RefPtr< Region > &other)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::intersect </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> >& </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the region to the intersection of this region with <em>other</em>. </p> </div> </div> <a class="anchor" id="a03a98d89e17b968ef79aa01781b97f22"></a><!-- doxytag: member="Cairo::Region::reference" ref="a03a98d89e17b968ef79aa01781b97f22" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::reference </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a217e555bf5b8cc178b1365350205066f"></a><!-- doxytag: member="Cairo::Region::subtract" ref="a217e555bf5b8cc178b1365350205066f" args="(const RefPtr< Region > &other)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::subtract </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Region.html">Region</a> >& </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Subtracts <em>other</em> from this region. </p> </div> </div> <a class="anchor" id="a105c98b3ec5aeb37d535b68de32f82a0"></a><!-- doxytag: member="Cairo::Region::subtract" ref="a105c98b3ec5aeb37d535b68de32f82a0" args="(const RectangleInt &rectangle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::subtract </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceCairo.html#afc1c428b04bf5249cb4b13ce8bf95b2c">RectangleInt</a>& </td> <td class="paramname"><em>rectangle</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Subtracts <em>rectangle</em> from this region. </p> </div> </div> <a class="anchor" id="a2b234a3304e793ebe8f311c27ac0e671"></a><!-- doxytag: member="Cairo::Region::translate" ref="a2b234a3304e793ebe8f311c27ac0e671" args="(int dx, int dy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::translate </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>dx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>dy</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Translates the region by (dx,dy) </p> </div> </div> <a class="anchor" id="aeb072c6d8017cfa50c4e776ed0a7e7e7"></a><!-- doxytag: member="Cairo::Region::unreference" ref="aeb072c6d8017cfa50c4e776ed0a7e7e7" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Region::unreference </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="ac06aecabce2907283147392f00c85106"></a><!-- doxytag: member="Cairo::Region::m_cobject" ref="ac06aecabce2907283147392f00c85106" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCairo_1_1Region.html#af8c09f4cc72ba034d56a3bd60522e637">cobject</a>* <a class="el" href="classCairo_1_1Region.html#ac06aecabce2907283147392f00c85106">Cairo::Region::m_cobject</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>cairomm/region.h</li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Mon May 9 2011 09:51:07 for cairomm by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>