1 undocumented 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"> 50 static <a href='#sk_sp'>sk sp</a><<a href='#SkColorSpace'>SkColorSpace</a>> <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"> 58 bool <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"> 66 static 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"> 74 std::unique_ptr<<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>> SK_API <a href='#SkCreateColorSpaceXformCanvas'>SkCreateColorSpaceXformCanvas</a>(<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>* target, 75 <a href='#sk_sp'>sk sp</a><<a href='#SkColorSpace'>SkColorSpace</a>> targetCS) 76 </pre> 77 78 <a name='SkData'></a> 79 80 --- 81 82 <a name='SkDebugCanvas'></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"> 91 SK_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"> 168 void <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='kUTF8_SkTextEncoding'><code>kUTF8_SkTextEncoding</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='kUTF16_SkTextEncoding'><code>kUTF16_SkTextEncoding</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='kUTF32_SkTextEncoding'><code>kUTF32_SkTextEncoding</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='kGlyphID_SkTextEncoding'><code>kGlyphID_SkTextEncoding</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='kNo_SkFontHinting'><code>kNo_SkFontHinting</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='kSlight_SkFontHinting'><code>kSlight_SkFontHinting</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='kNormal_SkFontHinting'><code>kNormal_SkFontHinting</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='kFull_SkFontHinting'><code>kFull_SkFontHinting</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 300 reflect the values 301 computed by <a href='#Font_Manager'>Font Manager</a> using <a href='#Typeface'>Typeface</a>. Values are set to zero if they are 302 not available. 303 304 All vertical values are relative to the baseline, on a y-axis pointing down. 305 Zero is on the baseline, negative values are above the baseline, and positive 306 values 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 309 are 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 312 are 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; 319 the underline or strikeout metric may be valid and zero. 320 Fonts 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; '> 332 set 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; '> 338 set 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; '> 344 set 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; '> 350 set 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; '> 361 is 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; '> 367 Greatest extent above the baseline for any glyph. 368 Typically 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; '> 375 Recommended distance above the baseline to reserve for a line of text. 376 Typically 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; '> 383 Recommended distance below the baseline to reserve for a line of text. 384 Typically 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; '> 391 Greatest extent below the baseline for any glyph. 392 Typically 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; '> 399 Recommended distance to add between lines of text. 400 Typically 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; '> 407 Average character width, if it is available. 408 Zero 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; '> 415 maximum 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; '> 421 Minimum bounding box x-axis value for all <a href='#Glyph'>Glyphs</a>. 422 Typically 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; '> 429 Maximum bounding box x-axis value for all <a href='#Glyph'>Glyphs</a>. 430 Typically 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; '> 437 May 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; '> 444 May 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; '> 451 If the metric is valid, the <a href='#SkFontMetrics_kUnderlineThicknessIsValid_Flag'>kUnderlineThicknessIsValid Flag</a> is set in <a href='#SkFontMetrics_fFlags'>fFlags</a>. 452 If <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; '> 459 Position of the top of the underline stroke relative to the baseline. 460 Typically positive when valid. 461 462 If the metric is valid, the <a href='#SkFontMetrics_kUnderlinePositionIsValid_Flag'>kUnderlinePositionIsValid Flag</a> is set in <a href='#SkFontMetrics_fFlags'>fFlags</a>. 463 If <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; '> 470 If the metric is valid, the <a href='#SkFontMetrics_kStrikeoutThicknessIsValid_Flag'>kStrikeoutThicknessIsValid Flag</a> is set in <a href='#SkFontMetrics_fFlags'>fFlags</a>. 471 If <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; '> 478 Position of the bottom of the strikeout stroke relative to the baseline. 479 Typically negative when valid. 480 481 If the metric is valid, the <a href='#SkFontMetrics_kStrikeoutPositionIsValid_Flag'>kStrikeoutPositionIsValid Flag</a> is set in <a href='#SkFontMetrics_fFlags'>fFlags</a>. 482 If <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"> 492 bool <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"> 500 bool <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"> 508 bool <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"> 516 bool <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"> 528 void <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"> 544 int32_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"> 552 int32_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"> 604 bool 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"> 635 int <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"> 643 int <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"> 651 bool <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"> 659 void <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"> 718 static std::unique_ptr<<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>> <a href='#SkRasterHandleAllocator_MakeCanvas'>MakeCanvas</a>(std::unique_ptr<<a href='#SkRasterHandleAllocator'>SkRasterHandleAllocator</a>>, 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"> 735 bool <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"> 824 static <a href='#sk_sp'>sk sp</a><<a href='#SkShader'>SkShader</a>> <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"> 833 static <a href='#sk_sp'>sk sp</a><<a href='#SkShader'>SkShader</a>> <a href='#SkShader_MakeCompose'>MakeCompose</a>(<a href='#sk_sp'>sk sp</a><<a href='#SkShader'>SkShader</a>> dst, <a href='#sk_sp'>sk sp</a><<a href='#SkShader'>SkShader</a>> 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"> 846 int32_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"> 854 int32_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 # 898 Topic 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"> 909 bool <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