• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1undocumented
2===
3
4
5<a name='SkBBHFactory'></a>
6
7---
8
9<a name='GrBackendSemaphore'></a>
10
11---
12
13<a name='SkClipOp'></a>
14
15---
16
17### Constants
18
19<table style='border-collapse: collapse; width: 62.5em'>
20  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th>
21<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th>
22<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
23  <tr style='background-color: #f0f0f0; '>
24    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkClipOp_kDifference'><code>SkClipOp::kDifference</code></a></td>
25    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
26    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
27</td>
28  </tr>
29  <tr>
30    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkClipOp_kIntersect'><code>SkClipOp::kIntersect</code></a></td>
31    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td>
32    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
33</td>
34  </tr>
35</table>
36
37<a name='SkColorFilter'></a>
38
39---
40
41<a name='SkColorSpace'></a>
42
43---
44
45<a name='SkColorSpace_MakeSRGBLinear'></a>
46
47---
48
49<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
50static <a href='#sk_sp'>sk sp</a>&lt;<a href='#SkColorSpace'>SkColorSpace</a>&gt; <a href='#SkColorSpace_MakeSRGBLinear'>MakeSRGBLinear</a>()
51</pre>
52
53<a name='SkColorSpace_gammaCloseToSRGB'></a>
54
55---
56
57<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
58bool <a href='#SkColorSpace_gammaCloseToSRGB'>gammaCloseToSRGB</a>() const
59</pre>
60
61<a name='SkColorSpace_Equals'></a>
62
63---
64
65<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
66static bool <a href='#SkColorSpace_Equals'>Equals</a>(const <a href='#SkColorSpace'>SkColorSpace</a>* src, const <a href='#SkColorSpace'>SkColorSpace</a>* dst)
67</pre>
68
69<a name='SkCreateColorSpaceXformCanvas'></a>
70
71---
72
73<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
74std::unique_ptr&lt;<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>&gt; SK_API <a href='#SkCreateColorSpaceXformCanvas'>SkCreateColorSpaceXformCanvas</a>(<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>* target,
75                                                     <a href='#sk_sp'>sk sp</a>&lt;<a href='#SkColorSpace'>SkColorSpace</a>&gt; targetCS)
76</pre>
77
78<a name='SkData'></a>
79
80---
81
82<a name='DebugCanvas'></a>
83
84---
85
86<a name='SkDebugf'></a>
87
88---
89
90<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
91SK_API void <a href='#SkDebugf'>SkDebugf</a>(const char format[], ...)
92</pre>
93
94<a name='SkDeferredDisplayList'></a>
95
96---
97
98<a name='Recorder'></a>
99
100<a name='SkDeferredDisplayListRecorder'></a>
101
102---
103
104<a name='SkDeserialProcs'></a>
105
106---<table style='border-collapse: collapse; width: 62.5em'>
107
108  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Type</th>
109<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Member</th>
110<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
111  <tr style='background-color: #f0f0f0; '>
112    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkDeserialPictureProc</td>
113    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkDeserialProcs_fPictureProc'><code>fPictureProc</code></a></td>
114    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
115</td>
116  </tr>
117  <tr>
118    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>void*</td>
119    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkDeserialProcs_fPictureCtx'><code>fPictureCtx</code></a></td>
120    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
121</td>
122  </tr>
123  <tr style='background-color: #f0f0f0; '>
124    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkDeserialTypefaceProc</td>
125    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkDeserialProcs_fTypefaceProc'><code>fTypefaceProc</code></a></td>
126    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
127</td>
128  </tr>
129  <tr>
130    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>void*</td>
131    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkDeserialProcs_fTypefaceCtx'><code>fTypefaceCtx</code></a></td>
132    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
133</td>
134  </tr>
135</table>
136
137<a name='SkBaseDevice'></a>
138
139---
140
141<a name='SkDocument'></a>
142
143---
144
145<a name='SkDocument_beginPage'></a>
146
147---
148
149<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
150<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>* <a href='#SkDocument_beginPage'>beginPage</a>(<a href='#SkScalar'>SkScalar</a> width, <a href='#SkScalar'>SkScalar</a> height, const <a href='SkRect_Reference#SkRect'>SkRect</a>* content = NULL)
151</pre>
152
153<a name='PDF'></a>
154
155<a name='SkDrawLooper'></a>
156
157---
158
159<a name='SkDrawable'></a>
160
161---
162
163<a name='SkDrawable_draw'></a>
164
165---
166
167<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
168void <a href='#SkDrawable_draw'>draw</a>(<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>*, const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* = NULL)
169</pre>
170
171<a name='SkFilterQuality'></a>
172
173---
174
175### Constants
176
177<table style='border-collapse: collapse; width: 62.5em'>
178  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th>
179<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th>
180<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
181  <tr style='background-color: #f0f0f0; '>
182    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kNone_SkFilterQuality'><code>kNone_SkFilterQuality</code></a></td>
183    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
184    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
185</td>
186  </tr>
187  <tr>
188    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kLow_SkFilterQuality'><code>kLow_SkFilterQuality</code></a></td>
189    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td>
190    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
191</td>
192  </tr>
193  <tr style='background-color: #f0f0f0; '>
194    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kMedium_SkFilterQuality'><code>kMedium_SkFilterQuality</code></a></td>
195    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td>
196    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
197</td>
198  </tr>
199  <tr>
200    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kHigh_SkFilterQuality'><code>kHigh_SkFilterQuality</code></a></td>
201    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td>
202    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
203</td>
204  </tr>
205</table>
206
207<a name='Nearest_Neighbor'></a>
208
209<a name='Bilerp'></a>
210
211<a name='MipMap'></a>
212
213<a name='BiCubic'></a>
214
215<a name='Advance'></a>
216
217<a name='Engine'></a>
218
219<a name='SkTextEncoding'></a>
220
221---
222
223### Constants
224
225<table style='border-collapse: collapse; width: 62.5em'>
226  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th>
227<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th>
228<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
229  <tr style='background-color: #f0f0f0; '>
230    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkTextEncoding::kUTF8'><code>SkTextEncoding::kUTF8</code></a></td>
231    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
232    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
233</td>
234  </tr>
235  <tr>
236    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkTextEncoding::kUTF16'><code>SkTextEncoding::kUTF16</code></a></td>
237    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td>
238    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
239</td>
240  </tr>
241  <tr style='background-color: #f0f0f0; '>
242    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkTextEncoding::kUTF32'><code>SkTextEncoding::kUTF32</code></a></td>
243    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td>
244    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
245</td>
246  </tr>
247  <tr>
248    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkTextEncoding::kGlyphID'><code>SkTextEncoding::kGlyphID</code></a></td>
249    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td>
250    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
251</td>
252  </tr>
253</table>
254
255<a name='SkFont'></a>
256
257---
258
259<a name='SkFontHinting'></a>
260
261---
262
263### Constants
264
265<table style='border-collapse: collapse; width: 62.5em'>
266  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th>
267<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th>
268<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
269  <tr style='background-color: #f0f0f0; '>
270    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontHinting::kNone'><code>SkFontHinting::kNone</code></a></td>
271    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
272    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
273</td>
274  </tr>
275  <tr>
276    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontHinting::kSlight'><code>SkFontHinting::kSlight</code></a></td>
277    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td>
278    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
279</td>
280  </tr>
281  <tr style='background-color: #f0f0f0; '>
282    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontHinting::kNormal'><code>SkFontHinting::kNormal</code></a></td>
283    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td>
284    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
285</td>
286  </tr>
287  <tr>
288    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontHinting::kFull'><code>SkFontHinting::kFull</code></a></td>
289    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td>
290    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
291</td>
292  </tr>
293</table>
294
295<a name='SkFontMetrics'></a>
296
297---
298
299<a href='#SkFontMetrics'>SkFontMetrics</a> is filled out by <a href='SkPaint_Reference#SkPaint_getFontMetrics'>SkPaint::getFontMetrics</a>. <a href='#SkFontMetrics'>SkFontMetrics</a> contents
300reflect the values
301computed by <a href='#Font_Manager'>Font Manager</a> using <a href='#Typeface'>Typeface</a>. Values are set to zero if they are
302not available.
303
304All vertical values are relative to the baseline, on a y-axis pointing down.
305Zero is on the baseline, negative values are above the baseline, and positive
306values are below the baseline.
307
308<a href='#SkFontMetrics_fUnderlineThickness'>fUnderlineThickness</a> and <a href='#SkFontMetrics_fUnderlinePosition'>fUnderlinePosition</a> have a bit set in <a href='#SkFontMetrics_fFlags'>fFlags</a> if their values
309are valid, since their value may be zero.
310
311<a href='#SkFontMetrics_fStrikeoutThickness'>fStrikeoutThickness</a> and <a href='#SkFontMetrics_fStrikeoutPosition'>fStrikeoutPosition</a> have a bit set in <a href='#SkFontMetrics_fFlags'>fFlags</a> if their values
312are valid, since their value may be zero.
313
314<a name='SkFontMetrics_FontMetricsFlags'></a>
315
316---
317
318<a href='#SkFontMetrics_FontMetricsFlags'>FontMetricsFlags</a> are set in <a href='#SkFontMetrics_fFlags'>fFlags</a> when underline and strikeout metrics are valid;
319the underline or strikeout metric may be valid and zero.
320Fonts with embedded bitmaps may not have valid underline or strikeout metrics.
321
322### Constants
323
324<table style='border-collapse: collapse; width: 62.5em'>
325  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th>
326<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th>
327<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
328  <tr style='background-color: #f0f0f0; '>
329    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_kUnderlineThicknessIsValid_Flag'><code>SkFontMetrics::kUnderlineThicknessIsValid_Flag</code></a></td>
330    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x0001</td>
331    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
332set if fUnderlineThickness is valid</td>
333  </tr>
334  <tr>
335    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_kUnderlinePositionIsValid_Flag'><code>SkFontMetrics::kUnderlinePositionIsValid_Flag</code></a></td>
336    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x0002</td>
337    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
338set if fUnderlinePosition is valid</td>
339  </tr>
340  <tr style='background-color: #f0f0f0; '>
341    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_kStrikeoutThicknessIsValid_Flag'><code>SkFontMetrics::kStrikeoutThicknessIsValid_Flag</code></a></td>
342    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x0004</td>
343    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
344set if fStrikeoutThickness is valid</td>
345  </tr>
346  <tr>
347    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_kStrikeoutPositionIsValid_Flag'><code>SkFontMetrics::kStrikeoutPositionIsValid_Flag</code></a></td>
348    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x0008</td>
349    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
350set if fStrikeoutPosition is valid</td>
351  </tr>
352</table><table style='border-collapse: collapse; width: 62.5em'>
353
354  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Type</th>
355<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Member</th>
356<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
357  <tr style='background-color: #f0f0f0; '>
358    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>uint32_t</td>
359    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fFlags'><code>fFlags</code></a></td>
360    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
361is set to FontMetricsFlags when metrics are valid</td>
362  </tr>
363  <tr>
364    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
365    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fTop'><code>fTop</code></a></td>
366    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
367Greatest extent above the baseline for any glyph.
368Typically less than zero.
369</td>
370  </tr>
371  <tr style='background-color: #f0f0f0; '>
372    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
373    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fAscent'><code>fAscent</code></a></td>
374    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
375Recommended distance above the baseline to reserve for a line of text.
376Typically less than zero.
377</td>
378  </tr>
379  <tr>
380    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
381    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fDescent'><code>fDescent</code></a></td>
382    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
383Recommended distance below the baseline to reserve for a line of text.
384Typically greater than zero.
385</td>
386  </tr>
387  <tr style='background-color: #f0f0f0; '>
388    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
389    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fBottom'><code>fBottom</code></a></td>
390    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
391Greatest extent below the baseline for any glyph.
392Typically greater than zero.
393</td>
394  </tr>
395  <tr>
396    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
397    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fLeading'><code>fLeading</code></a></td>
398    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
399Recommended distance to add between lines of text.
400Typically greater than or equal to zero.
401</td>
402  </tr>
403  <tr style='background-color: #f0f0f0; '>
404    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
405    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fAvgCharWidth'><code>fAvgCharWidth</code></a></td>
406    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
407Average character width, if it is available.
408Zero if no average width is stored in the font.
409</td>
410  </tr>
411  <tr>
412    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
413    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fMaxCharWidth'><code>fMaxCharWidth</code></a></td>
414    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
415maximum character width</td>
416  </tr>
417  <tr style='background-color: #f0f0f0; '>
418    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
419    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fXMin'><code>fXMin</code></a></td>
420    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
421Minimum bounding box x-axis value for all <a href='#Glyph'>Glyphs</a>.
422Typically less than zero.
423</td>
424  </tr>
425  <tr>
426    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
427    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fXMax'><code>fXMax</code></a></td>
428    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
429Maximum bounding box x-axis value for all <a href='#Glyph'>Glyphs</a>.
430Typically greater than zero.
431</td>
432  </tr>
433  <tr style='background-color: #f0f0f0; '>
434    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
435    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fXHeight'><code>fXHeight</code></a></td>
436    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
437May be zero if no lower-case height is stored in the font.
438</td>
439  </tr>
440  <tr>
441    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
442    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fCapHeight'><code>fCapHeight</code></a></td>
443    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
444May be zero if no upper-case height is stored in the font.
445</td>
446  </tr>
447  <tr style='background-color: #f0f0f0; '>
448    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
449    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fUnderlineThickness'><code>fUnderlineThickness</code></a></td>
450    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
451If the metric is valid, the <a href='#SkFontMetrics_kUnderlineThicknessIsValid_Flag'>kUnderlineThicknessIsValid Flag</a> is set in <a href='#SkFontMetrics_fFlags'>fFlags</a>.
452If <a href='#SkFontMetrics_kUnderlineThicknessIsValid_Flag'>kUnderlineThicknessIsValid Flag</a> is clear, <a href='#SkFontMetrics_fUnderlineThickness'>fUnderlineThickness</a> is zero.
453</td>
454  </tr>
455  <tr>
456    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
457    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fUnderlinePosition'><code>fUnderlinePosition</code></a></td>
458    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
459Position of the top of the underline stroke relative to the baseline.
460Typically positive when valid.
461
462If the metric is valid, the <a href='#SkFontMetrics_kUnderlinePositionIsValid_Flag'>kUnderlinePositionIsValid Flag</a> is set in <a href='#SkFontMetrics_fFlags'>fFlags</a>.
463If <a href='#SkFontMetrics_kUnderlinePositionIsValid_Flag'>kUnderlinePositionIsValid Flag</a> is clear, <a href='#SkFontMetrics_fUnderlinePosition'>fUnderlinePosition</a> is zero.
464</td>
465  </tr>
466  <tr style='background-color: #f0f0f0; '>
467    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
468    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fStrikeoutThickness'><code>fStrikeoutThickness</code></a></td>
469    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
470If the metric is valid, the <a href='#SkFontMetrics_kStrikeoutThicknessIsValid_Flag'>kStrikeoutThicknessIsValid Flag</a> is set in <a href='#SkFontMetrics_fFlags'>fFlags</a>.
471If <a href='#SkFontMetrics_kStrikeoutThicknessIsValid_Flag'>kStrikeoutThicknessIsValid Flag</a> is clear, <a href='#SkFontMetrics_fStrikeoutThickness'>fStrikeoutThickness</a> is zero.
472</td>
473  </tr>
474  <tr>
475    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
476    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkFontMetrics_fStrikeoutPosition'><code>fStrikeoutPosition</code></a></td>
477    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
478Position of the bottom of the strikeout stroke relative to the baseline.
479Typically negative when valid.
480
481If the metric is valid, the <a href='#SkFontMetrics_kStrikeoutPositionIsValid_Flag'>kStrikeoutPositionIsValid Flag</a> is set in <a href='#SkFontMetrics_fFlags'>fFlags</a>.
482If <a href='#SkFontMetrics_kStrikeoutPositionIsValid_Flag'>kStrikeoutPositionIsValid Flag</a> is clear, <a href='#SkFontMetrics_fStrikeoutPosition'>fStrikeoutPosition</a> is zero.
483</td>
484  </tr>
485</table>
486
487<a name='SkFontMetrics_hasUnderlineThickness'></a>
488
489---
490
491<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
492bool <a href='#SkFontMetrics_hasUnderlineThickness'>hasUnderlineThickness</a>(<a href='#SkScalar'>SkScalar</a>* thickness) const
493</pre>
494
495<a name='SkFontMetrics_hasUnderlinePosition'></a>
496
497---
498
499<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
500bool <a href='#SkFontMetrics_hasUnderlinePosition'>hasUnderlinePosition</a>(<a href='#SkScalar'>SkScalar</a>* position) const
501</pre>
502
503<a name='SkFontMetrics_hasStrikeoutThickness'></a>
504
505---
506
507<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
508bool <a href='#SkFontMetrics_hasStrikeoutThickness'>hasStrikeoutThickness</a>(<a href='#SkScalar'>SkScalar</a>* thickness) const
509</pre>
510
511<a name='SkFontMetrics_hasStrikeoutPosition'></a>
512
513---
514
515<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
516bool <a href='#SkFontMetrics_hasStrikeoutPosition'>hasStrikeoutPosition</a>(<a href='#SkScalar'>SkScalar</a>* position) const
517</pre>
518
519<a name='GrContext'></a>
520
521---
522
523<a name='GrContext_flush'></a>
524
525---
526
527<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
528void <a href='#GrContext_flush'>flush</a>()
529</pre>
530
531<a name='ID'></a>
532
533<a name='ArcTo'></a>
534
535<a name='SkISize'></a>
536
537---
538
539<a name='SkISize_width'></a>
540
541---
542
543<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
544int32_t <a href='#SkISize_width'>width</a>() const
545</pre>
546
547<a name='SkISize_height'></a>
548
549---
550
551<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
552int32_t <a href='#SkISize_height'>height</a>() const
553</pre>
554
555<a name='SkImageFilter'></a>
556
557---
558
559<a name='SkMaskFilter'></a>
560
561---
562
563<a name='SkMetaData'></a>
564
565---
566
567### Constants
568
569<table style='border-collapse: collapse; width: 62.5em'>
570  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th>
571<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th>
572<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
573  <tr>
574    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkPaintDefaults_Hinting'><code>SkPaintDefaults_Hinting</code></a></td>
575    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td>
576    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
577</td>
578  </tr>
579  <tr style='background-color: #f0f0f0; '>
580    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkPaintDefaults_TextSize'><code>SkPaintDefaults_TextSize</code></a></td>
581    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>12</td>
582    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
583</td>
584  </tr>
585  <tr>
586    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkPaintDefaults_MiterLimit'><code>SkPaintDefaults_MiterLimit</code></a></td>
587    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>4</td>
588    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
589</td>
590  </tr>
591
592
593<a name='SkPathOp'></a>
594
595---
596
597</table>
598
599<a name='Op'></a>
600
601---
602
603<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
604bool SK_API <a href='#Op'>Op</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& one, const <a href='SkPath_Reference#SkPath'>SkPath</a>& two, <a href='#SkPathOp'>SkPathOp</a> op, <a href='SkPath_Reference#SkPath'>SkPath</a>* result)
605</pre>
606
607<a name='SkPathEffect'></a>
608
609---
610
611<a name='SkPictureRecorder'></a>
612
613---
614
615<a name='SkPictureRecorder_beginRecording'></a>
616
617---
618
619<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
620<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>* <a href='#SkPictureRecorder_beginRecording'>beginRecording</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& bounds, <a href='#SkBBHFactory'>SkBBHFactory</a>* bbhFactory = NULL,
621                         uint32_t recordFlags = 0)
622</pre>
623
624<a name='Storage'></a>
625
626<a name='SkPixelRef'></a>
627
628---
629
630<a name='SkPixelRef_width'></a>
631
632---
633
634<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
635int <a href='#SkPixelRef_width'>width</a>() const
636</pre>
637
638<a name='SkPixelRef_height'></a>
639
640---
641
642<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
643int <a href='#SkPixelRef_height'>height</a>() const
644</pre>
645
646<a name='SkPixelRef_isImmutable'></a>
647
648---
649
650<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
651bool <a href='#SkPixelRef_isImmutable'>isImmutable</a>() const
652</pre>
653
654<a name='SkPixelRef_setImmutable'></a>
655
656---
657
658<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
659void <a href='#SkPixelRef_setImmutable'>setImmutable</a>()
660</pre>
661
662<a name='SkPoint3'></a>
663
664---
665
666<a name='Arct'></a>
667
668<a name='SkRSXform'></a>
669
670---<table style='border-collapse: collapse; width: 62.5em'>
671
672  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Type</th>
673<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Member</th>
674<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
675  <tr style='background-color: #f0f0f0; '>
676    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
677    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRSXform_fSCos'><code>fSCos</code></a></td>
678    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
679</td>
680  </tr>
681  <tr>
682    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
683    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRSXform_fSSin'><code>fSSin</code></a></td>
684    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
685</td>
686  </tr>
687  <tr style='background-color: #f0f0f0; '>
688    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
689    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRSXform_fTx'><code>fTx</code></a></td>
690    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
691</td>
692  </tr>
693  <tr>
694    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkScalar</td>
695    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRSXform_fTy'><code>fTy</code></a></td>
696    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
697</td>
698  </tr>
699</table>
700
701<a name='SkRasterHandleAllocator'></a>
702
703---
704
705<a name='SkRasterHandleAllocator_Handle'></a>
706
707---
708
709<a name='SkRasterHandleAllocator_Rec'></a>
710
711---
712
713<a name='SkRasterHandleAllocator_MakeCanvas'></a>
714
715---
716
717<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
718static std::unique_ptr&lt;<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>&gt; <a href='#SkRasterHandleAllocator_MakeCanvas'>MakeCanvas</a>(std::unique_ptr&lt;<a href='#SkRasterHandleAllocator'>SkRasterHandleAllocator</a>&gt;,
719                                            const <a href='SkImageInfo_Reference#SkImageInfo'>SkImageInfo</a>&, const <a href='#SkRasterHandleAllocator_Rec'>Rec</a>* rec = nullptr)
720</pre>
721
722<a name='SkRefCnt'></a>
723
724---
725
726<a name='GrBackendRenderTarget'></a>
727
728---
729
730<a name='GrBackendRenderTarget_isValid'></a>
731
732---
733
734<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
735bool <a href='#GrBackendRenderTarget_isValid'>isValid</a>() const
736</pre>
737
738<a name='GrRenderTarget'></a>
739
740---
741
742<a name='Canvas'></a>
743
744<a name='Arc'></a>
745
746<a name='Sweep_Flag'></a>
747
748<a name='SkScalar'></a>
749
750---
751
752<a name='SkSerialProcs'></a>
753
754---<table style='border-collapse: collapse; width: 62.5em'>
755
756  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Type</th>
757<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Member</th>
758<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
759  <tr style='background-color: #f0f0f0; '>
760    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkSerialPictureProc</td>
761    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkSerialProcs_fPictureProc'><code>fPictureProc</code></a></td>
762    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
763</td>
764  </tr>
765  <tr>
766    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>void*</td>
767    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkSerialProcs_fPictureCtx'><code>fPictureCtx</code></a></td>
768    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
769</td>
770  </tr>
771  <tr style='background-color: #f0f0f0; '>
772    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>SkSerialTypefaceProc</td>
773    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkSerialProcs_fTypefaceProc'><code>fTypefaceProc</code></a></td>
774    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
775</td>
776  </tr>
777  <tr>
778    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>void*</td>
779    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkSerialProcs_fTypefaceCtx'><code>fTypefaceCtx</code></a></td>
780    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
781</td>
782  </tr>
783</table>
784
785<a name='SkShader'></a>
786
787---
788
789<a name='SkShader_TileMode'></a>
790
791---
792
793### Constants
794
795<table style='border-collapse: collapse; width: 62.5em'>
796  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th>
797<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th>
798<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
799  <tr style='background-color: #f0f0f0; '>
800    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkShader_kClamp_TileMode'><code>SkShader::kClamp_TileMode</code></a></td>
801    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
802    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
803</td>
804  </tr>
805  <tr>
806    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkShader_kRepeat_TileMode'><code>SkShader::kRepeat_TileMode</code></a></td>
807    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td>
808    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
809</td>
810  </tr>
811  <tr style='background-color: #f0f0f0; '>
812    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkShader_kMirror_TileMode'><code>SkShader::kMirror_TileMode</code></a></td>
813    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td>
814    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
815</td>
816  </tr>
817</table>
818
819<a name='SkShader_MakeBitmapShader'></a>
820
821---
822
823<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
824static <a href='#sk_sp'>sk sp</a>&lt;<a href='#SkShader'>SkShader</a>&gt; <a href='#SkShader_MakeBitmapShader'>MakeBitmapShader</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a>& src, <a href='#SkShader_TileMode'>TileMode</a> tmx, <a href='#SkShader_TileMode'>TileMode</a> tmy,
825                                        const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* localMatrix = nullptr)
826</pre>
827
828<a name='SkShader_MakeCompose'></a>
829
830---
831
832<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
833static <a href='#sk_sp'>sk sp</a>&lt;<a href='#SkShader'>SkShader</a>&gt; <a href='#SkShader_MakeCompose'>MakeCompose</a>(<a href='#sk_sp'>sk sp</a>&lt;<a href='#SkShader'>SkShader</a>&gt; dst, <a href='#sk_sp'>sk sp</a>&lt;<a href='#SkShader'>SkShader</a>&gt; src, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode,
834                                   float lerp = 1)
835</pre>
836
837<a name='SkSize'></a>
838
839---
840
841<a name='SkSize_width'></a>
842
843---
844
845<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
846int32_t <a href='#SkSize_width'>width</a>() const
847</pre>
848
849<a name='SkSize_height'></a>
850
851---
852
853<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
854int32_t <a href='#SkSize_height'>height</a>() const
855</pre>
856
857<a name='sk_sp'></a>
858
859---
860
861<a name='SkStreamAsset'></a>
862
863---
864
865<a name='SkString'></a>
866
867---
868
869<a name='SkSurfaceCharacterization'></a>
870
871---
872
873<a name='SkSurfaceProps'></a>
874
875---
876
877<a name='Legacy_Font_Host'></a>
878
879<a name='SkSurfaceProps_InitType'></a>
880
881---
882
883### Constants
884
885<table style='border-collapse: collapse; width: 62.5em'>
886  <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th>
887<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th>
888<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
889  <tr style='background-color: #f0f0f0; '>
890    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkSurfaceProps_kLegacyFontHost_InitType'><code>SkSurfaceProps::kLegacyFontHost_InitType</code></a></td>
891    <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
892    <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
893</td>
894  </tr>
895</table>
896
897#
898Topic
899
900<a name='GrBackendTexture'></a>
901
902---
903
904<a name='GrBackendTexture_isValid'></a>
905
906---
907
908<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
909bool <a href='#GrBackendTexture_isValid'>isValid</a>() const
910</pre>
911
912<a name='ID'></a>
913
914<a name='SkFontID'></a>
915
916---
917
918<a name='SkTypeface'></a>
919
920---
921
922<a name='SkTypeface_uniqueID'></a>
923
924---
925
926<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
927<a href='#SkFontID'>SkFontID</a> <a href='#SkTypeface_uniqueID'>uniqueID</a>() const
928</pre>
929
930<a name='SkVertices'></a>
931
932---
933
934<a name='SkVertices_Bone'></a>
935
936---
937
938<a name='Colors'></a>
939
940<a name='Texs'></a>
941
942<a name='SkXfermodeImageFilter'></a>
943
944---
945
946<a name='SkYUVAIndex'></a>
947
948---
949
950