1 {{+bindTo:partials.standard_nacl_article}}
2 <h1>pp::Rect Class Reference</h1>
4 {{- dummy div to appease doxygen -}}
6 <!-- Generated by Doxygen 1.7.6.1 -->
12 <div class="contents">
13 <!-- doxytag: class="pp::Rect" -->
14 <p><a href="classpp_1_1_rect-members.html">List of all members.</a></p>
16 Public Member Functions</h2><table class="memberdecls">
18 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">Rect</a> ()</td></tr>
19 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a1625c1989e873e231cac08fe0877df4a">Rect</a> (const PP_Rect &rect)</td></tr>
20 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a46617cae1905a1793ecc9ea0d2dd64e6">Rect</a> (int32_t w, int32_t h)</td></tr>
21 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a0d444f7609de3ba609a80c232aa7c857">Rect</a> (int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>, int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>, int32_t w, int32_t h)</td></tr>
22 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ac2a745a2ef59463bf9f17814035f27dd">Rect</a> (const <a class="el" href="classpp_1_1_size.html">Size</a> &s)</td></tr>
23 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8c4b37a52ccf96670b6ca1f732af07fe">Rect</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &origin, const <a class="el" href="classpp_1_1_size.html">Size</a> &<a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a>)</td></tr>
24 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">~Rect</a> ()</td></tr>
25 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a02e46c92ffedee393caff7ae0f7aca2f">operator PP_Rect</a> () const </td></tr>
26 <tr><td class="memItemLeft" align="right" valign="top">const PP_Rect & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp_rect</a> () const </td></tr>
27 <tr><td class="memItemLeft" align="right" valign="top">PP_Rect & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af278a4ae7b2a1af26a7cc8d4f0b629e6">pp_rect</a> ()</td></tr>
28 <tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a> () const </td></tr>
29 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">set_x</a> (int32_t in_x)</td></tr>
30 <tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a> () const </td></tr>
31 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">set_y</a> (int32_t in_y)</td></tr>
32 <tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">width</a> () const </td></tr>
33 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">set_width</a> (int32_t w)</td></tr>
34 <tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">height</a> () const </td></tr>
35 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">set_height</a> (int32_t h)</td></tr>
36 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a> () const </td></tr>
37 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">set_point</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &origin)</td></tr>
38 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_size.html">Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">size</a> () const </td></tr>
39 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">set_size</a> (const <a class="el" href="classpp_1_1_size.html">Size</a> &s)</td></tr>
40 <tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a> () const </td></tr>
41 <tr><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a> () const </td></tr>
42 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">SetRect</a> (int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">x</a>, int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">y</a>, int32_t w, int32_t h)</td></tr>
43 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ad19e517179cc55db2a16d317d2e8904a">SetRect</a> (const PP_Rect &rect)</td></tr>
44 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">Inset</a> (int32_t horizontal, int32_t vertical)</td></tr>
45 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a17d964545980ac3ae785ef4484c5315a">Inset</a> (int32_t left, int32_t top, int32_t <a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">right</a>, int32_t <a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">bottom</a>)</td></tr>
46 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">Offset</a> (int32_t horizontal, int32_t vertical)</td></tr>
47 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8fdc680fc8d23ca24f5a10ec93db3414">Offset</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &<a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>)</td></tr>
48 <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">IsEmpty</a> () const </td></tr>
49 <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">Contains</a> (int32_t point_x, int32_t point_y) const </td></tr>
50 <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a9386508708c88be8820bd19eedbd1862">Contains</a> (const <a class="el" href="classpp_1_1_point.html">Point</a> &<a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">point</a>) const </td></tr>
51 <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a419d8b63aafcb6626538969abcc7573a">Contains</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
52 <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">Intersects</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
53 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">Intersect</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
54 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">Union</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
55 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">Subtract</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
56 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_rect.html">Rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">AdjustToFit</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
57 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_point.html">Point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">CenterPoint</a> () const </td></tr>
58 <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">SharesEdgeWith</a> (const <a class="el" href="classpp_1_1_rect.html">Rect</a> &rect) const </td></tr>
60 <hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
61 <div class="textblock"><p>A 2 dimensional rectangle. </p>
62 <p>A rectangle is represented by x and y (which identifies the upper-left corner of the rectangle), width, and height. </p>
63 </div><hr /><h2>Constructor & Destructor Documentation</h2>
64 <a class="anchor" id="a839431b4022e2ebdba8472444035401a"></a><!-- doxytag: member="pp::Rect::Rect" ref="a839431b4022e2ebdba8472444035401a" args="()" -->
66 <div class="memproto">
67 <table class="memname">
69 <td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
71 <td class="paramname"></td><td>)</td>
72 <td><code> [inline]</code></td>
77 <p>The default constructor. </p>
78 <p>Creates a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left at 0,0 with height and width of 0. </p>
81 <a class="anchor" id="a1625c1989e873e231cac08fe0877df4a"></a><!-- doxytag: member="pp::Rect::Rect" ref="a1625c1989e873e231cac08fe0877df4a" args="(const PP_Rect &rect)" -->
83 <div class="memproto">
84 <table class="memname">
86 <td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
88 <td class="paramtype">const PP_Rect & </td>
89 <td class="paramname"><em>rect</em></td><td>)</td>
90 <td><code> [inline]</code></td>
95 <p>A constructor accepting a reference to a <code>PP_Rect and</code> converting the <code>PP_Rect</code> to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
96 <p>This is an implicit conversion constructor.</p>
97 <dl class="params"><dt><b>Parameters:</b></dt><dd>
98 <table class="params">
99 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A <code>PP_Rect</code>. </td></tr>
105 <a class="anchor" id="a46617cae1905a1793ecc9ea0d2dd64e6"></a><!-- doxytag: member="pp::Rect::Rect" ref="a46617cae1905a1793ecc9ea0d2dd64e6" args="(int32_t w, int32_t h)" -->
106 <div class="memitem">
107 <div class="memproto">
108 <table class="memname">
110 <td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
112 <td class="paramtype">int32_t </td>
113 <td class="paramname"><em>w</em>, </td>
116 <td class="paramkey"></td>
118 <td class="paramtype">int32_t </td>
119 <td class="paramname"><em>h</em> </td>
124 <td></td><td><code> [inline]</code></td>
129 <p>A constructor accepting two int32_t values for width and height and converting them to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left starting coordinate of 0,0. </p>
130 <dl class="params"><dt><b>Parameters:</b></dt><dd>
131 <table class="params">
132 <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
133 <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height. </td></tr>
139 <a class="anchor" id="a0d444f7609de3ba609a80c232aa7c857"></a><!-- doxytag: member="pp::Rect::Rect" ref="a0d444f7609de3ba609a80c232aa7c857" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
140 <div class="memitem">
141 <div class="memproto">
142 <table class="memname">
144 <td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
146 <td class="paramtype">int32_t </td>
147 <td class="paramname"><em>x</em>, </td>
150 <td class="paramkey"></td>
152 <td class="paramtype">int32_t </td>
153 <td class="paramname"><em>y</em>, </td>
156 <td class="paramkey"></td>
158 <td class="paramtype">int32_t </td>
159 <td class="paramname"><em>w</em>, </td>
162 <td class="paramkey"></td>
164 <td class="paramtype">int32_t </td>
165 <td class="paramname"><em>h</em> </td>
170 <td></td><td><code> [inline]</code></td>
175 <p>A constructor accepting four int32_t values for width, height, x, and y. </p>
176 <dl class="params"><dt><b>Parameters:</b></dt><dd>
177 <table class="params">
178 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>An int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate. </td></tr>
179 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>An int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate. </td></tr>
180 <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>An int32_t value representing a width. </td></tr>
181 <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>An int32_t value representing a height. </td></tr>
187 <a class="anchor" id="ac2a745a2ef59463bf9f17814035f27dd"></a><!-- doxytag: member="pp::Rect::Rect" ref="ac2a745a2ef59463bf9f17814035f27dd" args="(const Size &s)" -->
188 <div class="memitem">
189 <div class="memproto">
190 <table class="memname">
192 <td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
194 <td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
195 <td class="paramname"><em>s</em></td><td>)</td>
196 <td><code> [inline, explicit]</code></td>
201 <p>A constructor accepting a pointer to a <a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a> and converting the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> in the upper-left starting coordinate of 0,0. </p>
202 <dl class="params"><dt><b>Parameters:</b></dt><dd>
203 <table class="params">
204 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </td></tr>
210 <a class="anchor" id="a8c4b37a52ccf96670b6ca1f732af07fe"></a><!-- doxytag: member="pp::Rect::Rect" ref="a8c4b37a52ccf96670b6ca1f732af07fe" args="(const Point &origin, const Size &size)" -->
211 <div class="memitem">
212 <div class="memproto">
213 <table class="memname">
215 <td class="memname"><a class="el" href="classpp_1_1_rect.html#a839431b4022e2ebdba8472444035401a">pp::Rect::Rect</a> </td>
217 <td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
218 <td class="paramname"><em>origin</em>, </td>
221 <td class="paramkey"></td>
223 <td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
224 <td class="paramname"><em>size</em> </td>
229 <td></td><td><code> [inline]</code></td>
234 <p>A constructor accepting a pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the origin of the rectangle and a pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </p>
235 <dl class="params"><dt><b>Parameters:</b></dt><dd>
236 <table class="params">
237 <tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>A pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the upper-left starting coordinate. </td></tr>
238 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </td></tr>
244 <a class="anchor" id="af8bb88a4f39237b78ff8ebf5f3a429e2"></a><!-- doxytag: member="pp::Rect::~Rect" ref="af8bb88a4f39237b78ff8ebf5f3a429e2" args="()" -->
245 <div class="memitem">
246 <div class="memproto">
247 <table class="memname">
249 <td class="memname"><a class="el" href="classpp_1_1_rect.html#af8bb88a4f39237b78ff8ebf5f3a429e2">pp::Rect::~Rect</a> </td>
251 <td class="paramname"></td><td>)</td>
252 <td><code> [inline]</code></td>
260 <hr /><h2>Member Function Documentation</h2>
261 <a class="anchor" id="aa6d25f1179956e0ee13467e10d169bbc"></a><!-- doxytag: member="pp::Rect::AdjustToFit" ref="aa6d25f1179956e0ee13467e10d169bbc" args="(const Rect &rect) const " -->
262 <div class="memitem">
263 <div class="memproto">
264 <table class="memname">
266 <td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc">pp::Rect::AdjustToFit</a> </td>
268 <td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
269 <td class="paramname"><em>rect</em></td><td>)</td>
275 <p><a class="el" href="classpp_1_1_rect.html#aa6d25f1179956e0ee13467e10d169bbc" title="AdjustToFit() fits as much of the receiving rectangle within the supplied rectangle as possible...">AdjustToFit()</a> fits as much of the receiving rectangle within the supplied rectangle as possible, returning the result. </p>
276 <p>For example, if the receiver had a x-location of 2 and a width of 4, and the supplied rectangle had an x-location of 0 with a width of 5, the returned rectangle would have an x-location of 1 with a width of 4.</p>
277 <dl class="params"><dt><b>Parameters:</b></dt><dd>
278 <table class="params">
279 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
283 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the difference between this rectangle and the receiving rectangle. </dd></dl>
286 <a class="anchor" id="a2554e9d4a85d5741dd3cc4e121a15643"></a><!-- doxytag: member="pp::Rect::bottom" ref="a2554e9d4a85d5741dd3cc4e121a15643" args="() const " -->
287 <div class="memitem">
288 <div class="memproto">
289 <table class="memname">
291 <td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a2554e9d4a85d5741dd3cc4e121a15643">pp::Rect::bottom</a> </td>
293 <td class="paramname"></td><td>)</td>
294 <td> const<code> [inline]</code></td>
299 <p>Getter function to get the upper-bound for the y-coordinates of the rectangle. </p>
300 <p>Note that this coordinate value is one past the highest xy value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: <code>for (int32_t y = rect.y(); y < rect.bottom(); ++y) {}</code></p>
301 <dl class="return"><dt><b>Returns:</b></dt><dd>The value of y + height for this point. </dd></dl>
304 <a class="anchor" id="a86ceef39ee91844a877554a2e72bf49f"></a><!-- doxytag: member="pp::Rect::CenterPoint" ref="a86ceef39ee91844a877554a2e72bf49f" args="() const " -->
305 <div class="memitem">
306 <div class="memproto">
307 <table class="memname">
309 <td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f">pp::Rect::CenterPoint</a> </td>
311 <td class="paramname"></td><td>)</td>
317 <p><a class="el" href="classpp_1_1_rect.html#a86ceef39ee91844a877554a2e72bf49f" title="CenterPoint() determines the center of this rectangle.">CenterPoint()</a> determines the center of this rectangle. </p>
318 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the center of this rectangle. </dd></dl>
321 <a class="anchor" id="aae5394eb09b76d2ef7c9251b1e738a3f"></a><!-- doxytag: member="pp::Rect::Contains" ref="aae5394eb09b76d2ef7c9251b1e738a3f" args="(int32_t point_x, int32_t point_y) const " -->
322 <div class="memitem">
323 <div class="memproto">
324 <table class="memname">
326 <td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
328 <td class="paramtype">int32_t </td>
329 <td class="paramname"><em>point_x</em>, </td>
332 <td class="paramkey"></td>
334 <td class="paramtype">int32_t </td>
335 <td class="paramname"><em>point_y</em> </td>
340 <td></td><td> const</td>
345 <p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if the point identified by point_x and point_y falls inside this rectangle. </p>
346 <p>The point (x, y) is inside the rectangle, but the point (x + width, y + height) is not.</p>
347 <dl class="params"><dt><b>Parameters:</b></dt><dd>
348 <table class="params">
349 <tr><td class="paramdir">[in]</td><td class="paramname">point_x</td><td>An int32_t value representing a x value. </td></tr>
350 <tr><td class="paramdir">[in]</td><td class="paramname">point_y</td><td>An int32_t value representing a y value.</td></tr>
354 <dl class="return"><dt><b>Returns:</b></dt><dd>true if the point_x and point_y fall inside the rectangle. </dd></dl>
357 <a class="anchor" id="a9386508708c88be8820bd19eedbd1862"></a><!-- doxytag: member="pp::Rect::Contains" ref="a9386508708c88be8820bd19eedbd1862" args="(const Point &point) const " -->
358 <div class="memitem">
359 <div class="memproto">
360 <table class="memname">
362 <td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
364 <td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
365 <td class="paramname"><em>point</em></td><td>)</td>
366 <td> const<code> [inline]</code></td>
371 <p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if the specified point is contained by this rectangle. </p>
372 <dl class="params"><dt><b>Parameters:</b></dt><dd>
373 <table class="params">
374 <tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a <a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a> representing a 2D coordinate.</td></tr>
378 <dl class="return"><dt><b>Returns:</b></dt><dd>true if the point_x and point_y fall inside the rectangle. </dd></dl>
381 <a class="anchor" id="a419d8b63aafcb6626538969abcc7573a"></a><!-- doxytag: member="pp::Rect::Contains" ref="a419d8b63aafcb6626538969abcc7573a" args="(const Rect &rect) const " -->
382 <div class="memitem">
383 <div class="memproto">
384 <table class="memname">
386 <td class="memname">bool <a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f">pp::Rect::Contains</a> </td>
388 <td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
389 <td class="paramname"><em>rect</em></td><td>)</td>
395 <p><a class="el" href="classpp_1_1_rect.html#aae5394eb09b76d2ef7c9251b1e738a3f" title="Contains() determines if the point identified by point_x and point_y falls inside this rectangle...">Contains()</a> determines if this rectangle contains the specified rectangle. </p>
396 <dl class="params"><dt><b>Parameters:</b></dt><dd>
397 <table class="params">
398 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
402 <dl class="return"><dt><b>Returns:</b></dt><dd>true if the rectangle fall inside this rectangle. </dd></dl>
405 <a class="anchor" id="ab7e196b0fba7f34246bf8106f562ff34"></a><!-- doxytag: member="pp::Rect::height" ref="ab7e196b0fba7f34246bf8106f562ff34" args="() const " -->
406 <div class="memitem">
407 <div class="memproto">
408 <table class="memname">
410 <td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#ab7e196b0fba7f34246bf8106f562ff34">pp::Rect::height</a> </td>
412 <td class="paramname"></td><td>)</td>
413 <td> const<code> [inline]</code></td>
418 <p>Getter function for returning the value of height. </p>
419 <dl class="return"><dt><b>Returns:</b></dt><dd>The value of height for this <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </dd></dl>
422 <a class="anchor" id="a83e4d334a41b6d612f1f18ea958767f7"></a><!-- doxytag: member="pp::Rect::Inset" ref="a83e4d334a41b6d612f1f18ea958767f7" args="(int32_t horizontal, int32_t vertical)" -->
423 <div class="memitem">
424 <div class="memproto">
425 <table class="memname">
427 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">pp::Rect::Inset</a> </td>
429 <td class="paramtype">int32_t </td>
430 <td class="paramname"><em>horizontal</em>, </td>
433 <td class="paramkey"></td>
435 <td class="paramtype">int32_t </td>
436 <td class="paramname"><em>vertical</em> </td>
441 <td></td><td><code> [inline]</code></td>
446 <p><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7" title="Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.">Inset()</a> shrinks the rectangle by a horizontal and vertical distance on all sides. </p>
447 <dl class="params"><dt><b>Parameters:</b></dt><dd>
448 <table class="params">
449 <tr><td class="paramdir">[in]</td><td class="paramname">horizontal</td><td>An int32_t value representing a horizontal shrinking distance. </td></tr>
450 <tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>An int32_t value representing a vertical shrinking distance. </td></tr>
456 <a class="anchor" id="a17d964545980ac3ae785ef4484c5315a"></a><!-- doxytag: member="pp::Rect::Inset" ref="a17d964545980ac3ae785ef4484c5315a" args="(int32_t left, int32_t top, int32_t right, int32_t bottom)" -->
457 <div class="memitem">
458 <div class="memproto">
459 <table class="memname">
461 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7">pp::Rect::Inset</a> </td>
463 <td class="paramtype">int32_t </td>
464 <td class="paramname"><em>left</em>, </td>
467 <td class="paramkey"></td>
469 <td class="paramtype">int32_t </td>
470 <td class="paramname"><em>top</em>, </td>
473 <td class="paramkey"></td>
475 <td class="paramtype">int32_t </td>
476 <td class="paramname"><em>right</em>, </td>
479 <td class="paramkey"></td>
481 <td class="paramtype">int32_t </td>
482 <td class="paramname"><em>bottom</em> </td>
492 <p><a class="el" href="classpp_1_1_rect.html#a83e4d334a41b6d612f1f18ea958767f7" title="Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.">Inset()</a> shrinks the rectangle by the specified amount on each side. </p>
493 <dl class="params"><dt><b>Parameters:</b></dt><dd>
494 <table class="params">
495 <tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>An int32_t value representing a left shrinking distance. </td></tr>
496 <tr><td class="paramdir">[in]</td><td class="paramname">top</td><td>An int32_t value representing a top shrinking distance. </td></tr>
497 <tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>An int32_t value representing a right shrinking distance. </td></tr>
498 <tr><td class="paramdir">[in]</td><td class="paramname">bottom</td><td>An int32_t value representing a bottom shrinking distance. </td></tr>
504 <a class="anchor" id="af903bf60faa68544372f5a58b00144aa"></a><!-- doxytag: member="pp::Rect::Intersect" ref="af903bf60faa68544372f5a58b00144aa" args="(const Rect &rect) const " -->
505 <div class="memitem">
506 <div class="memproto">
507 <table class="memname">
509 <td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa">pp::Rect::Intersect</a> </td>
511 <td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
512 <td class="paramname"><em>rect</em></td><td>)</td>
518 <p><a class="el" href="classpp_1_1_rect.html#af903bf60faa68544372f5a58b00144aa" title="Intersect() computes the intersection of this rectangle with the given rectangle.">Intersect()</a> computes the intersection of this rectangle with the given rectangle. </p>
519 <dl class="params"><dt><b>Parameters:</b></dt><dd>
520 <table class="params">
521 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
525 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the intersection. </dd></dl>
528 <a class="anchor" id="a32a682a28a1de0b7fa5793a3660514b0"></a><!-- doxytag: member="pp::Rect::Intersects" ref="a32a682a28a1de0b7fa5793a3660514b0" args="(const Rect &rect) const " -->
529 <div class="memitem">
530 <div class="memproto">
531 <table class="memname">
533 <td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0">pp::Rect::Intersects</a> </td>
535 <td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
536 <td class="paramname"><em>rect</em></td><td>)</td>
542 <p><a class="el" href="classpp_1_1_rect.html#a32a682a28a1de0b7fa5793a3660514b0" title="Intersects() determines if this rectangle intersects the specified rectangle.">Intersects()</a> determines if this rectangle intersects the specified rectangle. </p>
543 <dl class="params"><dt><b>Parameters:</b></dt><dd>
544 <table class="params">
545 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
549 <dl class="return"><dt><b>Returns:</b></dt><dd>true if the rectangle intersects this rectangle. </dd></dl>
552 <a class="anchor" id="a8092af1866d23f91f517058b4f612eb5"></a><!-- doxytag: member="pp::Rect::IsEmpty" ref="a8092af1866d23f91f517058b4f612eb5" args="() const " -->
553 <div class="memitem">
554 <div class="memproto">
555 <table class="memname">
557 <td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5">pp::Rect::IsEmpty</a> </td>
559 <td class="paramname"></td><td>)</td>
560 <td> const<code> [inline]</code></td>
565 <p><a class="el" href="classpp_1_1_rect.html#a8092af1866d23f91f517058b4f612eb5" title="IsEmpty() determines if the area of a rectangle is zero.">IsEmpty()</a> determines if the area of a rectangle is zero. </p>
566 <p>Returns true if the area of the rectangle is zero.</p>
567 <dl class="return"><dt><b>Returns:</b></dt><dd>true if the area of the rectangle is zero. </dd></dl>
570 <a class="anchor" id="a3c39cdfe70b05c4cb172848daf4cd093"></a><!-- doxytag: member="pp::Rect::Offset" ref="a3c39cdfe70b05c4cb172848daf4cd093" args="(int32_t horizontal, int32_t vertical)" -->
571 <div class="memitem">
572 <div class="memproto">
573 <table class="memname">
575 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">pp::Rect::Offset</a> </td>
577 <td class="paramtype">int32_t </td>
578 <td class="paramname"><em>horizontal</em>, </td>
581 <td class="paramkey"></td>
583 <td class="paramtype">int32_t </td>
584 <td class="paramname"><em>vertical</em> </td>
594 <p><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093" title="Offset() moves the rectangle by a horizontal and vertical distance.">Offset()</a> moves the rectangle by a horizontal and vertical distance. </p>
595 <dl class="params"><dt><b>Parameters:</b></dt><dd>
596 <table class="params">
597 <tr><td class="paramdir">[in]</td><td class="paramname">horizontal</td><td>An int32_t value representing a horizontal move distance. </td></tr>
598 <tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>An int32_t value representing a vertical move distance. </td></tr>
604 <a class="anchor" id="a8fdc680fc8d23ca24f5a10ec93db3414"></a><!-- doxytag: member="pp::Rect::Offset" ref="a8fdc680fc8d23ca24f5a10ec93db3414" args="(const Point &point)" -->
605 <div class="memitem">
606 <div class="memproto">
607 <table class="memname">
609 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093">pp::Rect::Offset</a> </td>
611 <td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
612 <td class="paramname"><em>point</em></td><td>)</td>
613 <td><code> [inline]</code></td>
618 <p><a class="el" href="classpp_1_1_rect.html#a3c39cdfe70b05c4cb172848daf4cd093" title="Offset() moves the rectangle by a horizontal and vertical distance.">Offset()</a> moves the rectangle by a horizontal and vertical distance. </p>
619 <dl class="params"><dt><b>Parameters:</b></dt><dd>
620 <table class="params">
621 <tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>A pointer to a <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the horizontal and vertical move distances. </td></tr>
627 <a class="anchor" id="a02e46c92ffedee393caff7ae0f7aca2f"></a><!-- doxytag: member="pp::Rect::operator PP_Rect" ref="a02e46c92ffedee393caff7ae0f7aca2f" args="() const " -->
628 <div class="memitem">
629 <div class="memproto">
630 <table class="memname">
632 <td class="memname">pp::Rect::operator PP_Rect </td>
634 <td class="paramname"></td><td>)</td>
635 <td> const<code> [inline]</code></td>
640 <p>PP_Rect() allows implicit conversion of a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> to a <code>PP_Rect</code>. </p>
641 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
644 <a class="anchor" id="ad4d6b9c43472620d8363cbe091f8c5b3"></a><!-- doxytag: member="pp::Rect::point" ref="ad4d6b9c43472620d8363cbe091f8c5b3" args="() const " -->
645 <div class="memitem">
646 <div class="memproto">
647 <table class="memname">
649 <td class="memname"><a class="el" href="classpp_1_1_point.html">Point</a> <a class="el" href="classpp_1_1_rect.html#ad4d6b9c43472620d8363cbe091f8c5b3">pp::Rect::point</a> </td>
651 <td class="paramname"></td><td>)</td>
652 <td> const<code> [inline]</code></td>
657 <p>Getter function for returning the <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </p>
658 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
661 <a class="anchor" id="adf531599805a31e63098782c3108c0e0"></a><!-- doxytag: member="pp::Rect::pp_rect" ref="adf531599805a31e63098782c3108c0e0" args="() const " -->
662 <div class="memitem">
663 <div class="memproto">
664 <table class="memname">
666 <td class="memname">const PP_Rect& <a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp::Rect::pp_rect</a> </td>
668 <td class="paramname"></td><td>)</td>
669 <td> const<code> [inline]</code></td>
674 <p>Getter function for returning the internal <code>PP_Rect</code> struct. </p>
675 <dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the internal <code>PP_Rect</code> struct. </dd></dl>
678 <a class="anchor" id="af278a4ae7b2a1af26a7cc8d4f0b629e6"></a><!-- doxytag: member="pp::Rect::pp_rect" ref="af278a4ae7b2a1af26a7cc8d4f0b629e6" args="()" -->
679 <div class="memitem">
680 <div class="memproto">
681 <table class="memname">
683 <td class="memname">PP_Rect& <a class="el" href="classpp_1_1_rect.html#adf531599805a31e63098782c3108c0e0">pp::Rect::pp_rect</a> </td>
685 <td class="paramname"></td><td>)</td>
686 <td><code> [inline]</code></td>
691 <p>Getter function for returning the internal <code>PP_Rect</code> struct. </p>
692 <dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the <code>PP_Rect</code> struct. </dd></dl>
695 <a class="anchor" id="a83ecc36b001f2c24d99e3088d1cc45a2"></a><!-- doxytag: member="pp::Rect::right" ref="a83ecc36b001f2c24d99e3088d1cc45a2" args="() const " -->
696 <div class="memitem">
697 <div class="memproto">
698 <table class="memname">
700 <td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a83ecc36b001f2c24d99e3088d1cc45a2">pp::Rect::right</a> </td>
702 <td class="paramname"></td><td>)</td>
703 <td> const<code> [inline]</code></td>
708 <p>Getter function to get the upper-bound for the x-coordinates of the rectangle. </p>
709 <p>Note that this coordinate value is one past the highest x value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: <code>for (int32_t x = rect.x(); x < rect.right(); ++x) {}</code></p>
710 <dl class="return"><dt><b>Returns:</b></dt><dd>The value of x + width for this point. </dd></dl>
713 <a class="anchor" id="a7f816974533715510bfbe1a77bf09e98"></a><!-- doxytag: member="pp::Rect::set_height" ref="a7f816974533715510bfbe1a77bf09e98" args="(int32_t h)" -->
714 <div class="memitem">
715 <div class="memproto">
716 <table class="memname">
718 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#a7f816974533715510bfbe1a77bf09e98">pp::Rect::set_height</a> </td>
720 <td class="paramtype">int32_t </td>
721 <td class="paramname"><em>h</em></td><td>)</td>
722 <td><code> [inline]</code></td>
727 <p>Setter function for setting the value of height. </p>
728 <dl class="params"><dt><b>Parameters:</b></dt><dd>
729 <table class="params">
730 <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new width height. </td></tr>
736 <a class="anchor" id="aa099aad16ade23466364968d1cfbb68e"></a><!-- doxytag: member="pp::Rect::set_point" ref="aa099aad16ade23466364968d1cfbb68e" args="(const Point &origin)" -->
737 <div class="memitem">
738 <div class="memproto">
739 <table class="memname">
741 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#aa099aad16ade23466364968d1cfbb68e">pp::Rect::set_point</a> </td>
743 <td class="paramtype">const <a class="el" href="classpp_1_1_point.html">Point</a> & </td>
744 <td class="paramname"><em>origin</em></td><td>)</td>
745 <td><code> [inline]</code></td>
750 <p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </p>
751 <dl class="params"><dt><b>Parameters:</b></dt><dd>
752 <table class="params">
753 <tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>A <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code> representing the upper-left starting coordinate. </td></tr>
759 <a class="anchor" id="a484a54bc72ce43eae283dd04d5258a42"></a><!-- doxytag: member="pp::Rect::set_size" ref="a484a54bc72ce43eae283dd04d5258a42" args="(const Size &s)" -->
760 <div class="memitem">
761 <div class="memproto">
762 <table class="memname">
764 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#a484a54bc72ce43eae283dd04d5258a42">pp::Rect::set_size</a> </td>
766 <td class="paramtype">const <a class="el" href="classpp_1_1_size.html">Size</a> & </td>
767 <td class="paramname"><em>s</em></td><td>)</td>
768 <td><code> [inline]</code></td>
773 <p>Setter function for setting the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
774 <dl class="params"><dt><b>Parameters:</b></dt><dd>
775 <table class="params">
776 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>A pointer to a <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code> representing the height and width. </td></tr>
782 <a class="anchor" id="ad8b7a557c0a3b7b09a71cc7da3b8cac3"></a><!-- doxytag: member="pp::Rect::set_width" ref="ad8b7a557c0a3b7b09a71cc7da3b8cac3" args="(int32_t w)" -->
783 <div class="memitem">
784 <div class="memproto">
785 <table class="memname">
787 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#ad8b7a557c0a3b7b09a71cc7da3b8cac3">pp::Rect::set_width</a> </td>
789 <td class="paramtype">int32_t </td>
790 <td class="paramname"><em>w</em></td><td>)</td>
791 <td><code> [inline]</code></td>
796 <p>Setter function for setting the value of width. </p>
797 <dl class="params"><dt><b>Parameters:</b></dt><dd>
798 <table class="params">
799 <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
805 <a class="anchor" id="ac5e698050a5de8bcb57847ac876279cc"></a><!-- doxytag: member="pp::Rect::set_x" ref="ac5e698050a5de8bcb57847ac876279cc" args="(int32_t in_x)" -->
806 <div class="memitem">
807 <div class="memproto">
808 <table class="memname">
810 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#ac5e698050a5de8bcb57847ac876279cc">pp::Rect::set_x</a> </td>
812 <td class="paramtype">int32_t </td>
813 <td class="paramname"><em>in_x</em></td><td>)</td>
814 <td><code> [inline]</code></td>
819 <p>Setter function for setting the value of x. </p>
820 <dl class="params"><dt><b>Parameters:</b></dt><dd>
821 <table class="params">
822 <tr><td class="paramdir">[in]</td><td class="paramname">in_x</td><td>A new x value. </td></tr>
828 <a class="anchor" id="a99d75f24b47d11e05aadde0bcf11b128"></a><!-- doxytag: member="pp::Rect::set_y" ref="a99d75f24b47d11e05aadde0bcf11b128" args="(int32_t in_y)" -->
829 <div class="memitem">
830 <div class="memproto">
831 <table class="memname">
833 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#a99d75f24b47d11e05aadde0bcf11b128">pp::Rect::set_y</a> </td>
835 <td class="paramtype">int32_t </td>
836 <td class="paramname"><em>in_y</em></td><td>)</td>
837 <td><code> [inline]</code></td>
842 <p>Setter function for setting the value of y. </p>
843 <dl class="params"><dt><b>Parameters:</b></dt><dd>
844 <table class="params">
845 <tr><td class="paramdir">[in]</td><td class="paramname">in_y</td><td>A new y value. </td></tr>
851 <a class="anchor" id="aff9442d9ee78ad390129625379b2103f"></a><!-- doxytag: member="pp::Rect::SetRect" ref="aff9442d9ee78ad390129625379b2103f" args="(int32_t x, int32_t y, int32_t w, int32_t h)" -->
852 <div class="memitem">
853 <div class="memproto">
854 <table class="memname">
856 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">pp::Rect::SetRect</a> </td>
858 <td class="paramtype">int32_t </td>
859 <td class="paramname"><em>x</em>, </td>
862 <td class="paramkey"></td>
864 <td class="paramtype">int32_t </td>
865 <td class="paramname"><em>y</em>, </td>
868 <td class="paramkey"></td>
870 <td class="paramtype">int32_t </td>
871 <td class="paramname"><em>w</em>, </td>
874 <td class="paramkey"></td>
876 <td class="paramtype">int32_t </td>
877 <td class="paramname"><em>h</em> </td>
882 <td></td><td><code> [inline]</code></td>
887 <p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
888 <dl class="params"><dt><b>Parameters:</b></dt><dd>
889 <table class="params">
890 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>A new x value. </td></tr>
891 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>A new y value. </td></tr>
892 <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>A new width value. </td></tr>
893 <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>A new height value. </td></tr>
899 <a class="anchor" id="ad19e517179cc55db2a16d317d2e8904a"></a><!-- doxytag: member="pp::Rect::SetRect" ref="ad19e517179cc55db2a16d317d2e8904a" args="(const PP_Rect &rect)" -->
900 <div class="memitem">
901 <div class="memproto">
902 <table class="memname">
904 <td class="memname">void <a class="el" href="classpp_1_1_rect.html#aff9442d9ee78ad390129625379b2103f">pp::Rect::SetRect</a> </td>
906 <td class="paramtype">const PP_Rect & </td>
907 <td class="paramname"><em>rect</em></td><td>)</td>
908 <td><code> [inline]</code></td>
913 <p>Setter function for setting the value of the <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </p>
914 <dl class="params"><dt><b>Parameters:</b></dt><dd>
915 <table class="params">
916 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code>PP_Rect</code>. </td></tr>
922 <a class="anchor" id="a2471b9960ecbbb006330cd1bb6d51701"></a><!-- doxytag: member="pp::Rect::SharesEdgeWith" ref="a2471b9960ecbbb006330cd1bb6d51701" args="(const Rect &rect) const " -->
923 <div class="memitem">
924 <div class="memproto">
925 <table class="memname">
927 <td class="memname">bool <a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701">pp::Rect::SharesEdgeWith</a> </td>
929 <td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
930 <td class="paramname"><em>rect</em></td><td>)</td>
936 <p><a class="el" href="classpp_1_1_rect.html#a2471b9960ecbbb006330cd1bb6d51701" title="SharesEdgeWith() determines if this rectangle shares an entire edge (same width or same height) with ...">SharesEdgeWith()</a> determines if this rectangle shares an entire edge (same width or same height) with the given rectangle, and the rectangles do not overlap. </p>
937 <dl class="params"><dt><b>Parameters:</b></dt><dd>
938 <table class="params">
939 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
943 <dl class="return"><dt><b>Returns:</b></dt><dd>true if this rectangle and supplied rectangle share an edge. </dd></dl>
946 <a class="anchor" id="ae545e94421d1384fb292b270222b812e"></a><!-- doxytag: member="pp::Rect::size" ref="ae545e94421d1384fb292b270222b812e" args="() const " -->
947 <div class="memitem">
948 <div class="memproto">
949 <table class="memname">
951 <td class="memname"><a class="el" href="classpp_1_1_size.html">Size</a> <a class="el" href="classpp_1_1_rect.html#ae545e94421d1384fb292b270222b812e">pp::Rect::size</a> </td>
953 <td class="paramname"></td><td>)</td>
954 <td> const<code> [inline]</code></td>
959 <p>Getter function for returning the <code><a class="el" href="classpp_1_1_size.html" title="A size of an object based on width and height.">Size</a></code>. </p>
960 <dl class="return"><dt><b>Returns:</b></dt><dd>The size of the rectangle. </dd></dl>
963 <a class="anchor" id="acb5c5d3c44facb488723c609f95b3d72"></a><!-- doxytag: member="pp::Rect::Subtract" ref="acb5c5d3c44facb488723c609f95b3d72" args="(const Rect &rect) const " -->
964 <div class="memitem">
965 <div class="memproto">
966 <table class="memname">
968 <td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72">pp::Rect::Subtract</a> </td>
970 <td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
971 <td class="paramname"><em>rect</em></td><td>)</td>
977 <p><a class="el" href="classpp_1_1_rect.html#acb5c5d3c44facb488723c609f95b3d72" title="Subtract() computes the rectangle resulting from subtracting rect from this Rect.">Subtract()</a> computes the rectangle resulting from subtracting <code>rect</code> from this <a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a>. </p>
978 <p>If <code>rect</code>does not intersect completely in either the x or y direction, then <code>*this</code> is returned. If <code>rect</code> contains <code>this</code>, then an empty <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> is returned.</p>
979 <dl class="params"><dt><b>Parameters:</b></dt><dd>
980 <table class="params">
981 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
985 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the subtraction. </dd></dl>
988 <a class="anchor" id="ab7f3bfc56fddca606125f806f8752880"></a><!-- doxytag: member="pp::Rect::Union" ref="ab7f3bfc56fddca606125f806f8752880" args="(const Rect &rect) const " -->
989 <div class="memitem">
990 <div class="memproto">
991 <table class="memname">
993 <td class="memname"><a class="el" href="classpp_1_1_rect.html">Rect</a> <a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880">pp::Rect::Union</a> </td>
995 <td class="paramtype">const <a class="el" href="classpp_1_1_rect.html">Rect</a> & </td>
996 <td class="paramname"><em>rect</em></td><td>)</td>
1001 <div class="memdoc">
1002 <p><a class="el" href="classpp_1_1_rect.html#ab7f3bfc56fddca606125f806f8752880" title="Union() computes the union of this rectangle with the given rectangle.">Union()</a> computes the union of this rectangle with the given rectangle. </p>
1003 <p>The union is the smallest rectangle containing both rectangles.</p>
1004 <dl class="params"><dt><b>Parameters:</b></dt><dd>
1005 <table class="params">
1006 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>A pointer to a <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>.</td></tr>
1010 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code> representing the union. </dd></dl>
1013 <a class="anchor" id="a102299d70d5cd970298c6de5b8ec260d"></a><!-- doxytag: member="pp::Rect::width" ref="a102299d70d5cd970298c6de5b8ec260d" args="() const " -->
1014 <div class="memitem">
1015 <div class="memproto">
1016 <table class="memname">
1018 <td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#a102299d70d5cd970298c6de5b8ec260d">pp::Rect::width</a> </td>
1020 <td class="paramname"></td><td>)</td>
1021 <td> const<code> [inline]</code></td>
1025 <div class="memdoc">
1026 <p>Getter function for returning the value of width. </p>
1027 <dl class="return"><dt><b>Returns:</b></dt><dd>The value of width for this <code><a class="el" href="classpp_1_1_rect.html" title="A 2 dimensional rectangle.">Rect</a></code>. </dd></dl>
1030 <a class="anchor" id="acf8feb9af84a42d30917e2c590eafb33"></a><!-- doxytag: member="pp::Rect::x" ref="acf8feb9af84a42d30917e2c590eafb33" args="() const " -->
1031 <div class="memitem">
1032 <div class="memproto">
1033 <table class="memname">
1035 <td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#acf8feb9af84a42d30917e2c590eafb33">pp::Rect::x</a> </td>
1037 <td class="paramname"></td><td>)</td>
1038 <td> const<code> [inline]</code></td>
1042 <div class="memdoc">
1043 <p>Getter function for returning the value of x. </p>
1044 <dl class="return"><dt><b>Returns:</b></dt><dd>The value of x for this <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
1047 <a class="anchor" id="af84b03d10a656af3bbdabae6e0f37972"></a><!-- doxytag: member="pp::Rect::y" ref="af84b03d10a656af3bbdabae6e0f37972" args="() const " -->
1048 <div class="memitem">
1049 <div class="memproto">
1050 <table class="memname">
1052 <td class="memname">int32_t <a class="el" href="classpp_1_1_rect.html#af84b03d10a656af3bbdabae6e0f37972">pp::Rect::y</a> </td>
1054 <td class="paramname"></td><td>)</td>
1055 <td> const<code> [inline]</code></td>
1059 <div class="memdoc">
1060 <p>Getter function for returning the value of y. </p>
1061 <dl class="return"><dt><b>Returns:</b></dt><dd>The value of y for this <code><a class="el" href="classpp_1_1_point.html" title="A 2 dimensional point with 0,0 being the upper-left starting coordinate.">Point</a></code>. </dd></dl>
1064 <hr />The documentation for this class was generated from the following file:<ul>
1065 <li><a class="el" href="rect_8h.html">rect.h</a></li>
1067 </div><!-- contents -->
1069 {{/partials.standard_nacl_article}}