blob: b3e34ced14e2c89c8e31116eecb580c2bf800400 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Skia: SkRegion Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<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>
</div>
<div class="contents">
<h1>SkRegion Class Reference</h1><!-- doxytag: class="SkRegion" -->
<p><code>#include &lt;<a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for SkRegion:</div>
<div class="dynsection">
<div class="center"><img src="class_sk_region__coll__graph.png" border="0" usemap="#_sk_region_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="class_sk_region-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region_1_1_cliperator.html">Cliperator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region_1_1_iterator.html">Iterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region_1_1_spanerator.html">Spanerator</a></td></tr>
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="class_sk_region.html#ababf3fdf44f0fd66e3b2eeec06b036fcaeafc81f4ae36ffb3d505029a21f2fb09">kRunTypeSentinel</a> = 0x7FFFFFFF
}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a> { <br/>
&nbsp;&nbsp;<a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54aa8d813d8769e5bd03fb2584f4e83095d">kDifference_Op</a>,
<a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54aa00c0597c1fbf86c99b98c6e52a0fda6">kIntersect_Op</a>,
<a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54a17849871e8a2f1caff9f1cc7fd11106f">kUnion_Op</a>,
<a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54ad16c7158cd646c13ca5a48280179aba9">kXOR_Op</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54a17466849e3abe575fe900ad86561b28a">kReverseDifference_Op</a>,
<a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54a9de12d8ccfa287794729769e00ef8c50">kReplace_Op</a>
<br/>
}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#ad014b8a3e06722a58c9683ce3fd14ecf">RunType</a></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a3115115088b9f849cbc46799d5bc0097">SkRegion</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#ae364827fa88af24c2e7711aa01e7752f">SkRegion</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a9beeb5d259721437b2e9eb39a46c3724">SkRegion</a> (const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a1091b8697d5afb66d62c232e13234349">~SkRegion</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a485c1135c6d63bd76dec111cc9ecf11a">operator=</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a1d905dc125d8084da4a0d73f28ddbeba">set</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a3db9a52e1af89e4b592c1ae24faaaf5a">swap</a> (<a class="el" href="class_sk_region.html">SkRegion</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a8a37a95cd5691d8f19671ed3dd8f1bcb">isEmpty</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a142ac9d021a03feabca3d9d19ce7e015">isRect</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#ad398fd4bc3c32fc66951dcaf36ad430e">isComplex</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a6c665f151a3ec68278fe7617951f8bb6">getBounds</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#ac306ac885acb453627278b70b7e7f8d3">getBoundaryPath</a> (<a class="el" href="class_sk_path.html">SkPath</a> *path) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a242b7fbda5368a5ebde342c5ae939fb4">setEmpty</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a3e10b5a8e3162be012c2f637a15a3e0d">setRect</a> (const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a9e22afb304cc97b18e5422299d1c8b8b">setRect</a> (int32_t left, int32_t top, int32_t right, int32_t bottom)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#af63ae23ce29887afdc9aa2b7bef49a0d">setRegion</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a74dd9dcc02184ac459c14551a7244be7">setPath</a> (const <a class="el" href="class_sk_path.html">SkPath</a> &amp;, const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;clip)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a5c5db4570d8a266a41a3da4595965fa4">intersects</a> (const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a9dde4ba145e7faf5069803cfc1ee7426">intersects</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a416f3100f234c5fbe2720dd8ff646a90">contains</a> (int32_t x, int32_t y) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a70680841405c662f243712be37884c3e">contains</a> (const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a54860d007437cb292b2dee5a27f2f150">contains</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#ac543f4bc218ff7a85894866644f75c05">quickContains</a> (const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;r) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#ac9dd85caf83d965fe3e9815dcbf7856b">quickContains</a> (int32_t left, int32_t top, int32_t right, int32_t bottom) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#add97e4b28f04f5f2f7e9eec6b0f9ff92">quickReject</a> (const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;rect) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a524771e2805cf75e1ab831fe80c5eb4a">quickReject</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;rgn) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a0441521104a6bb409deddc2377ec8362">translate</a> (int dx, int dy)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a9fb8a67c5b2cb3cf0e6bb9a3a15c2bd3">translate</a> (int dx, int dy, <a class="el" href="class_sk_region.html">SkRegion</a> *dst) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a6e37bb62f825289a80750c69934ecf2d">op</a> (const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;rect, <a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a> op)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a5c0b336b67cb1a32e0fec91d839257da">op</a> (int left, int top, int right, int bottom, <a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a> op)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#ad9022d2967359f8afacb8a763a575b34">op</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;rgn, <a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a> op)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#acbc7ab548fb96d027bb03e6914a7446f">op</a> (const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;rect, const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;rgn, <a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#aea2f77b487cdf01f0c01586bcc08bf09">op</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;rgn, const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;rect, <a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a3418123982325709a5a45537fed1a5bf">op</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;rgna, const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;rgnb, <a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a> op)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a69edcc0377b9a78456110787183feea6">flatten</a> (void *buffer) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#aa27b48674e6b35b9880e49bcea4c4d36">unflatten</a> (const void *buffer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#af25567130943478abc67971a7eb0fd45">SkDEBUGCODE</a> (void dump() const ;) SkDEBUGCODE(void validate() const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a1f77cdaa85ada41b2aed6ca70a534ed7">SkDEBUGCODE</a> (static void UnitTest();) SkDEBUGCODE(bool debugSetRuns(const <a class="el" href="class_sk_region.html#ad014b8a3e06722a58c9683ce3fd14ecf">RunType</a> runs[]</td></tr>
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a2bb239b9a854506bd536e29ee8974168">count</a></td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#adca8a58f412881164c33de388e5db4a6">android::Region</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a49e50d174b37a9dc6f36ca204f2810b4">RunHead</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a9830fc407400559db7e7783cc10a9394">Iterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#afd55a67e94faaa7228b5824173e121d5">Spanerator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a85b7ac6f1db1f4282eb4aae2d91a93f4">SkRgnBuilder</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a479125c8c68c10041cd937d9f0a52b5d">SkFlatRegion</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#ab0f5b3bb85fc7b992ec41dc7ca5ee601">operator==</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;a, const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_region.html#a47c6ab3d49bba52a5b435e59bd56bf79">operator!=</a> (const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;a, const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;b)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The <a class="el" href="class_sk_region.html">SkRegion</a> class encapsulates the geometric region used to specify clipping areas for drawing. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00037">37</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="ad014b8a3e06722a58c9683ce3fd14ecf"></a><!-- doxytag: member="SkRegion::RunType" ref="ad014b8a3e06722a58c9683ce3fd14ecf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int32_t <a class="el" href="class_sk_region.html#ad014b8a3e06722a58c9683ce3fd14ecf">SkRegion::RunType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00039">39</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="ababf3fdf44f0fd66e3b2eeec06b036fc"></a><!-- doxytag: member="SkRegion::@9" ref="ababf3fdf44f0fd66e3b2eeec06b036fc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ababf3fdf44f0fd66e3b2eeec06b036fcaeafc81f4ae36ffb3d505029a21f2fb09"></a><!-- doxytag: member="kRunTypeSentinel" ref="ababf3fdf44f0fd66e3b2eeec06b036fcaeafc81f4ae36ffb3d505029a21f2fb09" args="" -->kRunTypeSentinel</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00040">40</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a2ced93c36095d876b020e20cf39f5b54"></a><!-- doxytag: member="SkRegion::Op" ref="a2ced93c36095d876b020e20cf39f5b54" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">SkRegion::Op</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The logical operations that can be performed when combining two regions. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a2ced93c36095d876b020e20cf39f5b54aa8d813d8769e5bd03fb2584f4e83095d"></a><!-- doxytag: member="kDifference_Op" ref="a2ced93c36095d876b020e20cf39f5b54aa8d813d8769e5bd03fb2584f4e83095d" args="" -->kDifference_Op</em>&nbsp;</td><td>
<p>subtract the op region from the first region </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a2ced93c36095d876b020e20cf39f5b54aa00c0597c1fbf86c99b98c6e52a0fda6"></a><!-- doxytag: member="kIntersect_Op" ref="a2ced93c36095d876b020e20cf39f5b54aa00c0597c1fbf86c99b98c6e52a0fda6" args="" -->kIntersect_Op</em>&nbsp;</td><td>
<p>intersect the two regions </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a2ced93c36095d876b020e20cf39f5b54a17849871e8a2f1caff9f1cc7fd11106f"></a><!-- doxytag: member="kUnion_Op" ref="a2ced93c36095d876b020e20cf39f5b54a17849871e8a2f1caff9f1cc7fd11106f" args="" -->kUnion_Op</em>&nbsp;</td><td>
<p>union (inclusive-or) the two regions </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a2ced93c36095d876b020e20cf39f5b54ad16c7158cd646c13ca5a48280179aba9"></a><!-- doxytag: member="kXOR_Op" ref="a2ced93c36095d876b020e20cf39f5b54ad16c7158cd646c13ca5a48280179aba9" args="" -->kXOR_Op</em>&nbsp;</td><td>
<p>exclusive-or the two regions </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a2ced93c36095d876b020e20cf39f5b54a17466849e3abe575fe900ad86561b28a"></a><!-- doxytag: member="kReverseDifference_Op" ref="a2ced93c36095d876b020e20cf39f5b54a17466849e3abe575fe900ad86561b28a" args="" -->kReverseDifference_Op</em>&nbsp;</td><td>
<p>subtract the first region from the op region </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a2ced93c36095d876b020e20cf39f5b54a9de12d8ccfa287794729769e00ef8c50"></a><!-- doxytag: member="kReplace_Op" ref="a2ced93c36095d876b020e20cf39f5b54a9de12d8ccfa287794729769e00ef8c50" args="" -->kReplace_Op</em>&nbsp;</td><td>
<p>replace the dst region with the op region </p>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00198">198</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3115115088b9f849cbc46799d5bc0097"></a><!-- doxytag: member="SkRegion::SkRegion" ref="a3115115088b9f849cbc46799d5bc0097" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SkRegion::SkRegion </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae364827fa88af24c2e7711aa01e7752f"></a><!-- doxytag: member="SkRegion::SkRegion" ref="ae364827fa88af24c2e7711aa01e7752f" args="(const SkRegion &amp;)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SkRegion::SkRegion </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a9beeb5d259721437b2e9eb39a46c3724"></a><!-- doxytag: member="SkRegion::SkRegion" ref="a9beeb5d259721437b2e9eb39a46c3724" args="(const SkIRect &amp;)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SkRegion::SkRegion </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [explicit]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1091b8697d5afb66d62c232e13234349"></a><!-- doxytag: member="SkRegion::~SkRegion" ref="a1091b8697d5afb66d62c232e13234349" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SkRegion::~SkRegion </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a54860d007437cb292b2dee5a27f2f150"></a><!-- doxytag: member="SkRegion::contains" ref="a54860d007437cb292b2dee5a27f2f150" args="(const SkRegion &amp;) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::contains </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if the specified region is completely inside the region. This works for simple (rectangular) and complex regions, and always returns the correct result. Note: if either region is empty, <a class="el" href="class_sk_region.html#a416f3100f234c5fbe2720dd8ff646a90">contains()</a> returns false. </p>
</div>
</div>
<a class="anchor" id="a70680841405c662f243712be37884c3e"></a><!-- doxytag: member="SkRegion::contains" ref="a70680841405c662f243712be37884c3e" args="(const SkIRect &amp;) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::contains </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if the specified rectangle is completely inside the region. This works for simple (rectangular) and complex regions, and always returns the correct result. Note: if either this region or the rectangle is empty, <a class="el" href="class_sk_region.html#a416f3100f234c5fbe2720dd8ff646a90">contains()</a> returns false. </p>
</div>
</div>
<a class="anchor" id="a416f3100f234c5fbe2720dd8ff646a90"></a><!-- doxytag: member="SkRegion::contains" ref="a416f3100f234c5fbe2720dd8ff646a90" args="(int32_t x, int32_t y) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::contains </td>
<td>(</td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>y</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if the specified x,y coordinate is inside the region. </p>
</div>
</div>
<a class="anchor" id="a69edcc0377b9a78456110787183feea6"></a><!-- doxytag: member="SkRegion::flatten" ref="a69edcc0377b9a78456110787183feea6" args="(void *buffer) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t SkRegion::flatten </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>buffer</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Write the region to the buffer, and return the number of bytes written. If buffer is NULL, it still returns the number of bytes. </p>
</div>
</div>
<a class="anchor" id="ac306ac885acb453627278b70b7e7f8d3"></a><!-- doxytag: member="SkRegion::getBoundaryPath" ref="ac306ac885acb453627278b70b7e7f8d3" args="(SkPath *path) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::getBoundaryPath </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_sk_path.html">SkPath</a> *&nbsp;</td>
<td class="paramname"> <em>path</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if the region is non-empty, and if so, sets the specified path to the boundary(s) of the region. </p>
</div>
</div>
<a class="anchor" id="a6c665f151a3ec68278fe7617951f8bb6"></a><!-- doxytag: member="SkRegion::getBounds" ref="a6c665f151a3ec68278fe7617951f8bb6" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a>&amp; SkRegion::getBounds </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return the bounds of this region. If the region is empty, returns an empty rectangle. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00079">79</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9dde4ba145e7faf5069803cfc1ee7426"></a><!-- doxytag: member="SkRegion::intersects" ref="a9dde4ba145e7faf5069803cfc1ee7426" args="(const SkRegion &amp;) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::intersects </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if the specified region has a non-empty intersection with this region. </p>
</div>
</div>
<a class="anchor" id="a5c5db4570d8a266a41a3da4595965fa4"></a><!-- doxytag: member="SkRegion::intersects" ref="a5c5db4570d8a266a41a3da4595965fa4" args="(const SkIRect &amp;) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::intersects </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if the specified rectangle has a non-empty intersection with this region. </p>
</div>
</div>
<a class="anchor" id="ad398fd4bc3c32fc66951dcaf36ad430e"></a><!-- doxytag: member="SkRegion::isComplex" ref="ad398fd4bc3c32fc66951dcaf36ad430e" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::isComplex </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if this region consists of more than 1 rectangular area </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00075">75</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8a37a95cd5691d8f19671ed3dd8f1bcb"></a><!-- doxytag: member="SkRegion::isEmpty" ref="a8a37a95cd5691d8f19671ed3dd8f1bcb" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::isEmpty </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if this region is empty </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00071">71</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a142ac9d021a03feabca3d9d19ce7e015"></a><!-- doxytag: member="SkRegion::isRect" ref="a142ac9d021a03feabca3d9d19ce7e015" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::isRect </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if this region is a single, non-empty rectangle </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00073">73</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3418123982325709a5a45537fed1a5bf"></a><!-- doxytag: member="SkRegion::op" ref="a3418123982325709a5a45537fed1a5bf" args="(const SkRegion &amp;rgna, const SkRegion &amp;rgnb, Op op)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::op </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rgna</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rgnb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a>&nbsp;</td>
<td class="paramname"> <em>op</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set this region to the result of applying the Op to the specified regions: this = (rgna op rgnb). Return true if the resulting region is non-empty. </p>
</div>
</div>
<a class="anchor" id="aea2f77b487cdf01f0c01586bcc08bf09"></a><!-- doxytag: member="SkRegion::op" ref="aea2f77b487cdf01f0c01586bcc08bf09" args="(const SkRegion &amp;rgn, const SkIRect &amp;rect, Op)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::op </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rgn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a>&nbsp;</td>
<td class="paramname"></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set this region to the result of applying the Op to the specified region and rectangle: this = (rgn op rect). Return true if the resulting region is non-empty. </p>
</div>
</div>
<a class="anchor" id="acbc7ab548fb96d027bb03e6914a7446f"></a><!-- doxytag: member="SkRegion::op" ref="acbc7ab548fb96d027bb03e6914a7446f" args="(const SkIRect &amp;rect, const SkRegion &amp;rgn, Op)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::op </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rgn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a>&nbsp;</td>
<td class="paramname"></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set this region to the result of applying the Op to the specified rectangle and region: this = (rect op rgn). Return true if the resulting region is non-empty. </p>
</div>
</div>
<a class="anchor" id="ad9022d2967359f8afacb8a763a575b34"></a><!-- doxytag: member="SkRegion::op" ref="ad9022d2967359f8afacb8a763a575b34" args="(const SkRegion &amp;rgn, Op op)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::op </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rgn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a>&nbsp;</td>
<td class="paramname"> <em>op</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set this region to the result of applying the Op to this region and the specified region: this = (this op rgn). Return true if the resulting region is non-empty. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00228">228</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5c0b336b67cb1a32e0fec91d839257da"></a><!-- doxytag: member="SkRegion::op" ref="a5c0b336b67cb1a32e0fec91d839257da" args="(int left, int top, int right, int bottom, Op op)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::op </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a>&nbsp;</td>
<td class="paramname"> <em>op</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set this region to the result of applying the Op to this region and the specified rectangle: this = (this op rect). Return true if the resulting region is non-empty. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00218">218</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6e37bb62f825289a80750c69934ecf2d"></a><!-- doxytag: member="SkRegion::op" ref="a6e37bb62f825289a80750c69934ecf2d" args="(const SkIRect &amp;rect, Op op)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::op </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_region.html#a2ced93c36095d876b020e20cf39f5b54">Op</a>&nbsp;</td>
<td class="paramname"> <em>op</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set this region to the result of applying the Op to this region and the specified rectangle: this = (this op rect). Return true if the resulting region is non-empty. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00212">212</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a485c1135c6d63bd76dec111cc9ecf11a"></a><!-- doxytag: member="SkRegion::operator=" ref="a485c1135c6d63bd76dec111cc9ecf11a" args="(const SkRegion &amp;)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_sk_region.html">SkRegion</a>&amp; SkRegion::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ac9dd85caf83d965fe3e9815dcbf7856b"></a><!-- doxytag: member="SkRegion::quickContains" ref="ac9dd85caf83d965fe3e9815dcbf7856b" args="(int32_t left, int32_t top, int32_t right, int32_t bottom) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::quickContains </td>
<td>(</td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>bottom</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if this region is a single rectangle (not complex) and the specified rectangle is contained by this region. Returning false is not a guarantee that the rectangle is not contained by this region, but return true is a guarantee that the rectangle is contained by this region. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00155">155</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac543f4bc218ff7a85894866644f75c05"></a><!-- doxytag: member="SkRegion::quickContains" ref="ac543f4bc218ff7a85894866644f75c05" args="(const SkIRect &amp;r) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::quickContains </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"> <em>r</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if this region is a single rectangle (not complex) and the specified rectangle is contained by this region. Returning false is not a guarantee that the rectangle is not contained by this region, but return true is a guarantee that the rectangle is contained by this region. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00145">145</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a524771e2805cf75e1ab831fe80c5eb4a"></a><!-- doxytag: member="SkRegion::quickReject" ref="a524771e2805cf75e1ab831fe80c5eb4a" args="(const SkRegion &amp;rgn) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::quickReject </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rgn</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if this region, or rgn, is empty, or if their bounds do not intersect. Returning false is not a guarantee that they intersect, but returning true is a guarantee that they do not. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00180">180</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="add97e4b28f04f5f2f7e9eec6b0f9ff92"></a><!-- doxytag: member="SkRegion::quickReject" ref="add97e4b28f04f5f2f7e9eec6b0f9ff92" args="(const SkIRect &amp;rect) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::quickReject </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"> <em>rect</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return true if this region is empty, or if the specified rectangle does not intersect the region. Returning false is not a guarantee that they intersect, but returning true is a guarantee that they do not. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00170">170</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1d905dc125d8084da4a0d73f28ddbeba"></a><!-- doxytag: member="SkRegion::set" ref="a1d905dc125d8084da4a0d73f28ddbeba" args="(const SkRegion &amp;src)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::set </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>src</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Replace this region with the specified region, and return true if the resulting region is non-empty. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00059">59</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a242b7fbda5368a5ebde342c5ae939fb4"></a><!-- doxytag: member="SkRegion::setEmpty" ref="a242b7fbda5368a5ebde342c5ae939fb4" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::setEmpty </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the region to be empty, and return false, since the resulting region is empty </p>
</div>
</div>
<a class="anchor" id="a74dd9dcc02184ac459c14551a7244be7"></a><!-- doxytag: member="SkRegion::setPath" ref="a74dd9dcc02184ac459c14551a7244be7" args="(const SkPath &amp;, const SkRegion &amp;clip)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::setPath </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_path.html">SkPath</a> &amp;&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>clip</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set this region to the area described by the path, clipped. Return true if the resulting region is non-empty. This produces a region that is identical to the pixels that would be drawn by the path (with no antialiasing) with the specified clip. </p>
</div>
</div>
<a class="anchor" id="a9e22afb304cc97b18e5422299d1c8b8b"></a><!-- doxytag: member="SkRegion::setRect" ref="a9e22afb304cc97b18e5422299d1c8b8b" args="(int32_t left, int32_t top, int32_t right, int32_t bottom)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::setRect </td>
<td>(</td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>bottom</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>If left &lt; right and top &lt; bottom, set this region to that rectangle and return true, otherwise set this region to empty and return false. </p>
</div>
</div>
<a class="anchor" id="a3e10b5a8e3162be012c2f637a15a3e0d"></a><!-- doxytag: member="SkRegion::setRect" ref="a3e10b5a8e3162be012c2f637a15a3e0d" args="(const SkIRect &amp;)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::setRect </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="struct_sk_i_rect.html">SkIRect</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>If rect is non-empty, set this region to that rectangle and return true, otherwise set this region to empty and return false. </p>
</div>
</div>
<a class="anchor" id="af63ae23ce29887afdc9aa2b7bef49a0d"></a><!-- doxytag: member="SkRegion::setRegion" ref="af63ae23ce29887afdc9aa2b7bef49a0d" args="(const SkRegion &amp;)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkRegion::setRegion </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set this region to the specified region, and return true if it is non-empty. </p>
</div>
</div>
<a class="anchor" id="a1f77cdaa85ada41b2aed6ca70a534ed7"></a><!-- doxytag: member="SkRegion::SkDEBUGCODE" ref="a1f77cdaa85ada41b2aed6ca70a534ed7" args="(static void UnitTest();) SkDEBUGCODE(bool debugSetRuns(const RunType runs[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SkRegion::SkDEBUGCODE </td>
<td>(</td>
<td class="paramtype">static void UnitTest();&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="af25567130943478abc67971a7eb0fd45"></a><!-- doxytag: member="SkRegion::SkDEBUGCODE" ref="af25567130943478abc67971a7eb0fd45" args="(void dump() const ;) SkDEBUGCODE(void validate() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SkRegion::SkDEBUGCODE </td>
<td>(</td>
<td class="paramtype">void dump() const ;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a3db9a52e1af89e4b592c1ae24faaaf5a"></a><!-- doxytag: member="SkRegion::swap" ref="a3db9a52e1af89e4b592c1ae24faaaf5a" args="(SkRegion &amp;)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SkRegion::swap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Swap the contents of this and the specified region. This operation is gauarenteed to never fail. </p>
</div>
</div>
<a class="anchor" id="a9fb8a67c5b2cb3cf0e6bb9a3a15c2bd3"></a><!-- doxytag: member="SkRegion::translate" ref="a9fb8a67c5b2cb3cf0e6bb9a3a15c2bd3" args="(int dx, int dy, SkRegion *dst) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SkRegion::translate </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>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_region.html">SkRegion</a> *&nbsp;</td>
<td class="paramname"> <em>dst</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Translate the region by the specified (dx, dy) amount, writing the resulting region into dst. Note: it is legal to pass this region as the dst parameter, effectively translating the region in place. If dst is null, nothing happens. </p>
</div>
</div>
<a class="anchor" id="a0441521104a6bb409deddc2377ec8362"></a><!-- doxytag: member="SkRegion::translate" ref="a0441521104a6bb409deddc2377ec8362" args="(int dx, int dy)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SkRegion::translate </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><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Translate the region by the specified (dx, dy) amount. </p>
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00187">187</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa27b48674e6b35b9880e49bcea4c4d36"></a><!-- doxytag: member="SkRegion::unflatten" ref="aa27b48674e6b35b9880e49bcea4c4d36" args="(const void *buffer)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t SkRegion::unflatten </td>
<td>(</td>
<td class="paramtype">const void *&nbsp;</td>
<td class="paramname"> <em>buffer</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initialized the region from the buffer, returning the number of bytes actually read. </p>
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="adca8a58f412881164c33de388e5db4a6"></a><!-- doxytag: member="SkRegion::android::Region" ref="adca8a58f412881164c33de388e5db4a6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend class android::Region<code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00323">323</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9830fc407400559db7e7783cc10a9394"></a><!-- doxytag: member="SkRegion::Iterator" ref="a9830fc407400559db7e7783cc10a9394" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="class_sk_region_1_1_iterator.html">Iterator</a><code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00344">344</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a47c6ab3d49bba52a5b435e59bd56bf79"></a><!-- doxytag: member="SkRegion::operator!=" ref="a47c6ab3d49bba52a5b435e59bd56bf79" args="(const SkRegion &amp;a, const SkRegion &amp;b)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>b</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00052">52</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab0f5b3bb85fc7b992ec41dc7ca5ee601"></a><!-- doxytag: member="SkRegion::operator==" ref="ab0f5b3bb85fc7b992ec41dc7ca5ee601" args="(const SkRegion &amp;a, const SkRegion &amp;b)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_sk_region.html">SkRegion</a> &amp;&nbsp;</td>
<td class="paramname"> <em>b</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a49e50d174b37a9dc6f36ca204f2810b4"></a><!-- doxytag: member="SkRegion::RunHead" ref="a49e50d174b37a9dc6f36ca204f2810b4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend struct RunHead<code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00343">343</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a479125c8c68c10041cd937d9f0a52b5d"></a><!-- doxytag: member="SkRegion::SkFlatRegion" ref="a479125c8c68c10041cd937d9f0a52b5d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend class SkFlatRegion<code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00347">347</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="a85b7ac6f1db1f4282eb4aae2d91a93f4"></a><!-- doxytag: member="SkRegion::SkRgnBuilder" ref="a85b7ac6f1db1f4282eb4aae2d91a93f4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend class SkRgnBuilder<code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00346">346</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<a class="anchor" id="afd55a67e94faaa7228b5824173e121d5"></a><!-- doxytag: member="SkRegion::Spanerator" ref="afd55a67e94faaa7228b5824173e121d5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="class_sk_region_1_1_spanerator.html">Spanerator</a><code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00345">345</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a2bb239b9a854506bd536e29ee8974168"></a><!-- doxytag: member="SkRegion::count" ref="a2bb239b9a854506bd536e29ee8974168" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="class_sk_region.html#a2bb239b9a854506bd536e29ee8974168">SkRegion::count</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_region_8h_source.html#l00312">312</a> of file <a class="el" href="_sk_region_8h_source.html">SkRegion.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/core/<a class="el" href="_sk_region_8h_source.html">SkRegion.h</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Oct 20 11:03:42 2009 for Skia by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>