• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1SkIPoint Reference
2===
3
4
5<a name='SkIPoint'></a>
6
7---
8
9<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
10struct <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> {
11
12    int32_t <a href='#SkIPoint_fX'>fX</a>;
13    int32_t <a href='#SkIPoint_fY'>fY</a>;
14
15    static constexpr <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> <a href='#SkIPoint_Make'>Make</a>(int32_t x, int32_t y);
16    int32_t <a href='#SkIPoint_x'>x()</a> const;
17    int32_t <a href='#SkIPoint_y'>y()</a> const;
18    bool <a href='#SkIPoint_isZero'>isZero</a>() const;
19    void <a href='#SkIPoint_set'>set</a>(int32_t x, int32_t y);
20    <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> operator-() const;
21    void <a href='#SkIPoint_addto_operator'>operator+=</a>(const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& v);
22    void <a href='#SkIPoint_subtractfrom_operator'>operator-=</a>(const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& v);
23    bool <a href='#SkIPoint_equals'>equals</a>(int32_t x, int32_t y) const;
24    friend bool <a href='#SkIPoint_equal_operator'>operator==</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b);
25    friend bool <a href='#SkIPoint_notequal_operator'>operator!=</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b);
26    friend <a href='SkIPoint_Reference#SkIVector'>SkIVector</a> <a href='#SkIPoint_subtract_operator'>operator-</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b);
27    friend <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> <a href='#SkIPoint_add_operator'>operator+</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& b);
28};
29
30</pre>
31
32<a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> holds two 32-bit integer coordinates.<table style='border-collapse: collapse; width: 62.5em'>
33
34  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Type</th>
35<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Member</th>
36<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
37  <tr style='background-color: #f0f0f0; '>
38    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>int32_t</td>
39    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkIPoint_fX'><code>fX</code></a></td>
40    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
41x-axis value used by <a href='SkIPoint_Reference#IPoint'>IPoint</a>.
42</td>
43  </tr>
44  <tr>
45    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>int32_t</td>
46    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkIPoint_fY'><code>fY</code></a></td>
47    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
48y-axis value used by <a href='SkIPoint_Reference#IPoint'>IPoint</a>.
49</td>
50  </tr>
51</table>
52
53<a name='SkIPoint_Make'></a>
54
55---
56
57<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
58static constexpr <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> <a href='#SkIPoint_Make'>Make</a>(int32_t x, int32_t y)
59</pre>
60
61Sets <a href='#SkIPoint_fX'>fX</a> to <a href='#SkIPoint_Make_x'>x</a>, <a href='#SkIPoint_fY'>fY</a> to <a href='#SkIPoint_Make_y'>y</a>.
62
63### Parameters
64
65<table>  <tr>    <td><a name='SkIPoint_Make_x'><code><strong>x</strong></code></a></td>
66    <td>integer x-axis value of constructed <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a></td>
67  </tr>
68  <tr>    <td><a name='SkIPoint_Make_y'><code><strong>y</strong></code></a></td>
69    <td>integer y-axis value of constructed <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a></td>
70  </tr>
71</table>
72
73### Return Value
74
75<a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> (<a href='#SkIPoint_Make_x'>x</a>, <a href='#SkIPoint_Make_y'>y</a>)
76
77### Example
78
79<div><fiddle-embed name="e5cf5159525bd3140f288a95fe641fae">
80
81#### Example Output
82
83~~~~
84pt1 == pt2
85~~~~
86
87</fiddle-embed></div>
88
89### See Also
90
91<a href='#SkIPoint_set'>set()</a> <a href='SkPoint_Reference#SkPoint'>SkPoint</a>::<a href='#SkPoint_iset'>iset()</a> <a href='SkPoint_Reference#SkPoint'>SkPoint</a>::<a href='#SkPoint_Make'>Make</a>
92
93<a name='Property'></a>
94
95<a name='SkIPoint_x'></a>
96
97---
98
99<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
100int32_t <a href='#SkIPoint_x'>x()</a>const
101</pre>
102
103Returns x-axis value of <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>.
104
105### Return Value
106
107<a href='#SkIPoint_fX'>fX</a>
108
109### Example
110
111<div><fiddle-embed name="eed4185294f8a8216fc354e6ee6b2e3a">
112
113#### Example Output
114
115~~~~
116pt1.fX == pt1.x()
117~~~~
118
119</fiddle-embed></div>
120
121### See Also
122
123<a href='#SkIPoint_y'>y()</a> <a href='SkPoint_Reference#SkPoint'>SkPoint</a>::<a href='#SkPoint_x'>x()</a>
124
125<a name='SkIPoint_y'></a>
126
127---
128
129<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
130int32_t <a href='#SkIPoint_y'>y()</a>const
131</pre>
132
133Returns y-axis value of <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>.
134
135### Return Value
136
137<a href='#SkIPoint_fY'>fY</a>
138
139### Example
140
141<div><fiddle-embed name="35c41b8ba7cebf8c9a7a8494e610e14d">
142
143#### Example Output
144
145~~~~
146pt1.fY == pt1.y()
147~~~~
148
149</fiddle-embed></div>
150
151### See Also
152
153<a href='#SkIPoint_x'>x()</a> <a href='SkPoint_Reference#SkPoint'>SkPoint</a>::<a href='#SkPoint_y'>y()</a>
154
155<a name='SkIPoint_isZero'></a>
156
157---
158
159<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
160bool <a href='#SkIPoint_isZero'>isZero</a>()const
161</pre>
162
163Returns true if <a href='#SkIPoint_fX'>fX</a> and <a href='#SkIPoint_fY'>fY</a> are both zero.
164
165### Return Value
166
167true if <a href='#SkIPoint_fX'>fX</a> is zero and <a href='#SkIPoint_fY'>fY</a> is zero
168
169### Example
170
171<div><fiddle-embed name="658c1df611b4577cc7e0bb384e95737e">
172
173#### Example Output
174
175~~~~
176pt.isZero() == true
177~~~~
178
179</fiddle-embed></div>
180
181### See Also
182
183<a href='SkPoint_Reference#SkPoint'>SkPoint</a>::<a href='#SkPoint_isZero'>isZero</a>
184
185<a name='Set'></a>
186
187<a name='SkIPoint_set'></a>
188
189---
190
191<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
192void set(int32_t x, int32_t y)
193</pre>
194
195Sets <a href='#SkIPoint_fX'>fX</a> to <a href='#SkIPoint_set_x'>x</a> and <a href='#SkIPoint_fY'>fY</a> to <a href='#SkIPoint_set_y'>y</a>.
196
197### Parameters
198
199<table>  <tr>    <td><a name='SkIPoint_set_x'><code><strong>x</strong></code></a></td>
200    <td>new value for <a href='#SkIPoint_fX'>fX</a></td>
201  </tr>
202  <tr>    <td><a name='SkIPoint_set_y'><code><strong>y</strong></code></a></td>
203    <td>new value for <a href='#SkIPoint_fY'>fY</a></td>
204  </tr>
205</table>
206
207### Example
208
209<div><fiddle-embed name="165418b5718d79d8f1682a8a0ee32ba0">
210
211#### Example Output
212
213~~~~
214pt1 == pt2
215~~~~
216
217</fiddle-embed></div>
218
219### See Also
220
221<a href='#SkIPoint_Make'>Make</a>
222
223<a name='SkIPoint_minus_operator'></a>
224
225---
226
227<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
228<a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> operator-()const
229</pre>
230
231Returns <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> changing the signs of <a href='#SkIPoint_fX'>fX</a> and <a href='#SkIPoint_fY'>fY</a>.
232
233### Return Value
234
235<a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> as (-<a href='#SkIPoint_fX'>fX</a>, -<a href='#SkIPoint_fY'>fY</a>)
236
237### Example
238
239<div><fiddle-embed name="b30d4780475d113a7fed3637af7f0db1">
240
241#### Example Output
242
243~~~~
244pt: 0, 0  negate: 0, 0
245pt: -1, -2  negate: 1, 2
246pt: 2147483647, -2147483647  negate: -2147483647, 2147483647
247pt: -2147483648, -2147483648  negate: -2147483648, -2147483648
248~~~~
249
250</fiddle-embed></div>
251
252### See Also
253
254<a href='#SkIPoint_subtract_operator'>operator-</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b) <a href='#SkIPoint_subtractfrom_operator'>operator-=</a>(const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& v) <a href='SkPoint_Reference#SkPoint'>SkPoint</a>::operator-() const
255
256<a name='SkIPoint_addto_operator'></a>
257
258---
259
260<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
261void <a href='#SkIPoint_addto_operator'>operator+=</a>(const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& v)
262</pre>
263
264Offsets <a href='SkIPoint_Reference#IPoint'>IPoint</a> by <a href='#IPoint_IVector'>IVector</a> <a href='#SkIPoint_addto_operator_v'>v</a>. Sets <a href='SkIPoint_Reference#IPoint'>IPoint</a> to <code>(<a href='#SkIPoint_fX'>fX</a> + <a href='#SkIPoint_addto_operator_v'>v</a>.<a href='#SkIPoint_fX'>fX</a>, <a href='#SkIPoint_fY'>fY</a> + <a href='#SkIPoint_addto_operator_v'>v</a>.<a href='#SkIPoint_fY'>fY</a>)</code>.
265
266### Parameters
267
268<table>  <tr>    <td><a name='SkIPoint_addto_operator_v'><code><strong>v</strong></code></a></td>
269    <td><a href='#IPoint_IVector'>IVector</a> to add</td>
270  </tr>
271</table>
272
273### Example
274
275<div><fiddle-embed name="4eb2d95c9e9a66f05296e345bb68bd51"></fiddle-embed></div>
276
277### See Also
278
279<a href='#SkIPoint_add_operator'>operator+</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& b) <a href='SkPoint_Reference#SkPoint'>SkPoint</a>::operator+=(const <a href='SkPoint_Reference#SkVector'>SkVector</a>& <a href='#SkIPoint_addto_operator_v'>v</a>)
280
281<a name='SkIPoint_subtractfrom_operator'></a>
282
283---
284
285<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
286void <a href='#SkIPoint_subtractfrom_operator'>operator-=</a>(const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& v)
287</pre>
288
289Subtracts <a href='#IPoint_IVector'>IVector</a> <a href='#SkIPoint_subtractfrom_operator_v'>v</a> from <a href='SkIPoint_Reference#IPoint'>IPoint</a>. Sets <a href='SkIPoint_Reference#IPoint'>IPoint</a> to: <code>(<a href='#SkIPoint_fX'>fX</a> - <a href='#SkIPoint_subtractfrom_operator_v'>v</a>.<a href='#SkIPoint_fX'>fX</a>, <a href='#SkIPoint_fY'>fY</a> - <a href='#SkIPoint_subtractfrom_operator_v'>v</a>.<a href='#SkIPoint_fY'>fY</a>)</code>.
290
291### Parameters
292
293<table>  <tr>    <td><a name='SkIPoint_subtractfrom_operator_v'><code><strong>v</strong></code></a></td>
294    <td><a href='#IPoint_IVector'>IVector</a> to subtract</td>
295  </tr>
296</table>
297
298### Example
299
300<div><fiddle-embed name="a01e533dc7ab34ed728dc4e7a5f1f0ee"></fiddle-embed></div>
301
302### See Also
303
304<a href='#SkIPoint_subtract_operator'>operator-</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b) <a href='SkPoint_Reference#SkPoint'>SkPoint</a>::operator-=(const <a href='SkPoint_Reference#SkVector'>SkVector</a>& <a href='#SkIPoint_subtractfrom_operator_v'>v</a>)
305
306<a name='SkIPoint_equals'></a>
307
308---
309
310<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
311bool equals(int32_t x, int32_t y)const
312</pre>
313
314Returns true if <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> is equivalent to <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> constructed from (<a href='#SkIPoint_equals_x'>x</a>, <a href='#SkIPoint_equals_y'>y</a>).
315
316### Parameters
317
318<table>  <tr>    <td><a name='SkIPoint_equals_x'><code><strong>x</strong></code></a></td>
319    <td>value compared with <a href='#SkIPoint_fX'>fX</a></td>
320  </tr>
321  <tr>    <td><a name='SkIPoint_equals_y'><code><strong>y</strong></code></a></td>
322    <td>value compared with <a href='#SkIPoint_fY'>fY</a></td>
323  </tr>
324</table>
325
326### Return Value
327
328true if <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> equals (<a href='#SkIPoint_equals_x'>x</a>, <a href='#SkIPoint_equals_y'>y</a>)
329
330### Example
331
332<div><fiddle-embed name="64f575d36439d5b69aaed14ffeff1cc4">
333
334#### Example Output
335
336~~~~
337pt: 0, 0  == pt
338pt: -1, -2  == pt
339pt: 2147483647, -1  == pt
340pt: -2147483648, -1  == pt
341~~~~
342
343</fiddle-embed></div>
344
345### See Also
346
347<a href='#SkIPoint_equal_operator'>operator==</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b)
348
349<a name='SkIPoint_equal_operator'></a>
350
351---
352
353<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
354bool <a href='#SkIPoint_equal_operator'>operator==</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b)
355</pre>
356
357Returns true if <a href='#SkIPoint_equal_operator_a'>a</a> is equivalent to <a href='#SkIPoint_equal_operator_b'>b</a>.
358
359### Parameters
360
361<table>  <tr>    <td><a name='SkIPoint_equal_operator_a'><code><strong>a</strong></code></a></td>
362    <td><a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> to compare</td>
363  </tr>
364  <tr>    <td><a name='SkIPoint_equal_operator_b'><code><strong>b</strong></code></a></td>
365    <td><a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> to compare</td>
366  </tr>
367</table>
368
369### Return Value
370
371true if <a href='#SkIPoint_equal_operator_a'>a</a>.<a href='#SkIPoint_fX'>fX</a> == <a href='#SkIPoint_equal_operator_b'>b</a>.<a href='#SkIPoint_fX'>fX</a> and <a href='#SkIPoint_equal_operator_a'>a</a>.<a href='#SkIPoint_fY'>fY</a> == <a href='#SkIPoint_equal_operator_b'>b</a>.<a href='#SkIPoint_fY'>fY</a>
372
373### Example
374
375<div><fiddle-embed name="37ffe2817d720f99e6c252332ce70460">
376
377#### Example Output
378
379~~~~
380pt: 0, 0  == pt
381pt: -1, -2  == pt
382pt: 2147483647, -1  == pt
383pt: -2147483648, -1  == pt
384~~~~
385
386</fiddle-embed></div>
387
388### See Also
389
390<a href='#SkIPoint_equals'>equals()</a> <a href='#SkIPoint_notequal_operator'>operator!=</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& <a href='#SkIPoint_equal_operator_a'>a</a>, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& <a href='#SkIPoint_equal_operator_b'>b</a>)
391
392<a name='SkIPoint_notequal_operator'></a>
393
394---
395
396<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
397bool <a href='#SkIPoint_notequal_operator'>operator!=</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b)
398</pre>
399
400Returns true if <a href='#SkIPoint_notequal_operator_a'>a</a> is not equivalent to <a href='#SkIPoint_notequal_operator_b'>b</a>.
401
402### Parameters
403
404<table>  <tr>    <td><a name='SkIPoint_notequal_operator_a'><code><strong>a</strong></code></a></td>
405    <td><a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> to compare</td>
406  </tr>
407  <tr>    <td><a name='SkIPoint_notequal_operator_b'><code><strong>b</strong></code></a></td>
408    <td><a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> to compare</td>
409  </tr>
410</table>
411
412### Return Value
413
414true if <a href='#SkIPoint_notequal_operator_a'>a</a>.<a href='#SkIPoint_fX'>fX</a> != <a href='#SkIPoint_notequal_operator_b'>b</a>.<a href='#SkIPoint_fX'>fX</a> or <a href='#SkIPoint_notequal_operator_a'>a</a>.<a href='#SkIPoint_fY'>fY</a> != <a href='#SkIPoint_notequal_operator_b'>b</a>.<a href='#SkIPoint_fY'>fY</a>
415
416### Example
417
418<div><fiddle-embed name="dd89dc48dff69b53d99530b120f204bc">
419
420#### Example Output
421
422~~~~
423pt: 0, 0  == pt
424pt: -1, -2  == pt
425pt: 2147483647, -1  == pt
426pt: -2147483648, -1  == pt
427~~~~
428
429</fiddle-embed></div>
430
431### See Also
432
433<a href='#SkIPoint_equal_operator'>operator==</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& <a href='#SkIPoint_notequal_operator_a'>a</a>, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& <a href='#SkIPoint_notequal_operator_b'>b</a>) <a href='#SkIPoint_equals'>equals()</a>
434
435<a name='SkIPoint_subtract_operator'></a>
436
437---
438
439<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
440<a href='SkIPoint_Reference#SkIVector'>SkIVector</a> <a href='#SkIPoint_subtract_operator'>operator-</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& b)
441</pre>
442
443Returns <a href='#IPoint_IVector'>IVector</a> from <a href='#SkIPoint_subtract_operator_b'>b</a> to <a href='#SkIPoint_subtract_operator_a'>a</a>; computed as <code>(<a href='#SkIPoint_subtract_operator_a'>a</a>.<a href='#SkIPoint_fX'>fX</a> - <a href='#SkIPoint_subtract_operator_b'>b</a>.<a href='#SkIPoint_fX'>fX</a>, <a href='#SkIPoint_subtract_operator_a'>a</a>.<a href='#SkIPoint_fY'>fY</a> - <a href='#SkIPoint_subtract_operator_b'>b</a>.<a href='#SkIPoint_fY'>fY</a>)</code>.
444
445Can also be used to subtract <a href='#IPoint_IVector'>IVector</a> from <a href='#IPoint_IVector'>IVector</a>, returning <a href='#IPoint_IVector'>IVector</a>.
446
447### Parameters
448
449<table>  <tr>    <td><a name='SkIPoint_subtract_operator_a'><code><strong>a</strong></code></a></td>
450    <td><a href='SkIPoint_Reference#IPoint'>IPoint</a> or <a href='#IPoint_IVector'>IVector</a> to subtract from</td>
451  </tr>
452  <tr>    <td><a name='SkIPoint_subtract_operator_b'><code><strong>b</strong></code></a></td>
453    <td><a href='#IPoint_IVector'>IVector</a> to subtract</td>
454  </tr>
455</table>
456
457### Return Value
458
459<a href='#IPoint_IVector'>IVector</a> from <a href='#SkIPoint_subtract_operator_b'>b</a> to <a href='#SkIPoint_subtract_operator_a'>a</a>
460
461### Example
462
463<div><fiddle-embed name="e626e26bf557857b824aa7d03f723e0f"></fiddle-embed></div>
464
465### See Also
466
467<a href='#SkIPoint_subtractfrom_operator'>operator-=</a>(const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& v)
468
469<a name='SkIPoint_add_operator'></a>
470
471---
472
473<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
474<a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> <a href='#SkIPoint_add_operator'>operator+</a>(const <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>& a, const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& b)
475</pre>
476
477Returns <a href='SkIPoint_Reference#IPoint'>IPoint</a> resulting from <a href='SkIPoint_Reference#IPoint'>IPoint</a> <a href='#SkIPoint_add_operator_a'>a</a> offset by <a href='#IPoint_IVector'>IVector</a> <a href='#SkIPoint_add_operator_b'>b</a>, computed as:
478<code>(<a href='#SkIPoint_add_operator_a'>a</a>.<a href='#SkIPoint_fX'>fX</a> + <a href='#SkIPoint_add_operator_b'>b</a>.<a href='#SkIPoint_fX'>fX</a>, <a href='#SkIPoint_add_operator_a'>a</a>.<a href='#SkIPoint_fY'>fY</a> + <a href='#SkIPoint_add_operator_b'>b</a>.<a href='#SkIPoint_fY'>fY</a>)</code>.
479
480Can also be used to offset <a href='SkIPoint_Reference#IPoint'>IPoint</a> <a href='#SkIPoint_add_operator_b'>b</a> by <a href='#IPoint_IVector'>IVector</a> <a href='#SkIPoint_add_operator_a'>a</a>, returning <a href='SkIPoint_Reference#IPoint'>IPoint</a>.
481Can also be used to add <a href='#IPoint_IVector'>IVector</a> to <a href='#IPoint_IVector'>IVector</a>, returning <a href='#IPoint_IVector'>IVector</a>.
482
483### Parameters
484
485<table>  <tr>    <td><a name='SkIPoint_add_operator_a'><code><strong>a</strong></code></a></td>
486    <td><a href='SkIPoint_Reference#IPoint'>IPoint</a> or <a href='#IPoint_IVector'>IVector</a> to add to</td>
487  </tr>
488  <tr>    <td><a name='SkIPoint_add_operator_b'><code><strong>b</strong></code></a></td>
489    <td><a href='SkIPoint_Reference#IPoint'>IPoint</a> or <a href='#IPoint_IVector'>IVector</a> to add</td>
490  </tr>
491</table>
492
493### Return Value
494
495<a href='SkIPoint_Reference#IPoint'>IPoint</a> equal to <a href='#SkIPoint_add_operator_a'>a</a> offset by <a href='#SkIPoint_add_operator_b'>b</a>
496
497### Example
498
499<div><fiddle-embed name="63f4cba971c6d8434595906f865b5a29"></fiddle-embed></div>
500
501### See Also
502
503<a href='#SkIPoint_addto_operator'>operator+=</a>(const <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>& v)
504
505<a name='IVector'></a>
506
507<a name='SkIVector'></a>
508
509---
510
511<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
512    typedef <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a> <a href='SkIPoint_Reference#SkIVector'>SkIVector</a>;
513</pre>
514
515<a href='SkIPoint_Reference#SkIVector'>SkIVector</a> provides an alternative name for <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>. <a href='SkIPoint_Reference#SkIVector'>SkIVector</a> and <a href='SkIPoint_Reference#SkIPoint'>SkIPoint</a>
516can be used interchangeably for all purposes.