diff options
author | Cary Clark <caryclark@skia.org> | 2018-07-11 16:18:41 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-11 21:21:28 +0000 |
commit | 80247e594d1fb168e11a19ce6a73a7e7169ec1f5 (patch) | |
tree | 005fe49ae8985ff6b80e73c71fd255220501c199 /site | |
parent | 8885550dbc1972311cdf8f08b6fc8c0778fc1d33 (diff) |
Publish docs for rrect, picture, blendmode
Complete basic docs for SkRRect, SkPicture, SkBlendMode.
Add a new rule that checks the main description tense.
Check for spelling errors.
R=caryclark@google.com
Docs-Preview: https://skia.org/?cl=138542
Bug: skia:6898
Change-Id: Iba547873775a89f1d652be9b0219b84ffa8d0628
Reviewed-on: https://skia-review.googlesource.com/138542
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'site')
-rw-r--r-- | site/user/api/METADATA | 5 | ||||
-rw-r--r-- | site/user/api/SkBitmap_Reference.md | 22 | ||||
-rw-r--r-- | site/user/api/SkBlendMode_Reference.md | 60 | ||||
-rw-r--r-- | site/user/api/SkCanvas_Reference.md | 199 | ||||
-rw-r--r-- | site/user/api/SkColor_Reference.md | 8 | ||||
-rw-r--r-- | site/user/api/SkImageInfo_Reference.md | 28 | ||||
-rw-r--r-- | site/user/api/SkImage_Reference.md | 2 | ||||
-rw-r--r-- | site/user/api/SkMatrix_Reference.md | 96 | ||||
-rw-r--r-- | site/user/api/SkPaint_Reference.md | 65 | ||||
-rw-r--r-- | site/user/api/SkPath_Reference.md | 86 | ||||
-rw-r--r-- | site/user/api/SkPicture_Reference.md | 196 | ||||
-rw-r--r-- | site/user/api/SkPoint_Reference.md | 1 | ||||
-rw-r--r-- | site/user/api/SkRRect_Reference.md | 201 | ||||
-rw-r--r-- | site/user/api/SkSurface_Reference.md | 6 | ||||
-rw-r--r-- | site/user/api/catalog.htm | 160 | ||||
-rw-r--r-- | site/user/api/index.md | 5 | ||||
-rw-r--r-- | site/user/api/undocumented.md | 4 | ||||
-rw-r--r-- | site/user/api/usingBookmaker.md | 6 |
18 files changed, 661 insertions, 489 deletions
diff --git a/site/user/api/METADATA b/site/user/api/METADATA index f0db250f41..590bcdc72a 100644 --- a/site/user/api/METADATA +++ b/site/user/api/METADATA @@ -2,7 +2,10 @@ "fileOrder": [ "SkAutoCanvasRestore_Reference", "SkBitmap_Reference", + "SkBlendMode_Reference", "SkCanvas_Reference", + "SkColor_Reference", + "SkColor4f_Reference", "SkImage_Reference", "SkImageInfo_Reference", "SkIPoint_Reference", @@ -11,8 +14,10 @@ "SkMatrix_Reference", "SkPaint_Reference", "SkPath_Reference", + "SkPicture_Reference", "SkPixmap_Reference", "SkPoint_Reference", + "SkRRect_Reference", "SkRect_Reference", "SkSurface_Reference", "usingBookmaker", diff --git a/site/user/api/SkBitmap_Reference.md b/site/user/api/SkBitmap_Reference.md index 61550cbed9..625fdfbadf 100644 --- a/site/user/api/SkBitmap_Reference.md +++ b/site/user/api/SkBitmap_Reference.md @@ -1043,7 +1043,7 @@ Returns pixel count in each row. Should be equal or less than: <a href='#SkBitmap_rowBytes'>rowBytes</a> / <a href='#SkBitmap_info'>info</a>.<a href='#SkBitmap_bytesPerPixel'>bytesPerPixel</a>. -Maybe be less than <a href='#SkBitmap_pixelRef'>pixelRef</a>.<a href='#SkBitmap_width'>width</a>. Will not exceed <a href='#SkBitmap_pixelRef'>pixelRef</a>.<a href='#SkBitmap_width'>width</a> less +May be less than <a href='#SkBitmap_pixelRef'>pixelRef</a>.<a href='#SkBitmap_width'>width</a>. Will not exceed <a href='#SkBitmap_pixelRef'>pixelRef</a>.<a href='#SkBitmap_width'>width</a> less <a href='#SkBitmap_pixelRefOrigin'>pixelRefOrigin</a>.fX. ### Return Value @@ -1408,7 +1408,7 @@ width: 2 height: 2 empty: false bool <a href='#SkBitmap_isNull'>isNull</a>() const </pre> -Return true if <a href='undocumented#Pixel_Ref'>Pixel Ref</a> is nullptr. +Returns true if <a href='undocumented#Pixel_Ref'>Pixel Ref</a> is nullptr. Does not check if <a href='#SkBitmap_width'>width</a> or <a href='#SkBitmap_height'>height</a> are zero; call <a href='#SkBitmap_drawsNothing'>drawsNothing</a> to check <a href='#SkBitmap_width'>width</a>, <a href='#SkBitmap_height'>height</a>, and <a href='undocumented#Pixel_Ref'>Pixel Ref</a>. @@ -1444,7 +1444,7 @@ allocated bitmap does have pixels bool <a href='#SkBitmap_drawsNothing'>drawsNothing</a>() const </pre> -Return true if <a href='#SkBitmap_width'>width</a> or <a href='#SkBitmap_height'>height</a> are zero, or if <a href='undocumented#Pixel_Ref'>Pixel Ref</a> is nullptr. +Returns true if <a href='#SkBitmap_width'>width</a> or <a href='#SkBitmap_height'>height</a> are zero, or if <a href='undocumented#Pixel_Ref'>Pixel Ref</a> is nullptr. If true, <a href='#Bitmap'>Bitmap</a> has no effect when drawn or drawn into. ### Return Value @@ -1744,8 +1744,8 @@ isOpaque: true bool <a href='#SkBitmap_isVolatile'>isVolatile</a>() const </pre> -If true, provides a hint to caller that pixels should not -be cached. Only true if <a href='#SkBitmap_setIsVolatile'>setIsVolatile</a> has been called to mark as volatile. +Provides a hint to caller that pixels should not be cached. Only true if +<a href='#SkBitmap_setIsVolatile'>setIsVolatile</a> has been called to mark as volatile. Volatile state is not shared by other bitmaps sharing the same <a href='undocumented#Pixel_Ref'>Pixel Ref</a>. @@ -2058,6 +2058,8 @@ Calls <a href='#SkBitmap_reset'>reset</a> and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkBitmap_setInfo_imageInfo'><code><strong>imageInfo</strong></code></a></td> @@ -3398,6 +3400,8 @@ Input is not validated. Triggers an assert() if built with SK_DEBUG defined and: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkBitmap_getAddr32_x'><code><strong>x</strong></code></a></td> @@ -3452,6 +3456,8 @@ Input is not validated. Triggers an assert() if built with SK_DEBUG defined and: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkBitmap_getAddr16_x'><code><strong>x</strong></code></a></td> @@ -3506,6 +3512,8 @@ Input is not validated. Triggers an assert() if built with SK_DEBUG defined and: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkBitmap_getAddr8_x'><code><strong>x</strong></code></a></td> @@ -3565,6 +3573,8 @@ Return false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkBitmap_extractSubset_dst'><code><strong>dst</strong></code></a></td> @@ -3633,6 +3643,8 @@ row to the next. Returns true if pixels are copied. Returns false if: </tr> </table> +. + <a href='#Pixels'>Pixels</a> are copied only if pixel conversion is possible. If <a href='#Bitmap'>Bitmap</a> <a href='#SkBitmap_colorType'>colorType</a> is <a href='SkImageInfo_Reference#kGray_8_SkColorType'>kGray_8_SkColorType</a>, or <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>; <a href='#SkBitmap_readPixels_dstInfo'>dstInfo</a>.<a href='#SkBitmap_colorType'>colorType</a> must match. If <a href='#Bitmap'>Bitmap</a> <a href='#SkBitmap_colorType'>colorType</a> is <a href='SkImageInfo_Reference#kGray_8_SkColorType'>kGray_8_SkColorType</a>, <a href='#SkBitmap_readPixels_dstInfo'>dstInfo</a>.<a href='#SkBitmap_colorSpace'>colorSpace</a> must match. diff --git a/site/user/api/SkBlendMode_Reference.md b/site/user/api/SkBlendMode_Reference.md index 80e98b474f..b00e325725 100644 --- a/site/user/api/SkBlendMode_Reference.md +++ b/site/user/api/SkBlendMode_Reference.md @@ -292,7 +292,7 @@ components color information, using <a href='https://www.w3.org/TR/compositing-1 <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kClear'><code>SkBlendMode::kClear</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Clear'>Blend Mode Clear</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Clear'>Clear</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with <a href='SkColor_Reference#Alpha'>Alpha</a> and <a href='#Color'>Color</a> components set to zero; a fully transparent pixel. @@ -301,7 +301,7 @@ a fully transparent pixel. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kSrc'><code>SkBlendMode::kSrc</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Src'>Blend Mode Src</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Src'>Src</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with source. Destination alpha and color component values are ignored. @@ -310,7 +310,7 @@ are ignored. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kDst'><code>SkBlendMode::kDst</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Dst'>Blend Mode Dst</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Dst'>Dst</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Preserves destination, ignoring source. Drawing with <a href='SkPaint_Reference#Paint'>Paint</a> set to <a href='#SkBlendMode_kDst'>kDst</a> has no effect. @@ -319,7 +319,7 @@ no effect. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kSrcOver'><code>SkBlendMode::kSrcOver</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Src_Over'>Blend Mode Src Over</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Src_Over'>Src Over</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with source blended with destination. If source is opaque, replaces destination with source. Used as the default <a href='#Blend_Mode'>Blend Mode</a> for <a href='SkPaint_Reference#SkPaint'>SkPaint</a>. @@ -328,7 +328,7 @@ replaces destination with source. Used as the default <a href='#Blend_Mode'>Blen <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kDstOver'><code>SkBlendMode::kDstOver</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>4</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Dst_Over'>Blend Mode Dst Over</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Dst_Over'>Dst Over</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with destination blended with source. If destination is opaque, has no effect. @@ -337,7 +337,7 @@ has no effect. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kSrcIn'><code>SkBlendMode::kSrcIn</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>5</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Src_In'>Blend Mode Src In</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Src_In'>Src In</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with source using destination opacity. </td> @@ -345,7 +345,7 @@ Replaces destination with source using destination opacity. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kDstIn'><code>SkBlendMode::kDstIn</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>6</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Dst_In'>Blend Mode Dst In</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Dst_In'>Dst In</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Scales destination opacity by source opacity. </td> @@ -353,7 +353,7 @@ Scales destination opacity by source opacity. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kSrcOut'><code>SkBlendMode::kSrcOut</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>7</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Src_Out'>Blend Mode Src Out</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Src_Out'>Src Out</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with source using the inverse of destination opacity, drawing source fully where destination opacity is zero. @@ -362,7 +362,7 @@ drawing source fully where destination opacity is zero. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kDstOut'><code>SkBlendMode::kDstOut</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>8</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Dst_Out'>Blend Mode Dst Out</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Dst_Out'>Dst Out</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination opacity with inverse of source opacity. If source is transparent, has no effect. @@ -371,7 +371,7 @@ transparent, has no effect. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kSrcATop'><code>SkBlendMode::kSrcATop</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>9</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Src_Atop'>Blend Mode Src Atop</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Src_Atop'>Src Atop</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Blends destination with source using read destination opacity. </td> @@ -379,7 +379,7 @@ Blends destination with source using read destination opacity. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kDstATop'><code>SkBlendMode::kDstATop</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>10</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Dst_Atop'>Blend Mode Dst Atop</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Dst_Atop'>Dst Atop</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Blends destination with source using source opacity. </td> @@ -387,7 +387,7 @@ Blends destination with source using source opacity. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kXor'><code>SkBlendMode::kXor</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>11</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Xor'>Blend Mode Xor</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Xor'>Xor</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Blends destination by exchanging transparency of the source and destination. </td> @@ -395,7 +395,7 @@ Blends destination by exchanging transparency of the source and destination. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kPlus'><code>SkBlendMode::kPlus</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>12</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Plus'>Blend Mode Plus</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Plus'>Plus</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with source and destination added together. </td> @@ -403,7 +403,7 @@ Replaces destination with source and destination added together. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kModulate'><code>SkBlendMode::kModulate</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>13</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Modulate'>Blend Mode Modulate</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Modulate'>Modulate</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with source and destination multiplied together. </td> @@ -411,7 +411,7 @@ Replaces destination with source and destination multiplied together. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kScreen'><code>SkBlendMode::kScreen</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>14</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Screen'>Blend Mode Screen</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Screen'>Screen</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with inverted source and destination multiplied together. </td> @@ -426,7 +426,7 @@ last Porter_Duff blend mode</td> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kOverlay'><code>SkBlendMode::kOverlay</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>15</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Overlay'>Blend Mode Overlay</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Overlay'>Overlay</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with multiply or screen, depending on destination. </td> @@ -434,7 +434,7 @@ Replaces destination with multiply or screen, depending on destination. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kDarken'><code>SkBlendMode::kDarken</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>16</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Darken'>Blend Mode Darken</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Darken'>Darken</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with darker of source and destination. </td> @@ -442,7 +442,7 @@ Replaces destination with darker of source and destination. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kLighten'><code>SkBlendMode::kLighten</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>17</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Lighten'>Blend Mode Lighten</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Lighten'>Lighten</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces destination with lighter of source and destination. </td> @@ -450,7 +450,7 @@ Replaces destination with lighter of source and destination. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kColorDodge'><code>SkBlendMode::kColorDodge</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>18</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Color_Dodge'>Blend Mode Color Dodge</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Dodge'>Color Dodge</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Makes destination brighter to reflect source. </td> @@ -458,7 +458,7 @@ Makes destination brighter to reflect source. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kColorBurn'><code>SkBlendMode::kColorBurn</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>19</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Color_Burn'>Blend Mode Color Burn</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Burn'>Color Burn</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Makes destination darker to reflect source. </td> @@ -466,7 +466,7 @@ Makes destination darker to reflect source. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kHardLight'><code>SkBlendMode::kHardLight</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>20</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Hard_Light'>Blend Mode Hard Light</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Hard_Light'>Hard Light</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Makes destination lighter or darker, depending on source. </td> @@ -474,7 +474,7 @@ Makes destination lighter or darker, depending on source. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kSoftLight'><code>SkBlendMode::kSoftLight</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>21</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Soft_Light'>Blend Mode Soft Light</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Soft_Light'>Soft Light</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Makes destination lighter or darker, depending on source. </td> @@ -482,7 +482,7 @@ Makes destination lighter or darker, depending on source. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kDifference'><code>SkBlendMode::kDifference</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>22</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Difference'>Blend Mode Difference</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Difference'>Difference</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Subtracts darker from lighter with higher contrast. </td> @@ -490,7 +490,7 @@ Subtracts darker from lighter with higher contrast. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kExclusion'><code>SkBlendMode::kExclusion</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>23</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Exclusion'>Blend Mode Exclusion</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Exclusion'>Exclusion</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Subtracts darker from lighter with lower contrast. </td> @@ -498,7 +498,7 @@ Subtracts darker from lighter with lower contrast. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kMultiply'><code>SkBlendMode::kMultiply</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>24</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Multiply'>Blend Mode Multiply</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Multiply'>Multiply</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Multiplies source with destination, darkening image. </td> @@ -514,7 +514,7 @@ Last blend mode operating separately on components. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kHue'><code>SkBlendMode::kHue</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>25</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Hue'>Blend Mode Hue</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Hue'>Hue</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces hue of destination with hue of source, leaving saturation and luminosity unchanged. @@ -523,7 +523,7 @@ unchanged. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kSaturation'><code>SkBlendMode::kSaturation</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>26</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Saturation'>Blend Mode Saturation</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Saturation'>Saturation</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces saturation of destination saturation hue of source, leaving hue and luminosity unchanged. @@ -532,7 +532,7 @@ luminosity unchanged. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kColor'><code>SkBlendMode::kColor</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>27</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Color'>Blend Mode Color</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color'>Color</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces hue and saturation of destination with hue and saturation of source, leaving luminosity unchanged. @@ -541,7 +541,7 @@ leaving luminosity unchanged. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkBlendMode_kLuminosity'><code>SkBlendMode::kLuminosity</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>28</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Blend_Mode_Luminosity'>Blend Mode Luminosity</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Luminosity'>Luminosity</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Replaces luminosity of destination with luminosity of source, leaving hue and saturation unchanged. @@ -770,7 +770,7 @@ Da as destination <a href='SkColor_Reference#Alpha'>Alpha</a>, Dc as destination scaling <a href='SkColor_Reference#Alpha'>Alpha</a> and <a href='#Color'>Color</a> components by the lesser of the values. <a href='#SkBlendMode_kModulate'>SkBlendMode::kModulate</a> differs from <a href='#SkBlendMode_kMultiply'>SkBlendMode::kMultiply</a> in two ways. <a href='#SkBlendMode_kModulate'>SkBlendMode::kModulate</a> like <a href='#SkBlendMode_kSrcATop'>SkBlendMode::kSrcATop</a> alters the destination inside -the destination area, as if the destination <a href='SkColor_Reference#Alpha'>Alpha</a> defined the boudaries of a +the destination area, as if the destination <a href='SkColor_Reference#Alpha'>Alpha</a> defined the boundaries of a soft clip. <a href='#SkBlendMode_kMultiply'>SkBlendMode::kMultiply</a> like <a href='#SkBlendMode_kSrcOver'>SkBlendMode::kSrcOver</a> can alter the destination where the destination is transparent. <a href='#SkBlendMode_kModulate'>SkBlendMode::kModulate</a> computes the product of the source and destination using diff --git a/site/user/api/SkCanvas_Reference.md b/site/user/api/SkCanvas_Reference.md index ca2cc86795..4e24c9161b 100644 --- a/site/user/api/SkCanvas_Reference.md +++ b/site/user/api/SkCanvas_Reference.md @@ -816,7 +816,7 @@ soon explicit <a href='#SkCanvas'>SkCanvas</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a>& bitmap) </pre> -Construct a canvas that draws into <a href='#SkCanvas_copy_const_SkBitmap_bitmap'>bitmap</a>. +Constructs a canvas that draws into <a href='#SkCanvas_copy_const_SkBitmap_bitmap'>bitmap</a>. Sets <a href='undocumented#SkSurfaceProps_kLegacyFontHost_InitType'>SkSurfaceProps::kLegacyFontHost InitType</a> in constructed <a href='SkSurface_Reference#Surface'>Surface</a>. <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> is copied so that subsequently editing <a href='#SkCanvas_copy_const_SkBitmap_bitmap'>bitmap</a> will not affect @@ -895,7 +895,7 @@ Is a placeholder to allow specialized constructor; has no meaning. <a href='#SkCanvas'>SkCanvas</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a>& bitmap, <a href='#SkCanvas_ColorBehavior'>ColorBehavior</a> behavior) </pre> -Android framework only. +For use by Android framework only. ### Parameters @@ -920,7 +920,7 @@ Android framework only. <a href='#SkCanvas'>SkCanvas</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a>& bitmap, const <a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a>& props) </pre> -Construct a canvas that draws into <a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps_bitmap'>bitmap</a>. +Constructs a canvas that draws into <a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps_bitmap'>bitmap</a>. Use <a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps_props'>props</a> to match the device characteristics, like LCD striping. <a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps_bitmap'>bitmap</a> is copied so that subsequently editing <a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps_bitmap'>bitmap</a> will not affect @@ -1104,9 +1104,8 @@ emptyInfo == canvasInfo bool <a href='#SkCanvas_getProps'>getProps</a>(<a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a>* props) const </pre> -If <a href='#Canvas'>Canvas</a> is associated with <a href='undocumented#Raster_Surface'>Raster Surface</a> or -<a href='undocumented#GPU_Surface'>GPU Surface</a>, copies <a href='undocumented#Surface_Properties'>Surface Properties</a> and returns true. Otherwise, -return false and leave <a href='#SkCanvas_getProps_props'>props</a> unchanged. +Copies <a href='undocumented#Surface_Properties'>Surface Properties</a>, if <a href='#Canvas'>Canvas</a> is associated with <a href='undocumented#Raster_Surface'>Raster Surface</a> or +<a href='undocumented#GPU_Surface'>GPU Surface</a>, and returns true. Otherwise, returns false and leave <a href='#SkCanvas_getProps_props'>props</a> unchanged. ### Parameters @@ -1498,6 +1497,8 @@ Does not copy, and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkCanvas_readPixels_dstInfo'><code><strong>dstInfo</strong></code></a></td> @@ -1594,6 +1595,8 @@ Does not copy, and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkCanvas_readPixels_2_pixmap'><code><strong>pixmap</strong></code></a></td> @@ -1674,6 +1677,8 @@ Does not copy, and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkCanvas_readPixels_3_bitmap'><code><strong>bitmap</strong></code></a></td> @@ -1753,6 +1758,8 @@ Does not copy, and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkCanvas_writePixels_info'><code><strong>info</strong></code></a></td> @@ -1829,6 +1836,8 @@ Does not copy, and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkCanvas_writePixels_2_bitmap'><code><strong>bitmap</strong></code></a></td> @@ -2664,9 +2673,9 @@ Outside of the circle the mandrill is brightened. void <a href='#SkCanvas_translate'>translate</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy) </pre> -Translate <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_translate_dx'>dx</a> along the x-axis and <a href='#SkCanvas_translate_dy'>dy</a> along the y-axis. +Translates <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_translate_dx'>dx</a> along the x-axis and <a href='#SkCanvas_translate_dy'>dy</a> along the y-axis. -Mathematically, replace <a href='#Matrix'>Matrix</a> with a translation matrix +Mathematically, replaces <a href='#Matrix'>Matrix</a> with a translation matrix <a href='undocumented#Premultiply'>Premultiplied</a> with <a href='#Matrix'>Matrix</a>. This has the effect of moving the drawing by (<a href='#SkCanvas_translate_dx'>dx</a>, <a href='#SkCanvas_translate_dy'>dy</a>) before transforming @@ -2706,9 +2715,9 @@ follows translate of (50, 50). void <a href='#SkCanvas_scale'>scale</a>(<a href='undocumented#SkScalar'>SkScalar</a> sx, <a href='undocumented#SkScalar'>SkScalar</a> sy) </pre> -Scale <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_scale_sx'>sx</a> on the x-axis and <a href='#SkCanvas_scale_sy'>sy</a> on the y-axis. +Scales <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_scale_sx'>sx</a> on the x-axis and <a href='#SkCanvas_scale_sy'>sy</a> on the y-axis. -Mathematically, replace <a href='#Matrix'>Matrix</a> with a scale matrix +Mathematically, replaces <a href='#Matrix'>Matrix</a> with a scale matrix <a href='undocumented#Premultiply'>Premultiplied</a> with <a href='#Matrix'>Matrix</a>. This has the effect of scaling the drawing by (<a href='#SkCanvas_scale_sx'>sx</a>, <a href='#SkCanvas_scale_sy'>sy</a>) before transforming @@ -2741,9 +2750,9 @@ the result with <a href='#Matrix'>Matrix</a>. void <a href='#SkCanvas_rotate'>rotate</a>(<a href='undocumented#SkScalar'>SkScalar</a> degrees) </pre> -Rotate <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_rotate_degrees'>degrees</a>. Positive <a href='#SkCanvas_rotate_degrees'>degrees</a> rotates clockwise. +Rotates <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_rotate_degrees'>degrees</a>. Positive <a href='#SkCanvas_rotate_degrees'>degrees</a> rotates clockwise. -Mathematically, replace <a href='#Matrix'>Matrix</a> with a rotation matrix +Mathematically, replaces <a href='#Matrix'>Matrix</a> with a rotation matrix <a href='undocumented#Premultiply'>Premultiplied</a> with <a href='#Matrix'>Matrix</a>. This has the effect of rotating the drawing by <a href='#SkCanvas_rotate_degrees'>degrees</a> before transforming @@ -2774,11 +2783,11 @@ are rotated clockwise. void <a href='#SkCanvas_rotate'>rotate</a>(<a href='undocumented#SkScalar'>SkScalar</a> degrees, <a href='undocumented#SkScalar'>SkScalar</a> px, <a href='undocumented#SkScalar'>SkScalar</a> py) </pre> -Rotate <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_rotate_2_degrees'>degrees</a> about a point at (<a href='#SkCanvas_rotate_2_px'>px</a>, <a href='#SkCanvas_rotate_2_py'>py</a>). Positive <a href='#SkCanvas_rotate_2_degrees'>degrees</a> rotates +Rotates <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_rotate_2_degrees'>degrees</a> about a point at (<a href='#SkCanvas_rotate_2_px'>px</a>, <a href='#SkCanvas_rotate_2_py'>py</a>). Positive <a href='#SkCanvas_rotate_2_degrees'>degrees</a> rotates clockwise. -Mathematically, construct a rotation matrix. <a href='undocumented#Premultiply'>Premultiply</a> the rotation matrix by -a translation matrix, then replace <a href='#Matrix'>Matrix</a> with the resulting matrix +Mathematically, constructs a rotation matrix; <a href='undocumented#Premultiply'>Premultiplies</a> the rotation matrix by +a translation matrix; then replaces <a href='#Matrix'>Matrix</a> with the resulting matrix <a href='undocumented#Premultiply'>Premultiplied</a> with <a href='#Matrix'>Matrix</a>. This has the effect of rotating the drawing about a given point before @@ -2814,11 +2823,11 @@ transforming the result with <a href='#Matrix'>Matrix</a>. void <a href='#SkCanvas_skew'>skew</a>(<a href='undocumented#SkScalar'>SkScalar</a> sx, <a href='undocumented#SkScalar'>SkScalar</a> sy) </pre> -Skew <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_skew_sx'>sx</a> on the x-axis and <a href='#SkCanvas_skew_sy'>sy</a> on the y-axis. A positive value of <a href='#SkCanvas_skew_sx'>sx</a> +Skews <a href='#Matrix'>Matrix</a> by <a href='#SkCanvas_skew_sx'>sx</a> on the x-axis and <a href='#SkCanvas_skew_sy'>sy</a> on the y-axis. A positive value of <a href='#SkCanvas_skew_sx'>sx</a> skews the drawing right as y-axis values increase; a positive value of <a href='#SkCanvas_skew_sy'>sy</a> skews the drawing down as x-axis values increase. -Mathematically, replace <a href='#Matrix'>Matrix</a> with a skew matrix <a href='undocumented#Premultiply'>Premultiplied</a> with <a href='#Matrix'>Matrix</a>. +Mathematically, replaces <a href='#Matrix'>Matrix</a> with a skew matrix <a href='undocumented#Premultiply'>Premultiplied</a> with <a href='#Matrix'>Matrix</a>. This has the effect of skewing the drawing by (<a href='#SkCanvas_skew_sx'>sx</a>, <a href='#SkCanvas_skew_sy'>sy</a>) before transforming the result with <a href='#Matrix'>Matrix</a>. @@ -2855,7 +2864,7 @@ Blue text combines <a href='#SkCanvas_skew_sx'>sx</a> and <a href='#SkCanvas_ske void <a href='#SkCanvas_concat'>concat</a>(const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>& matrix) </pre> -Replace <a href='#Matrix'>Matrix</a> with <a href='#SkCanvas_concat_matrix'>matrix</a> <a href='undocumented#Premultiply'>Premultiplied</a> with existing <a href='#Matrix'>Matrix</a>. +Replaces <a href='#Matrix'>Matrix</a> with <a href='#SkCanvas_concat_matrix'>matrix</a> <a href='undocumented#Premultiply'>Premultiplied</a> with existing <a href='#Matrix'>Matrix</a>. This has the effect of transforming the drawn geometry by <a href='#SkCanvas_concat_matrix'>matrix</a>, before transforming the result with existing <a href='#Matrix'>Matrix</a>. @@ -2884,7 +2893,7 @@ transforming the result with existing <a href='#Matrix'>Matrix</a>. void <a href='#SkCanvas_setMatrix'>setMatrix</a>(const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>& matrix) </pre> -Replace <a href='#Matrix'>Matrix</a> with <a href='#SkCanvas_setMatrix_matrix'>matrix</a>. +Replaces <a href='#Matrix'>Matrix</a> with <a href='#SkCanvas_setMatrix_matrix'>matrix</a>. Unlike <a href='#SkCanvas_concat'>concat</a>, any prior <a href='#SkCanvas_setMatrix_matrix'>matrix</a> state is overwritten. ### Parameters @@ -3000,7 +3009,7 @@ The edge of the <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip par void <a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, <a href='undocumented#SkClipOp'>SkClipOp</a> op, bool doAntiAlias) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRect_rect'>rect</a>, +Replaces <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRect_rect'>rect</a>, with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip edge. <a href='#SkCanvas_clipRect_rect'>rect</a> is transformed by <a href='#Matrix'>Matrix</a> before it is combined with <a href='#Clip'>Clip</a>. @@ -3033,7 +3042,7 @@ before it is combined with <a href='#Clip'>Clip</a>. void <a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, <a href='undocumented#SkClipOp'>SkClipOp</a> op) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRect_2_rect'>rect</a>. +Replaces <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRect_2_rect'>rect</a>. Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; pixels are fully contained by the clip. <a href='#SkCanvas_clipRect_2_rect'>rect</a> is transformed by <a href='#Matrix'>Matrix</a> before it is combined with <a href='#Clip'>Clip</a>. @@ -3063,7 +3072,7 @@ Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; void <a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, bool doAntiAlias = false) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRect_3_rect'>rect</a>. +Replaces <a href='#Clip'>Clip</a> with the intersection of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRect_3_rect'>rect</a>. Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; pixels are fully contained by the clip. <a href='#SkCanvas_clipRect_3_rect'>rect</a> is transformed by <a href='#Matrix'>Matrix</a> before it is combined with <a href='#Clip'>Clip</a>. @@ -3121,7 +3130,7 @@ Pass an empty <a href='#SkCanvas_androidFramework_setDeviceClipRestriction_rect' void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& rrect, <a href='undocumented#SkClipOp'>SkClipOp</a> op, bool doAntiAlias) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRRect_rrect'>rrect</a>, +Replaces <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRRect_rrect'>rrect</a>, with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip edge. <a href='#SkCanvas_clipRRect_rrect'>rrect</a> is transformed by <a href='#Matrix'>Matrix</a> before it is combined with <a href='#Clip'>Clip</a>. @@ -3155,7 +3164,7 @@ before it is combined with <a href='#Clip'>Clip</a>. void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& rrect, <a href='undocumented#SkClipOp'>SkClipOp</a> op) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRRect_2_rrect'>rrect</a>. +Replaces <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRRect_2_rrect'>rrect</a>. Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; pixels are fully contained by the clip. <a href='#SkCanvas_clipRRect_2_rrect'>rrect</a> is transformed by <a href='#Matrix'>Matrix</a> before it is combined with <a href='#Clip'>Clip</a>. @@ -3185,7 +3194,7 @@ Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& rrect, bool doAntiAlias = false) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRRect_3_rrect'>rrect</a>, +Replaces <a href='#Clip'>Clip</a> with the intersection of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRRect_3_rrect'>rrect</a>, with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip edge. <a href='#SkCanvas_clipRRect_3_rrect'>rrect</a> is transformed by <a href='#Matrix'>Matrix</a> before it is combined with <a href='#Clip'>Clip</a>. @@ -3216,7 +3225,7 @@ with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#A void <a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& path, <a href='undocumented#SkClipOp'>SkClipOp</a> op, bool doAntiAlias) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipPath_path'>path</a>, +Replaces <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipPath_path'>path</a>, with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip edge. <a href='SkPath_Reference#Fill_Type'>Path Fill Type</a> determines if <a href='#SkCanvas_clipPath_path'>path</a> describes the area inside or outside its contours; and if <a href='SkPath_Reference#Contour'>Path Contour</a> overlaps itself or another <a href='SkPath_Reference#Contour'>Path Contour</a>, whether the overlaps form part of the area. @@ -3256,7 +3265,7 @@ area inside clip is intersected with circle. void <a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& path, <a href='undocumented#SkClipOp'>SkClipOp</a> op) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipPath_2_path'>path</a>. +Replaces <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipPath_2_path'>path</a>. Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; pixels are fully contained by the clip. <a href='SkPath_Reference#Fill_Type'>Path Fill Type</a> determines if <a href='#SkCanvas_clipPath_2_path'>path</a> describes the area inside or outside its contours; and if <a href='SkPath_Reference#Contour'>Path Contour</a> overlaps @@ -3293,7 +3302,7 @@ before it is combined with <a href='#Clip'>Clip</a>. void <a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& path, bool doAntiAlias = false) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipPath_3_path'>path</a>. +Replaces <a href='#Clip'>Clip</a> with the intersection of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipPath_3_path'>path</a>. Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; pixels are fully contained by the clip. <a href='SkPath_Reference#Fill_Type'>Path Fill Type</a> determines if <a href='#SkCanvas_clipPath_3_path'>path</a> describes the area inside or outside its contours; and if <a href='SkPath_Reference#Contour'>Path Contour</a> overlaps @@ -3343,7 +3352,7 @@ testingSet to simplify clip stack using <a href='undocumented#PathOps'>PathOps</ void <a href='#SkCanvas_clipRegion'>clipRegion</a>(const <a href='undocumented#SkRegion'>SkRegion</a>& deviceRgn, <a href='undocumented#SkClipOp'>SkClipOp</a> op = <a href='undocumented#SkClipOp_kIntersect'>SkClipOp::kIntersect</a>) </pre> -Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='undocumented#Region'>Region</a> <a href='#SkCanvas_clipRegion_deviceRgn'>deviceRgn</a>. +Replaces <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='undocumented#Region'>Region</a> <a href='#SkCanvas_clipRegion_deviceRgn'>deviceRgn</a>. Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; pixels are fully contained by the clip. <a href='#SkCanvas_clipRegion_deviceRgn'>deviceRgn</a> is unaffected by <a href='#Matrix'>Matrix</a>. @@ -3377,7 +3386,7 @@ aligns to pixel boundaries. bool <a href='#SkCanvas_quickReject'>quickReject</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect) const </pre> -Return true if <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_quickReject_rect'>rect</a>, transformed by <a href='#Matrix'>Matrix</a>, can be quickly determined to be +Returns true if <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_quickReject_rect'>rect</a>, transformed by <a href='#Matrix'>Matrix</a>, can be quickly determined to be outside of <a href='#Clip'>Clip</a>. May return false even though <a href='#SkCanvas_quickReject_rect'>rect</a> is outside of <a href='#Clip'>Clip</a>. Use to check if an area to be drawn is clipped out, to skip subsequent draw calls. @@ -3418,7 +3427,7 @@ quickReject false bool <a href='#SkCanvas_quickReject'>quickReject</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& path) const </pre> -Return true if <a href='#SkCanvas_quickReject_2_path'>path</a>, transformed by <a href='#Matrix'>Matrix</a>, can be quickly determined to be +Returns true if <a href='#SkCanvas_quickReject_2_path'>path</a>, transformed by <a href='#Matrix'>Matrix</a>, can be quickly determined to be outside of <a href='#Clip'>Clip</a>. May return false even though <a href='#SkCanvas_quickReject_2_path'>path</a> is outside of <a href='#Clip'>Clip</a>. Use to check if an area to be drawn is clipped out, to skip subsequent draw calls. @@ -3460,7 +3469,7 @@ quickReject false <a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a>() const </pre> -Return bounds of <a href='#Clip'>Clip</a>, transformed by inverse of <a href='#Matrix'>Matrix</a>. If <a href='#Clip'>Clip</a> is empty, +Returns bounds of <a href='#Clip'>Clip</a>, transformed by inverse of <a href='#Matrix'>Matrix</a>. If <a href='#Clip'>Clip</a> is empty, return <a href='SkRect_Reference#SkRect_MakeEmpty'>SkRect::MakeEmpty</a>, where all <a href='SkRect_Reference#Rect'>Rect</a> sides equal zero. <a href='SkRect_Reference#Rect'>Rect</a> returned is outset by one to account for partial pixel coverage if <a href='#Clip'>Clip</a> @@ -3500,7 +3509,7 @@ left:14.5 top:64.5 right:60.5 bottom:115.5 bool <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a>(<a href='SkRect_Reference#SkRect'>SkRect</a>* bounds) const </pre> -Return <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> of <a href='#Clip'>Clip</a>, transformed by inverse of <a href='#Matrix'>Matrix</a>. If <a href='#Clip'>Clip</a> is empty, +Returns <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> of <a href='#Clip'>Clip</a>, transformed by inverse of <a href='#Matrix'>Matrix</a>. If <a href='#Clip'>Clip</a> is empty, return false, and set <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> to <a href='SkRect_Reference#SkRect_MakeEmpty'>SkRect::MakeEmpty</a>, where all <a href='SkRect_Reference#Rect'>Rect</a> sides equal zero. <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> is outset by one to account for partial pixel coverage if <a href='#Clip'>Clip</a> @@ -3543,7 +3552,7 @@ local bounds empty = true <a href='SkIRect_Reference#SkIRect'>SkIRect</a> <a href='#SkCanvas_getDeviceClipBounds'>getDeviceClipBounds</a>() const </pre> -Return <a href='SkIRect_Reference#IRect'>IRect</a> bounds of <a href='#Clip'>Clip</a>, unaffected by <a href='#Matrix'>Matrix</a>. If <a href='#Clip'>Clip</a> is empty, +Returns <a href='SkIRect_Reference#IRect'>IRect</a> bounds of <a href='#Clip'>Clip</a>, unaffected by <a href='#Matrix'>Matrix</a>. If <a href='#Clip'>Clip</a> is empty, return <a href='SkRect_Reference#SkRect_MakeEmpty'>SkRect::MakeEmpty</a>, where all <a href='SkRect_Reference#Rect'>Rect</a> sides equal zero. Unlike <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a>, returned <a href='SkIRect_Reference#IRect'>IRect</a> is not outset. @@ -3582,7 +3591,7 @@ left:15 top:65 right:60 bottom:115 bool <a href='#SkCanvas_getDeviceClipBounds'>getDeviceClipBounds</a>(<a href='SkIRect_Reference#SkIRect'>SkIRect</a>* bounds) const </pre> -Return <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_getDeviceClipBounds_2_bounds'>bounds</a> of <a href='#Clip'>Clip</a>, unaffected by <a href='#Matrix'>Matrix</a>. If <a href='#Clip'>Clip</a> is empty, +Returns <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_getDeviceClipBounds_2_bounds'>bounds</a> of <a href='#Clip'>Clip</a>, unaffected by <a href='#Matrix'>Matrix</a>. If <a href='#Clip'>Clip</a> is empty, return false, and set <a href='#SkCanvas_getDeviceClipBounds_2_bounds'>bounds</a> to <a href='SkRect_Reference#SkRect_MakeEmpty'>SkRect::MakeEmpty</a>, where all <a href='SkRect_Reference#Rect'>Rect</a> sides equal zero. Unlike <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a>, <a href='#SkCanvas_getDeviceClipBounds_2_bounds'>bounds</a> is not outset. @@ -3816,7 +3825,7 @@ device bounds empty = true void <a href='#SkCanvas_drawColor'>drawColor</a>(<a href='SkColor_Reference#SkColor'>SkColor</a> color, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode = <a href='SkBlendMode_Reference#SkBlendMode_kSrcOver'>SkBlendMode::kSrcOver</a>) </pre> -Fill <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_drawColor_color'>color</a>. +Fills <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_drawColor_color'>color</a>. <a href='#SkCanvas_drawColor_mode'>mode</a> determines how ARGB is combined with destination. ### Parameters @@ -3846,7 +3855,7 @@ Fill <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> < void <a href='#SkCanvas_clear'>clear</a>(<a href='SkColor_Reference#SkColor'>SkColor</a> color) </pre> -Fill <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_clear_color'>color</a> using <a href='SkBlendMode_Reference#SkBlendMode_kSrc'>SkBlendMode::kSrc</a>. +Fills <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_clear_color'>color</a> using <a href='SkBlendMode_Reference#SkBlendMode_kSrc'>SkBlendMode::kSrc</a>. This has the effect of replacing all pixels contained by <a href='#Clip'>Clip</a> with <a href='#SkCanvas_clear_color'>color</a>. ### Parameters @@ -3873,7 +3882,7 @@ This has the effect of replacing all pixels contained by <a href='#Clip'>Clip</a void <a href='#SkCanvas_discard'>discard</a>() </pre> -Make <a href='#Canvas'>Canvas</a> contents undefined. Subsequent calls that read <a href='#Canvas'>Canvas</a> pixels, +Makes <a href='#Canvas'>Canvas</a> contents undefined. Subsequent calls that read <a href='#Canvas'>Canvas</a> pixels, such as drawing with <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, return undefined results. <a href='#SkCanvas_discard'>discard</a> does not change <a href='#Clip'>Clip</a> or <a href='#Matrix'>Matrix</a>. @@ -3898,7 +3907,7 @@ any cached data is deleted when owning <a href='SkSurface_Reference#Surface'>Sur void <a href='#SkCanvas_drawPaint'>drawPaint</a>(const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -Fill <a href='#Clip'>Clip</a> with <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPaint_paint'>paint</a>. <a href='SkPaint_Reference#Paint'>Paint</a> components <a href='undocumented#Mask_Filter'>Mask Filter</a>, <a href='undocumented#Shader'>Shader</a>, +Fills <a href='#Clip'>Clip</a> with <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPaint_paint'>paint</a>. <a href='SkPaint_Reference#Paint'>Paint</a> components <a href='undocumented#Mask_Filter'>Mask Filter</a>, <a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> affect drawing; <a href='undocumented#Path_Effect'>Path Effect</a> in <a href='#SkCanvas_drawPaint_paint'>paint</a> is ignored. @@ -3977,7 +3986,7 @@ The lower left corner shows two lines with a miter when path contains polygon. void <a href='#SkCanvas_drawPoints'>drawPoints</a>(<a href='#SkCanvas_PointMode'>PointMode</a> mode, size_t count, const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> pts[], const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='#SkCanvas_drawPoints_pts'>pts</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a> and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPoints_paint'>paint</a>. +Draws <a href='#SkCanvas_drawPoints_pts'>pts</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a> and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPoints_paint'>paint</a>. <a href='#SkCanvas_drawPoints_count'>count</a> is the number of points; if <a href='#SkCanvas_drawPoints_count'>count</a> is less than one, has no effect. <a href='#SkCanvas_drawPoints_mode'>mode</a> may be one of: <a href='#SkCanvas_kPoints_PointMode'>kPoints PointMode</a>, <a href='#SkCanvas_kLines_PointMode'>kLines PointMode</a>, or <a href='#SkCanvas_kPolygon_PointMode'>kPolygon PointMode</a>. @@ -4055,7 +4064,7 @@ the path is drawn all at once. void <a href='#SkCanvas_drawPoint'>drawPoint</a>(<a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> point at (<a href='#SkCanvas_drawPoint_x'>x</a>, <a href='#SkCanvas_drawPoint_y'>y</a>) using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a> and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPoint_paint'>paint</a>. +Draws point at (<a href='#SkCanvas_drawPoint_x'>x</a>, <a href='#SkCanvas_drawPoint_y'>y</a>) using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a> and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPoint_paint'>paint</a>. The shape of point drawn depends on <a href='#SkCanvas_drawPoint_paint'>paint</a> <a href='SkPaint_Reference#Stroke_Cap'>Paint Stroke Cap</a>. If <a href='#SkCanvas_drawPoint_paint'>paint</a> is set to <a href='SkPaint_Reference#SkPaint_kRound_Cap'>SkPaint::kRound Cap</a>, draw a circle of diameter @@ -4092,7 +4101,7 @@ draw a square of width and height <a href='SkPaint_Reference#Stroke_Width'>Paint void <a href='#SkCanvas_drawPoint'>drawPoint</a>(<a href='SkPoint_Reference#SkPoint'>SkPoint</a> p, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> point <a href='#SkCanvas_drawPoint_2_p'>p</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a> and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPoint_2_paint'>paint</a>. +Draws point <a href='#SkCanvas_drawPoint_2_p'>p</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a> and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPoint_2_paint'>paint</a>. The shape of point drawn depends on <a href='#SkCanvas_drawPoint_2_paint'>paint</a> <a href='SkPaint_Reference#Stroke_Cap'>Paint Stroke Cap</a>. If <a href='#SkCanvas_drawPoint_2_paint'>paint</a> is set to <a href='SkPaint_Reference#SkPaint_kRound_Cap'>SkPaint::kRound Cap</a>, draw a circle of diameter @@ -4202,7 +4211,7 @@ In <a href='#SkCanvas_drawLine_2_paint'>paint</a>: <a href='SkPaint_Reference#St void <a href='#SkCanvas_drawRect'>drawRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawRect_rect'>rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawRect_paint'>paint</a>. +Draws <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawRect_rect'>rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawRect_paint'>paint</a>. In <a href='#SkCanvas_drawRect_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if rectangle is stroked or filled; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness, and <a href='SkPaint_Reference#Stroke_Join'>Paint Stroke Join</a> draws the corners rounded or square. @@ -4234,7 +4243,7 @@ if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> desc void <a href='#SkCanvas_drawIRect'>drawIRect</a>(const <a href='SkIRect_Reference#SkIRect'>SkIRect</a>& rect, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawIRect_rect'>rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawIRect_paint'>paint</a>. +Draws <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawIRect_rect'>rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawIRect_paint'>paint</a>. In <a href='#SkCanvas_drawIRect_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if rectangle is stroked or filled; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness, and <a href='SkPaint_Reference#Stroke_Join'>Paint Stroke Join</a> draws the corners rounded or square. @@ -4266,7 +4275,7 @@ if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> desc void <a href='#SkCanvas_drawRegion'>drawRegion</a>(const <a href='undocumented#SkRegion'>SkRegion</a>& region, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Region'>Region</a> <a href='#SkCanvas_drawRegion_region'>region</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawRegion_paint'>paint</a>. +Draws <a href='undocumented#Region'>Region</a> <a href='#SkCanvas_drawRegion_region'>region</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawRegion_paint'>paint</a>. In <a href='#SkCanvas_drawRegion_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if rectangle is stroked or filled; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness, and <a href='SkPaint_Reference#Stroke_Join'>Paint Stroke Join</a> draws the corners rounded or square. @@ -4298,7 +4307,7 @@ if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> desc void <a href='#SkCanvas_drawOval'>drawOval</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& oval, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Oval'>Oval</a> <a href='#SkCanvas_drawOval_oval'>oval</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a>. +Draws <a href='undocumented#Oval'>Oval</a> <a href='#SkCanvas_drawOval_oval'>oval</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a>. In <a href='#SkCanvas_drawOval_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if <a href='undocumented#Oval'>Oval</a> is stroked or filled; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness. @@ -4329,7 +4338,7 @@ if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> desc void <a href='#SkCanvas_drawRRect'>drawRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& rrect, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='SkRRect_Reference#RRect'>Round Rect</a> <a href='#SkCanvas_drawRRect_rrect'>rrect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawRRect_paint'>paint</a>. +Draws <a href='SkRRect_Reference#RRect'>Round Rect</a> <a href='#SkCanvas_drawRRect_rrect'>rrect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawRRect_paint'>paint</a>. In <a href='#SkCanvas_drawRRect_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if <a href='#SkCanvas_drawRRect_rrect'>rrect</a> is stroked or filled; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness. @@ -4363,7 +4372,7 @@ may have any combination of positive non-square radii for the four corners. void <a href='#SkCanvas_drawDRRect'>drawDRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& outer, const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& inner, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='SkRRect_Reference#RRect'>Round Rect</a> <a href='#SkCanvas_drawDRRect_outer'>outer</a> and <a href='#SkCanvas_drawDRRect_inner'>inner</a> +Draws <a href='SkRRect_Reference#RRect'>Round Rect</a> <a href='#SkCanvas_drawDRRect_outer'>outer</a> and <a href='#SkCanvas_drawDRRect_inner'>inner</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawDRRect_paint'>paint</a>. <a href='#SkCanvas_drawDRRect_outer'>outer</a> must contain <a href='#SkCanvas_drawDRRect_inner'>inner</a> or the drawing is undefined. In <a href='#SkCanvas_drawDRRect_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if <a href='SkRRect_Reference#RRect'>Round Rect</a> is stroked or filled; @@ -4412,7 +4421,7 @@ Stroke join does not affect <a href='#SkCanvas_drawDRRect_inner'>inner</a> <a hr void <a href='#SkCanvas_drawCircle'>drawCircle</a>(<a href='undocumented#SkScalar'>SkScalar</a> cx, <a href='undocumented#SkScalar'>SkScalar</a> cy, <a href='undocumented#SkScalar'>SkScalar</a> radius, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Circle'>Circle</a> at (<a href='#SkCanvas_drawCircle_cx'>cx</a>, <a href='#SkCanvas_drawCircle_cy'>cy</a>) with <a href='#SkCanvas_drawCircle_radius'>radius</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawCircle_paint'>paint</a>. +Draws <a href='undocumented#Circle'>Circle</a> at (<a href='#SkCanvas_drawCircle_cx'>cx</a>, <a href='#SkCanvas_drawCircle_cy'>cy</a>) with <a href='#SkCanvas_drawCircle_radius'>radius</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawCircle_paint'>paint</a>. If <a href='#SkCanvas_drawCircle_radius'>radius</a> is zero or less, nothing is drawn. In <a href='#SkCanvas_drawCircle_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if <a href='undocumented#Circle'>Circle</a> is stroked or filled; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness. @@ -4449,7 +4458,7 @@ if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> desc void <a href='#SkCanvas_drawCircle'>drawCircle</a>(<a href='SkPoint_Reference#SkPoint'>SkPoint</a> center, <a href='undocumented#SkScalar'>SkScalar</a> radius, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Circle'>Circle</a> at <a href='#SkCanvas_drawCircle_2_center'>center</a> with <a href='#SkCanvas_drawCircle_2_radius'>radius</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawCircle_2_paint'>paint</a>. +Draws <a href='undocumented#Circle'>Circle</a> at <a href='#SkCanvas_drawCircle_2_center'>center</a> with <a href='#SkCanvas_drawCircle_2_radius'>radius</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawCircle_2_paint'>paint</a>. If <a href='#SkCanvas_drawCircle_2_radius'>radius</a> is zero or less, nothing is drawn. In <a href='#SkCanvas_drawCircle_2_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if <a href='undocumented#Circle'>Circle</a> is stroked or filled; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness. @@ -4485,7 +4494,7 @@ void <a href='#SkCanvas_drawArc'>drawArc</a>(const <a href='SkRect_Reference#SkR const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Arc'>Arc</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawArc_paint'>paint</a>. +Draws <a href='undocumented#Arc'>Arc</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawArc_paint'>paint</a>. <a href='undocumented#Arc'>Arc</a> is part of <a href='undocumented#Oval'>Oval</a> bounded by <a href='#SkCanvas_drawArc_oval'>oval</a>, sweeping from <a href='#SkCanvas_drawArc_startAngle'>startAngle</a> to <a href='#SkCanvas_drawArc_startAngle'>startAngle</a> plus <a href='#SkCanvas_drawArc_sweepAngle'>sweepAngle</a>. <a href='#SkCanvas_drawArc_startAngle'>startAngle</a> and <a href='#SkCanvas_drawArc_sweepAngle'>sweepAngle</a> are in degrees. @@ -4539,7 +4548,7 @@ If <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawArc_oval'>ova void <a href='#SkCanvas_drawRoundRect'>drawRoundRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, <a href='undocumented#SkScalar'>SkScalar</a> rx, <a href='undocumented#SkScalar'>SkScalar</a> ry, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='SkRRect_Reference#RRect'>Round Rect</a> bounded by <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawRoundRect_rect'>rect</a>, with corner radii (<a href='#SkCanvas_drawRoundRect_rx'>rx</a>, <a href='#SkCanvas_drawRoundRect_ry'>ry</a>) using <a href='#Clip'>Clip</a>, +Draws <a href='SkRRect_Reference#RRect'>Round Rect</a> bounded by <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawRoundRect_rect'>rect</a>, with corner radii (<a href='#SkCanvas_drawRoundRect_rx'>rx</a>, <a href='#SkCanvas_drawRoundRect_ry'>ry</a>) using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawRoundRect_paint'>paint</a>. In <a href='#SkCanvas_drawRoundRect_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if <a href='SkRRect_Reference#RRect'>Round Rect</a> is stroked or filled; @@ -4586,7 +4595,7 @@ DrawRRect <a href='#SkCanvas_drawRect'>drawRect</a> <a href='#SkCanvas_drawDRRec void <a href='#SkCanvas_drawPath'>drawPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& path, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='SkPath_Reference#Path'>Path</a> <a href='#SkCanvas_drawPath_path'>path</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPath_paint'>paint</a>. +Draws <a href='SkPath_Reference#Path'>Path</a> <a href='#SkCanvas_drawPath_path'>path</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPath_paint'>paint</a>. <a href='SkPath_Reference#Path'>Path</a> contains an array of <a href='SkPath_Reference#Contour'>Path Contour</a>, each of which may be open or closed. In <a href='#SkCanvas_drawPath_paint'>paint</a>: <a href='SkPaint_Reference#Style'>Paint Style</a> determines if <a href='SkRRect_Reference#RRect'>Round Rect</a> is stroked or filled: @@ -4633,7 +4642,7 @@ a smart pointer as a convenience. The pairs of calls are otherwise identical. void <a href='#SkCanvas_drawImage'>drawImage</a>(const <a href='SkImage_Reference#SkImage'>SkImage</a>* image, <a href='undocumented#SkScalar'>SkScalar</a> left, <a href='undocumented#SkScalar'>SkScalar</a> top, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImage_image'>image</a>, with its <a href='#SkCanvas_drawImage_top'>top</a>-<a href='#SkCanvas_drawImage_left'>left</a> corner at (<a href='#SkCanvas_drawImage_left'>left</a>, <a href='#SkCanvas_drawImage_top'>top</a>), +Draws <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImage_image'>image</a>, with its <a href='#SkCanvas_drawImage_top'>top</a>-<a href='#SkCanvas_drawImage_left'>left</a> corner at (<a href='#SkCanvas_drawImage_left'>left</a>, <a href='#SkCanvas_drawImage_top'>top</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImage_paint'>paint</a>. If <a href='#SkCanvas_drawImage_paint'>paint</a> is supplied, apply <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, @@ -4677,7 +4686,7 @@ void <a href='#SkCanvas_drawImage'>drawImage</a>(const <a href='undocumented#sk_ const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImage_2_image'>image</a>, with its <a href='#SkCanvas_drawImage_2_top'>top</a>-<a href='#SkCanvas_drawImage_2_left'>left</a> corner at (<a href='#SkCanvas_drawImage_2_left'>left</a>, <a href='#SkCanvas_drawImage_2_top'>top</a>), +Draws <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImage_2_image'>image</a>, with its <a href='#SkCanvas_drawImage_2_top'>top</a>-<a href='#SkCanvas_drawImage_2_left'>left</a> corner at (<a href='#SkCanvas_drawImage_2_left'>left</a>, <a href='#SkCanvas_drawImage_2_top'>top</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImage_2_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImage_2_paint'>paint</a> is supplied, apply <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, @@ -4778,7 +4787,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_ <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_src'>src</a> of <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_dst'>dst</a>. +Draws <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_src'>src</a> of <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_dst'>dst</a>. Additionally transform draw using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_paint'>paint</a> is supplied, apply <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, @@ -4835,7 +4844,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_ <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawImageRect_2_isrc'>isrc</a> of <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_2_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_2_dst'>dst</a>. +Draws <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawImageRect_2_isrc'>isrc</a> of <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_2_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_2_dst'>dst</a>. Note that <a href='#SkCanvas_drawImageRect_2_isrc'>isrc</a> is on integer pixel boundaries; <a href='#SkCanvas_drawImageRect_2_dst'>dst</a> may include fractional boundaries. Additionally transform draw using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_2_paint'>paint</a>. @@ -4889,7 +4898,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_ <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_3_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_3_dst'>dst</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, +Draws <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_3_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_3_dst'>dst</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_3_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_3_paint'>paint</a> is supplied, apply <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, @@ -4938,7 +4947,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocume const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_4_src'>src</a> of <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_4_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_4_dst'>dst</a>. +Draws <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_4_src'>src</a> of <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_4_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_4_dst'>dst</a>. Additionally transform draw using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_4_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_4_paint'>paint</a> is supplied, apply <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, @@ -4992,7 +5001,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocume const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawImageRect_5_isrc'>isrc</a> of <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_5_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_5_dst'>dst</a>. +Draws <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawImageRect_5_isrc'>isrc</a> of <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_5_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_5_dst'>dst</a>. <a href='#SkCanvas_drawImageRect_5_isrc'>isrc</a> is on integer pixel boundaries; <a href='#SkCanvas_drawImageRect_5_dst'>dst</a> may include fractional boundaries. Additionally transform draw using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_5_paint'>paint</a>. @@ -5045,7 +5054,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocume <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_6_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_6_dst'>dst</a>, +Draws <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageRect_6_image'>image</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageRect_6_dst'>dst</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_6_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_6_paint'>paint</a> is supplied, apply <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, @@ -5095,7 +5104,7 @@ void <a href='#SkCanvas_drawImageNine'>drawImageNine</a>(const <a href='SkImage_ const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageNine_image'>image</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageNine_dst'>dst</a>. +Draws <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageNine_image'>image</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageNine_dst'>dst</a>. <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawImageNine_center'>center</a> divides the <a href='#SkCanvas_drawImageNine_image'>image</a> into nine sections: four sides, four corners, and the <a href='#SkCanvas_drawImageNine_center'>center</a>. Corners are unmodified or scaled down proportionately if their sides are larger than <a href='#SkCanvas_drawImageNine_dst'>dst</a>; <a href='#SkCanvas_drawImageNine_center'>center</a> and four sides are scaled to fit remaining space, if any. @@ -5149,7 +5158,7 @@ void <a href='#SkCanvas_drawImageNine'>drawImageNine</a>(const <a href='undocume const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageNine_2_image'>image</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageNine_2_dst'>dst</a>. +Draws <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageNine_2_image'>image</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageNine_2_dst'>dst</a>. <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawImageNine_2_center'>center</a> divides the <a href='#SkCanvas_drawImageNine_2_image'>image</a> into nine sections: four sides, four corners, and the <a href='#SkCanvas_drawImageNine_2_center'>center</a>. Corners are not scaled, or scaled down proportionately if their sides are larger than <a href='#SkCanvas_drawImageNine_2_dst'>dst</a>; <a href='#SkCanvas_drawImageNine_2_center'>center</a> and four sides are scaled to fit remaining space, if any. @@ -5205,7 +5214,7 @@ and below <a href='#SkCanvas_drawImageNine_2_center'>center</a> to fill the rema void <a href='#SkCanvas_drawBitmap'>drawBitmap</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a>& bitmap, <a href='undocumented#SkScalar'>SkScalar</a> left, <a href='undocumented#SkScalar'>SkScalar</a> top, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a>, with its <a href='#SkCanvas_drawBitmap_top'>top</a>-<a href='#SkCanvas_drawBitmap_left'>left</a> corner at (<a href='#SkCanvas_drawBitmap_left'>left</a>, <a href='#SkCanvas_drawBitmap_top'>top</a>), +Draws <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a>, with its <a href='#SkCanvas_drawBitmap_top'>top</a>-<a href='#SkCanvas_drawBitmap_left'>left</a> corner at (<a href='#SkCanvas_drawBitmap_left'>left</a>, <a href='#SkCanvas_drawBitmap_top'>top</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmap_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmap_paint'>paint</a> is not nullptr, apply <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, @@ -5252,7 +5261,7 @@ void <a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitm const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapRect_src'>src</a> of <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapRect_bitmap'>bitmap</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapRect_dst'>dst</a>. +Draws <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapRect_src'>src</a> of <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapRect_bitmap'>bitmap</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapRect_dst'>dst</a>. Additionally transform draw using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapRect_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapRect_paint'>paint</a> is supplied, apply <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, @@ -5305,7 +5314,7 @@ void <a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitm const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawBitmapRect_2_isrc'>isrc</a> of <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapRect_2_bitmap'>bitmap</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapRect_2_dst'>dst</a>. +Draws <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawBitmapRect_2_isrc'>isrc</a> of <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapRect_2_bitmap'>bitmap</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapRect_2_dst'>dst</a>. <a href='#SkCanvas_drawBitmapRect_2_isrc'>isrc</a> is on integer pixel boundaries; <a href='#SkCanvas_drawBitmapRect_2_dst'>dst</a> may include fractional boundaries. Additionally transform draw using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapRect_2_paint'>paint</a>. @@ -5359,7 +5368,7 @@ void <a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitm <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict SrcRectConstraint</a>) </pre> -<a href='#Draw'>Draw</a> <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapRect_3_dst'>dst</a>. +Draws <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a>, scaled and translated to fill <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapRect_3_dst'>dst</a>. <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> bounds is on integer pixel boundaries; <a href='#SkCanvas_drawBitmapRect_3_dst'>dst</a> may include fractional boundaries. Additionally transform draw using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapRect_3_paint'>paint</a>. @@ -5411,7 +5420,7 @@ void <a href='#SkCanvas_drawBitmapNine'>drawBitmapNine</a>(const <a href='SkBitm const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapNine_bitmap'>bitmap</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapNine_dst'>dst</a>. +Draws <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapNine_bitmap'>bitmap</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapNine_dst'>dst</a>. <a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawBitmapNine_center'>center</a> divides the <a href='#SkCanvas_drawBitmapNine_bitmap'>bitmap</a> into nine sections: four sides, four corners, and the <a href='#SkCanvas_drawBitmapNine_center'>center</a>. Corners are not scaled, or scaled down proportionately if their sides are larger than <a href='#SkCanvas_drawBitmapNine_dst'>dst</a>; <a href='#SkCanvas_drawBitmapNine_center'>center</a> and four sides are scaled to fit remaining @@ -5647,7 +5656,7 @@ void <a href='#SkCanvas_drawBitmapLattice'>drawBitmapLattice</a>(const <a href=' const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapLattice_bitmap'>bitmap</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapLattice_dst'>dst</a>. +Draws <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapLattice_bitmap'>bitmap</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawBitmapLattice_dst'>dst</a>. <a href='#SkCanvas_Lattice'>Lattice</a> <a href='#SkCanvas_drawBitmapLattice_lattice'>lattice</a> divides <a href='#SkCanvas_drawBitmapLattice_bitmap'>bitmap</a> into a rectangular grid. Each intersection of an even-numbered row and column is fixed; like the corners @@ -5708,7 +5717,7 @@ void <a href='#SkCanvas_drawImageLattice'>drawImageLattice</a>(const <a href='Sk const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageLattice_image'>image</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageLattice_dst'>dst</a>. +Draws <a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageLattice_image'>image</a> stretched proportionally to fit into <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawImageLattice_dst'>dst</a>. <a href='#SkCanvas_Lattice'>Lattice</a> <a href='#SkCanvas_drawImageLattice_lattice'>lattice</a> divides <a href='#SkCanvas_drawImageLattice_image'>image</a> into a rectangular grid. Each intersection of an even-numbered row and column is fixed; like the corners @@ -5822,7 +5831,7 @@ are scaled if needed to take up the remaining space; the center is transparent. void <a href='#SkCanvas_drawText'>drawText</a>(const void* text, size_t byteLength, <a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='#SkCanvas_drawText_text'>text</a>, with origin at (<a href='#SkCanvas_drawText_x'>x</a>, <a href='#SkCanvas_drawText_y'>y</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawText_paint'>paint</a>. +Draws <a href='#SkCanvas_drawText_text'>text</a>, with origin at (<a href='#SkCanvas_drawText_x'>x</a>, <a href='#SkCanvas_drawText_y'>y</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawText_paint'>paint</a>. <a href='#SkCanvas_drawText_text'>text</a> meaning depends on <a href='SkPaint_Reference#Text_Encoding'>Paint Text Encoding</a>; by default, <a href='#SkCanvas_drawText_text'>text</a> is encoded as UTF-8. @@ -5921,7 +5930,7 @@ ending with a char value of zero</td> void <a href='#SkCanvas_drawString'>drawString</a>(const <a href='undocumented#SkString'>SkString</a>& string, <a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> null terminated <a href='#SkCanvas_drawString_2_string'>string</a>, with origin at (<a href='#SkCanvas_drawString_2_x'>x</a>, <a href='#SkCanvas_drawString_2_y'>y</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and +Draws null terminated <a href='#SkCanvas_drawString_2_string'>string</a>, with origin at (<a href='#SkCanvas_drawString_2_x'>x</a>, <a href='#SkCanvas_drawString_2_y'>y</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawString_2_paint'>paint</a>. <a href='#SkCanvas_drawString_2_string'>string</a> meaning depends on <a href='SkPaint_Reference#Text_Encoding'>Paint Text Encoding</a>; by default, strings are encoded @@ -5970,7 +5979,7 @@ ending with a char value of zero</td> void <a href='#SkCanvas_drawPosText'>drawPosText</a>(const void* text, size_t byteLength, const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> pos[], const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> each glyph in <a href='#SkCanvas_drawPosText_text'>text</a> with the origin in <a href='#SkCanvas_drawPosText_pos'>pos</a> array, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and +Draws each glyph in <a href='#SkCanvas_drawPosText_text'>text</a> with the origin in <a href='#SkCanvas_drawPosText_pos'>pos</a> array, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPosText_paint'>paint</a>. The number of entries in <a href='#SkCanvas_drawPosText_pos'>pos</a> array must match the number of <a href='undocumented#Glyph'>Glyphs</a> described by <a href='#SkCanvas_drawPosText_byteLength'>byteLength</a> of <a href='#SkCanvas_drawPosText_text'>text</a>. @@ -6020,7 +6029,7 @@ void <a href='#SkCanvas_drawPosTextH'>drawPosTextH</a>(const void* text, size_t const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> each glyph in <a href='#SkCanvas_drawPosTextH_text'>text</a> with its (x, y) origin composed from <a href='#SkCanvas_drawPosTextH_xpos'>xpos</a> array and +Draws each glyph in <a href='#SkCanvas_drawPosTextH_text'>text</a> with its (x, y) origin composed from <a href='#SkCanvas_drawPosTextH_xpos'>xpos</a> array and <a href='#SkCanvas_drawPosTextH_constY'>constY</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPosTextH_paint'>paint</a>. The number of entries in <a href='#SkCanvas_drawPosTextH_xpos'>xpos</a> array must match the number of <a href='undocumented#Glyph'>Glyphs</a> described by <a href='#SkCanvas_drawPosTextH_byteLength'>byteLength</a> of <a href='#SkCanvas_drawPosTextH_text'>text</a>. @@ -6075,7 +6084,7 @@ void <a href='#SkCanvas_drawTextOnPathHV'>drawTextOnPathHV</a>(const void* text, <a href='undocumented#SkScalar'>SkScalar</a> vOffset, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='#SkCanvas_drawTextOnPathHV_text'>text</a> on <a href='SkPath_Reference#Path'>Path</a> <a href='#SkCanvas_drawTextOnPathHV_path'>path</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextOnPathHV_paint'>paint</a>. +Draws <a href='#SkCanvas_drawTextOnPathHV_text'>text</a> on <a href='SkPath_Reference#Path'>Path</a> <a href='#SkCanvas_drawTextOnPathHV_path'>path</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextOnPathHV_paint'>paint</a>. Origin of <a href='#SkCanvas_drawTextOnPathHV_text'>text</a> is at distance <a href='#SkCanvas_drawTextOnPathHV_hOffset'>hOffset</a> along the <a href='#SkCanvas_drawTextOnPathHV_path'>path</a>, offset by a perpendicular vector of length <a href='#SkCanvas_drawTextOnPathHV_vOffset'>vOffset</a>. If the <a href='#SkCanvas_drawTextOnPathHV_path'>path</a> section corresponding the glyph advance is @@ -6132,7 +6141,7 @@ void <a href='#SkCanvas_drawTextOnPath'>drawTextOnPath</a>(const void* text, siz const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='#SkCanvas_drawTextOnPath_text'>text</a> on <a href='SkPath_Reference#Path'>Path</a> <a href='#SkCanvas_drawTextOnPath_path'>path</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextOnPath_paint'>paint</a>. +Draws <a href='#SkCanvas_drawTextOnPath_text'>text</a> on <a href='SkPath_Reference#Path'>Path</a> <a href='#SkCanvas_drawTextOnPath_path'>path</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextOnPath_paint'>paint</a>. Origin of <a href='#SkCanvas_drawTextOnPath_text'>text</a> is at beginning of <a href='#SkCanvas_drawTextOnPath_path'>path</a> offset by <a href='#SkCanvas_drawTextOnPath_matrix'>matrix</a>, if not nullptr. <a href='#SkCanvas_drawTextOnPath_matrix'>matrix</a> transforms <a href='#SkCanvas_drawTextOnPath_text'>text</a> before <a href='#SkCanvas_drawTextOnPath_text'>text</a> is mapped to <a href='#SkCanvas_drawTextOnPath_path'>path</a>. If the <a href='#SkCanvas_drawTextOnPath_path'>path</a> section @@ -6190,7 +6199,7 @@ void <a href='#SkCanvas_drawTextRSXform'>drawTextRSXform</a>(const void* text, s const <a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='#SkCanvas_drawTextRSXform_text'>text</a>, transforming each glyph by the corresponding <a href='undocumented#SkRSXform'>SkRSXform</a>, +Draws <a href='#SkCanvas_drawTextRSXform_text'>text</a>, transforming each glyph by the corresponding <a href='undocumented#SkRSXform'>SkRSXform</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextRSXform_paint'>paint</a>. <a href='undocumented#RSXform'>RSXform</a> <a href='#SkCanvas_drawTextRSXform_xform'>xform</a> array specifies a separate square scale, rotation, and translation @@ -6239,7 +6248,7 @@ filled 12 point black <a href='undocumented#Glyph'>Glyphs</a>. void <a href='#SkCanvas_drawTextBlob'>drawTextBlob</a>(const <a href='undocumented#SkTextBlob'>SkTextBlob</a>* blob, <a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Text_Blob'>Text Blob</a> <a href='#SkCanvas_drawTextBlob_blob'>blob</a> at (<a href='#SkCanvas_drawTextBlob_x'>x</a>, <a href='#SkCanvas_drawTextBlob_y'>y</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextBlob_paint'>paint</a>. +Draws <a href='undocumented#Text_Blob'>Text Blob</a> <a href='#SkCanvas_drawTextBlob_blob'>blob</a> at (<a href='#SkCanvas_drawTextBlob_x'>x</a>, <a href='#SkCanvas_drawTextBlob_y'>y</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextBlob_paint'>paint</a>. <a href='#SkCanvas_drawTextBlob_blob'>blob</a> contains <a href='undocumented#Glyph'>Glyphs</a>, their positions, and <a href='#SkCanvas_drawTextBlob_paint'>paint</a> attributes specific to text: <a href='undocumented#Typeface'>Typeface</a>, <a href='SkPaint_Reference#Text_Size'>Paint Text Size</a>, <a href='SkPaint_Reference#Text_Scale_X'>Paint Text Scale X</a>, <a href='SkPaint_Reference#Text_Skew_X'>Paint Text Skew X</a>, @@ -6284,7 +6293,7 @@ Elements of <a href='#SkCanvas_drawTextBlob_paint'>paint</a>: <a href='undocumen void <a href='#SkCanvas_drawTextBlob'>drawTextBlob</a>(const <a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkTextBlob'>SkTextBlob</a>>& blob, <a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Text_Blob'>Text Blob</a> <a href='#SkCanvas_drawTextBlob_2_blob'>blob</a> at (<a href='#SkCanvas_drawTextBlob_2_x'>x</a>, <a href='#SkCanvas_drawTextBlob_2_y'>y</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextBlob_2_paint'>paint</a>. +Draws <a href='undocumented#Text_Blob'>Text Blob</a> <a href='#SkCanvas_drawTextBlob_2_blob'>blob</a> at (<a href='#SkCanvas_drawTextBlob_2_x'>x</a>, <a href='#SkCanvas_drawTextBlob_2_y'>y</a>), using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawTextBlob_2_paint'>paint</a>. <a href='#SkCanvas_drawTextBlob_2_blob'>blob</a> contains <a href='undocumented#Glyph'>Glyphs</a>, their positions, and <a href='#SkCanvas_drawTextBlob_2_paint'>paint</a> attributes specific to text: <a href='undocumented#Typeface'>Typeface</a>, <a href='SkPaint_Reference#Text_Size'>Paint Text Size</a>, <a href='SkPaint_Reference#Text_Scale_X'>Paint Text Scale X</a>, <a href='SkPaint_Reference#Text_Skew_X'>Paint Text Skew X</a>, @@ -6332,7 +6341,7 @@ Elements of <a href='#SkCanvas_drawTextBlob_2_paint'>paint</a>: <a href='undocum void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Reference#SkPicture'>SkPicture</a>* picture) </pre> -<a href='#Draw'>Draw</a> <a href='SkPicture_Reference#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. +Draws <a href='SkPicture_Reference#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a> are unchanged by <a href='#SkCanvas_drawPicture_picture'>picture</a> contents, as if <a href='#SkCanvas_save'>save</a> was called before and <a href='#SkCanvas_restore'>restore</a> was called after <a href='#SkCanvas_drawPicture'>drawPicture</a>. @@ -6361,7 +6370,7 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Re void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#sk_sp'>sk sp</a><<a href='SkPicture_Reference#SkPicture'>SkPicture</a>>& picture) </pre> -<a href='#Draw'>Draw</a> <a href='SkPicture_Reference#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_2_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. +Draws <a href='SkPicture_Reference#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_2_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a> are unchanged by <a href='#SkCanvas_drawPicture_2_picture'>picture</a> contents, as if <a href='#SkCanvas_save'>save</a> was called before and <a href='#SkCanvas_restore'>restore</a> was called after <a href='#SkCanvas_drawPicture'>drawPicture</a>. @@ -6390,7 +6399,7 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Reference#SkPicture'>SkPicture</a>* picture, const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* matrix, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint) </pre> -<a href='#Draw'>Draw</a> <a href='SkPicture_Reference#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_3_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>; transforming <a href='#SkCanvas_drawPicture_3_picture'>picture</a> with +Draws <a href='SkPicture_Reference#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_3_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>; transforming <a href='#SkCanvas_drawPicture_3_picture'>picture</a> with <a href='#Matrix'>Matrix</a> <a href='#SkCanvas_drawPicture_3_matrix'>matrix</a>, if provided; and use <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPicture_3_paint'>paint</a> <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, if provided. @@ -6426,7 +6435,7 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Re void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#sk_sp'>sk sp</a><<a href='SkPicture_Reference#SkPicture'>SkPicture</a>>& picture, const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* matrix, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint) </pre> -<a href='#Draw'>Draw</a> <a href='SkPicture_Reference#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_4_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>; transforming <a href='#SkCanvas_drawPicture_4_picture'>picture</a> with +Draws <a href='SkPicture_Reference#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_4_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>; transforming <a href='#SkCanvas_drawPicture_4_picture'>picture</a> with <a href='#Matrix'>Matrix</a> <a href='#SkCanvas_drawPicture_4_matrix'>matrix</a>, if provided; and use <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawPicture_4_paint'>paint</a> <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, if provided. @@ -6463,7 +6472,7 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented void <a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#SkVertices'>SkVertices</a>* vertices, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Vertices'>Vertices</a> <a href='#SkCanvas_drawVertices_vertices'>vertices</a>, a triangle mesh, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. +Draws <a href='undocumented#Vertices'>Vertices</a> <a href='#SkCanvas_drawVertices_vertices'>vertices</a>, a triangle mesh, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. If <a href='undocumented#Texs'>Vertices Texs</a> and <a href='undocumented#Colors'>Vertices Colors</a> are defined in <a href='#SkCanvas_drawVertices_vertices'>vertices</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawVertices_paint'>paint</a> contains <a href='undocumented#Shader'>Shader</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> <a href='#SkCanvas_drawVertices_mode'>mode</a> combines <a href='undocumented#Colors'>Vertices Colors</a> with <a href='undocumented#Shader'>Shader</a>. @@ -6496,7 +6505,7 @@ contains <a href='undocumented#Shader'>Shader</a>, <a href='SkBlendMode_Referenc void <a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkVertices'>SkVertices</a>>& vertices, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Vertices'>Vertices</a> <a href='#SkCanvas_drawVertices_2_vertices'>vertices</a>, a triangle mesh, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. +Draws <a href='undocumented#Vertices'>Vertices</a> <a href='#SkCanvas_drawVertices_2_vertices'>vertices</a>, a triangle mesh, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. If <a href='undocumented#Texs'>Vertices Texs</a> and <a href='undocumented#Colors'>Vertices Colors</a> are defined in <a href='#SkCanvas_drawVertices_2_vertices'>vertices</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawVertices_2_paint'>paint</a> contains <a href='undocumented#Shader'>Shader</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> <a href='#SkCanvas_drawVertices_2_mode'>mode</a> combines <a href='undocumented#Colors'>Vertices Colors</a> with <a href='undocumented#Shader'>Shader</a>. @@ -6530,7 +6539,7 @@ void <a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocument const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Vertices'>Vertices</a> <a href='#SkCanvas_drawVertices_3_vertices'>vertices</a>, a triangle mesh, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. Bone data is used to +Draws <a href='undocumented#Vertices'>Vertices</a> <a href='#SkCanvas_drawVertices_3_vertices'>vertices</a>, a triangle mesh, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. Bone data is used to deform <a href='#SkCanvas_drawVertices_3_vertices'>vertices</a> with bone weights. If <a href='undocumented#Texs'>Vertices Texs</a> and <a href='undocumented#Colors'>Vertices Colors</a> are defined in <a href='#SkCanvas_drawVertices_3_vertices'>vertices</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawVertices_3_paint'>paint</a> contains <a href='undocumented#Shader'>Shader</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> <a href='#SkCanvas_drawVertices_3_mode'>mode</a> combines <a href='undocumented#Colors'>Vertices Colors</a> with <a href='undocumented#Shader'>Shader</a>. @@ -6575,7 +6584,7 @@ void <a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocument <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Vertices'>Vertices</a> <a href='#SkCanvas_drawVertices_4_vertices'>vertices</a>, a triangle mesh, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. Bone data is used to +Draws <a href='undocumented#Vertices'>Vertices</a> <a href='#SkCanvas_drawVertices_4_vertices'>vertices</a>, a triangle mesh, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. Bone data is used to deform <a href='#SkCanvas_drawVertices_4_vertices'>vertices</a> with bone weights. If <a href='undocumented#Texs'>Vertices Texs</a> and <a href='undocumented#Colors'>Vertices Colors</a> are defined in <a href='#SkCanvas_drawVertices_4_vertices'>vertices</a>, and <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawVertices_4_paint'>paint</a> contains <a href='undocumented#Shader'>Shader</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> <a href='#SkCanvas_drawVertices_4_mode'>mode</a> combines <a href='undocumented#Colors'>Vertices Colors</a> with <a href='undocumented#Shader'>Shader</a>. @@ -6734,7 +6743,7 @@ void <a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='SkImage_Referenc const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint) </pre> -<a href='#Draw'>Draw</a> a set of sprites from <a href='#SkCanvas_drawAtlas_atlas'>atlas</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawAtlas_paint'>paint</a>. +Draws a set of sprites from <a href='#SkCanvas_drawAtlas_atlas'>atlas</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawAtlas_paint'>paint</a>. <a href='#SkCanvas_drawAtlas_paint'>paint</a> uses <a href='SkPaint_Reference#Anti_Alias'>Anti Alias</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> to draw, if present. For each entry in the array, <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawAtlas_tex'>tex</a> locates sprite in <a href='#SkCanvas_drawAtlas_atlas'>atlas</a>, and <a href='undocumented#RSXform'>RSXform</a> <a href='#SkCanvas_drawAtlas_xform'>xform</a> transforms it into destination space. @@ -6791,7 +6800,7 @@ void <a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='undocumented#sk_ const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint) </pre> -<a href='#Draw'>Draw</a> a set of sprites from <a href='#SkCanvas_drawAtlas_2_atlas'>atlas</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawAtlas_2_paint'>paint</a>. +Draws a set of sprites from <a href='#SkCanvas_drawAtlas_2_atlas'>atlas</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawAtlas_2_paint'>paint</a>. <a href='#SkCanvas_drawAtlas_2_paint'>paint</a> uses <a href='SkPaint_Reference#Anti_Alias'>Anti Alias</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> to draw, if present. For each entry in the array, <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawAtlas_2_tex'>tex</a> locates sprite in <a href='#SkCanvas_drawAtlas_2_atlas'>atlas</a>, and <a href='undocumented#RSXform'>RSXform</a> <a href='#SkCanvas_drawAtlas_2_xform'>xform</a> transforms it into destination space. @@ -6846,7 +6855,7 @@ void <a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='SkImage_Referenc const <a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint) </pre> -<a href='#Draw'>Draw</a> a set of sprites from <a href='#SkCanvas_drawAtlas_3_atlas'>atlas</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawAtlas_3_paint'>paint</a>. +Draws a set of sprites from <a href='#SkCanvas_drawAtlas_3_atlas'>atlas</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawAtlas_3_paint'>paint</a>. <a href='#SkCanvas_drawAtlas_3_paint'>paint</a> uses <a href='SkPaint_Reference#Anti_Alias'>Anti Alias</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> to draw, if present. For each entry in the array, <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawAtlas_3_tex'>tex</a> locates sprite in <a href='#SkCanvas_drawAtlas_3_atlas'>atlas</a>, and <a href='undocumented#RSXform'>RSXform</a> <a href='#SkCanvas_drawAtlas_3_xform'>xform</a> transforms it into destination space. @@ -6894,7 +6903,7 @@ void <a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='undocumented#sk_ const <a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint) </pre> -<a href='#Draw'>Draw</a> a set of sprites from <a href='#SkCanvas_drawAtlas_4_atlas'>atlas</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawAtlas_4_paint'>paint</a>. +Draws a set of sprites from <a href='#SkCanvas_drawAtlas_4_atlas'>atlas</a>, using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawAtlas_4_paint'>paint</a>. <a href='#SkCanvas_drawAtlas_4_paint'>paint</a> uses <a href='SkPaint_Reference#Anti_Alias'>Anti Alias</a>, <a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> to draw, if present. For each entry in the array, <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkCanvas_drawAtlas_4_tex'>tex</a> locates sprite in <a href='#SkCanvas_drawAtlas_4_atlas'>atlas</a>, and <a href='undocumented#RSXform'>RSXform</a> <a href='#SkCanvas_drawAtlas_4_xform'>xform</a> transforms it into destination space. @@ -6942,7 +6951,7 @@ If <a href='#SkCanvas_drawAtlas_4_cullRect'>cullRect</a> is outside of <a href=' void <a href='#SkCanvas_drawDrawable'>drawDrawable</a>(<a href='undocumented#SkDrawable'>SkDrawable</a>* drawable, const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* matrix = nullptr) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Drawable'>Drawable</a> <a href='#SkCanvas_drawDrawable_drawable'>drawable</a> using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>, concatenated with +Draws <a href='undocumented#Drawable'>Drawable</a> <a href='#SkCanvas_drawDrawable_drawable'>drawable</a> using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>, concatenated with optional <a href='#SkCanvas_drawDrawable_matrix'>matrix</a>. If <a href='#Canvas'>Canvas</a> has an asynchronous implementation, as is the case @@ -6976,7 +6985,7 @@ immediate drawing, call <a href='undocumented#SkDrawable_draw'>SkDrawable::draw( void <a href='#SkCanvas_drawDrawable'>drawDrawable</a>(<a href='undocumented#SkDrawable'>SkDrawable</a>* drawable, <a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Drawable'>Drawable</a> <a href='#SkCanvas_drawDrawable_2_drawable'>drawable</a> using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>, offset by (<a href='#SkCanvas_drawDrawable_2_x'>x</a>, <a href='#SkCanvas_drawDrawable_2_y'>y</a>). +Draws <a href='undocumented#Drawable'>Drawable</a> <a href='#SkCanvas_drawDrawable_2_drawable'>drawable</a> using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>, offset by (<a href='#SkCanvas_drawDrawable_2_x'>x</a>, <a href='#SkCanvas_drawDrawable_2_y'>y</a>). If <a href='#Canvas'>Canvas</a> has an asynchronous implementation, as is the case when it is recording into <a href='SkPicture_Reference#Picture'>Picture</a>, then <a href='#SkCanvas_drawDrawable_2_drawable'>drawable</a> will be referenced, @@ -7013,7 +7022,7 @@ immediate drawing, call <a href='undocumented#SkDrawable_draw'>SkDrawable::draw( void <a href='#SkCanvas_drawAnnotation'>drawAnnotation</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, const char key[], <a href='undocumented#SkData'>SkData</a>* value) </pre> -Associate <a href='SkRect_Reference#Rect'>Rect</a> on <a href='#Canvas'>Canvas</a> with an annotation; a <a href='#SkCanvas_drawAnnotation_key'>key</a>-<a href='#SkCanvas_drawAnnotation_value'>value</a> pair, where the <a href='#SkCanvas_drawAnnotation_key'>key</a> is +Associates <a href='SkRect_Reference#Rect'>Rect</a> on <a href='#Canvas'>Canvas</a> with an annotation; a <a href='#SkCanvas_drawAnnotation_key'>key</a>-<a href='#SkCanvas_drawAnnotation_value'>value</a> pair, where the <a href='#SkCanvas_drawAnnotation_key'>key</a> is a null-terminated utf8 string, and optional <a href='#SkCanvas_drawAnnotation_value'>value</a> is stored as <a href='undocumented#Data'>Data</a>. Only some canvas implementations, such as recording to <a href='SkPicture_Reference#Picture'>Picture</a>, or drawing to @@ -7048,7 +7057,7 @@ Only some canvas implementations, such as recording to <a href='SkPicture_Refere void <a href='#SkCanvas_drawAnnotation'>drawAnnotation</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, const char key[], const <a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkData'>SkData</a>>& value) </pre> -Associate <a href='SkRect_Reference#Rect'>Rect</a> on <a href='#Canvas'>Canvas</a> when an annotation; a <a href='#SkCanvas_drawAnnotation_2_key'>key</a>-<a href='#SkCanvas_drawAnnotation_2_value'>value</a> pair, where the <a href='#SkCanvas_drawAnnotation_2_key'>key</a> is +Associates <a href='SkRect_Reference#Rect'>Rect</a> on <a href='#Canvas'>Canvas</a> when an annotation; a <a href='#SkCanvas_drawAnnotation_2_key'>key</a>-<a href='#SkCanvas_drawAnnotation_2_value'>value</a> pair, where the <a href='#SkCanvas_drawAnnotation_2_key'>key</a> is a null-terminated utf8 string, and optional <a href='#SkCanvas_drawAnnotation_2_value'>value</a> is stored as <a href='undocumented#Data'>Data</a>. Only some canvas implementations, such as recording to <a href='SkPicture_Reference#Picture'>Picture</a>, or drawing to diff --git a/site/user/api/SkColor_Reference.md b/site/user/api/SkColor_Reference.md index 11920e670c..cb497f6537 100644 --- a/site/user/api/SkColor_Reference.md +++ b/site/user/api/SkColor_Reference.md @@ -477,7 +477,7 @@ opaque colors and masks. Their use is not required. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SK_AlphaTRANSPARENT'><code>SK_AlphaTRANSPARENT</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x00</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Alpha_Constants_Transparent'>Alpha Constants Transparent</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Transparent'>Transparent</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Represents fully transparent <a href='#SkAlpha'>SkAlpha</a> value. <a href='#SkAlpha'>SkAlpha</a> ranges from zero, fully transparent; to 255, fully opaque. @@ -486,7 +486,7 @@ fully transparent; to 255, fully opaque. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SK_AlphaOPAQUE'><code>SK_AlphaOPAQUE</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Alpha_Constants_Opaque'>Alpha Constants Opaque</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Opaque'>Opaque</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Represents fully opaque <a href='#SkAlpha'>SkAlpha</a> value. <a href='#SkAlpha'>SkAlpha</a> ranges from zero, fully transparent; to 255, fully opaque. @@ -621,7 +621,7 @@ The values chosen for names may not be the same as values used by <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SK_ColorTRANSPARENT'><code>SK_ColorTRANSPARENT</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x00000000</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Constants_Transparent'>Color Constants Transparent</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Transparent'>Transparent</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Represents fully transparent <a href='#SkColor'>SkColor</a>. May be used to initialize a destination containing a mask or a non-rectangular image. @@ -630,7 +630,7 @@ containing a mask or a non-rectangular image. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SK_ColorBLACK'><code>SK_ColorBLACK</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF000000</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Constants_Black'>Color Constants Black</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Black'>Black</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Represents fully opaque black. </td> diff --git a/site/user/api/SkImageInfo_Reference.md b/site/user/api/SkImageInfo_Reference.md index 0edfe5baf5..e1642271be 100644 --- a/site/user/api/SkImageInfo_Reference.md +++ b/site/user/api/SkImageInfo_Reference.md @@ -197,7 +197,7 @@ components improve performance. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kOpaque_SkAlphaType'><code>kOpaque_SkAlphaType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Alpha_Type_Opaque'>Alpha Type Opaque</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Opaque'>Opaque</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Pixels are opaque. The <a href='#Color_Type'>Color Type</a> must have no explicit alpha component, or all alpha components must be set to their maximum value. @@ -206,7 +206,7 @@ component, or all alpha components must be set to their maximum value. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kPremul_SkAlphaType'><code>kPremul_SkAlphaType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Alpha_Type_Premul'>Alpha Type Premul</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Premul'>Premul</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Pixels have <a href='SkColor_Reference#Alpha'>Alpha</a> <a href='undocumented#Premultiply'>Premultiplied</a> into color components. <a href='SkSurface_Reference#Surface'>Surface</a> pixels must be <a href='undocumented#Premultiply'>Premultiplied</a>. @@ -215,7 +215,7 @@ Pixels have <a href='SkColor_Reference#Alpha'>Alpha</a> <a href='undocumented#Pr <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kUnpremul_SkAlphaType'><code>kUnpremul_SkAlphaType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Alpha_Type_Unpremul'>Alpha Type Unpremul</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Unpremul'>Unpremul</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> <a href='undocumented#Pixel'>Pixel</a> color component values are independent of alpha value. Images generated from encoded data like PNG do not <a href='undocumented#Premultiply'>Premultiply</a> pixel color @@ -375,7 +375,7 @@ encoding format and size is unknown. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kAlpha_8_SkColorType'><code>kAlpha_8_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_Alpha_8'>Color Type Alpha 8</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Alpha_8'>Alpha 8</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 8-bit byte pixel encoding that represents transparency. Value of zero is completely transparent; a value of 255 is completely opaque. @@ -384,7 +384,7 @@ is completely transparent; a value of 255 is completely opaque. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kRGB_565_SkColorType'><code>kRGB_565_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGB_565'>Color Type RGB 565</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#RGB_565'>RGB 565</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 16-bit word pixel encoding that contains five bits of blue, six bits of green, and five bits of red. @@ -393,7 +393,7 @@ six bits of green, and five bits of red. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kARGB_4444_SkColorType'><code>kARGB_4444_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_ARGB_4444'>Color Type ARGB 4444</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#ARGB_4444'>ARGB 4444</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 16-bit word pixel encoding that contains four bits of alpha, four bits of blue, four bits of green, and four bits of red. @@ -402,7 +402,7 @@ four bits of blue, four bits of green, and four bits of red. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kRGBA_8888_SkColorType'><code>kRGBA_8888_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>4</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGBA_8888'>Color Type RGBA 8888</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#RGBA_8888'>RGBA 8888</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 32-bit word pixel encoding that contains eight bits of red, eight bits of green, eight bits of blue, and eight bits of alpha. @@ -411,7 +411,7 @@ eight bits of green, eight bits of blue, and eight bits of alpha. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kRGB_888x_SkColorType'><code>kRGB_888x_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>5</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGB_888'>Color Type RGB 888</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#RGB_888'>RGB 888</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 32-bit word pixel encoding that contains eight bits of red, eight bits of green, eight bits of blue, and eight unused bits. @@ -420,7 +420,7 @@ eight bits of green, eight bits of blue, and eight unused bits. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kBGRA_8888_SkColorType'><code>kBGRA_8888_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>6</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_BGRA_8888'>Color Type BGRA 8888</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#BGRA_8888'>BGRA 8888</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 32-bit word pixel encoding that contains eight bits of blue, eight bits of green, eight bits of red, and eight bits of alpha. @@ -429,7 +429,7 @@ eight bits of green, eight bits of red, and eight bits of alpha. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kRGBA_1010102_SkColorType'><code>kRGBA_1010102_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>7</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGBA_1010102'>Color Type RGBA 1010102</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#RGBA_1010102'>RGBA 1010102</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 32-bit word pixel encoding that contains ten bits of red, ten bits of green, ten bits of blue, and two bits of alpha. @@ -438,7 +438,7 @@ ten bits of green, ten bits of blue, and two bits of alpha. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kRGB_101010x_SkColorType'><code>kRGB_101010x_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>8</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGB_101010'>Color Type RGB 101010</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#RGB_101010'>RGB 101010</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 32-bit word pixel encoding that contains ten bits of red, ten bits of green, ten bits of blue, and two unused bits. @@ -447,7 +447,7 @@ ten bits of green, ten bits of blue, and two unused bits. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kGray_8_SkColorType'><code>kGray_8_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>9</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_Gray_8'>Color Type Gray 8</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Gray_8'>Gray 8</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 8-bit byte pixel encoding that equivalent to equal values for red, blue, and green, representing colors from black to white. @@ -456,7 +456,7 @@ blue, and green, representing colors from black to white. <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kRGBA_F16_SkColorType'><code>kRGBA_F16_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>10</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGBA_F16'>Color Type RGBA F16</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#RGBA_F16'>RGBA F16</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 64-bit word pixel encoding that contains 16 bits of blue, 16 bits of green, 16 bits of red, and 16 bits of alpha. Each component @@ -466,7 +466,7 @@ is encoded as a half float. <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='kRGBA_F32_SkColorType'><code>kRGBA_F32_SkColorType</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>11</td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGBA_F32'>Color Type RGBA F32</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#RGBA_F32'>RGBA F32</a> </td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> Stores 128-bit word pixel encoding that contains 32 bits of blue, 32 bits of green, 32 bits of red, and 32 bits of alpha. Each component diff --git a/site/user/api/SkImage_Reference.md b/site/user/api/SkImage_Reference.md index fc6a7e9d00..eec6966d98 100644 --- a/site/user/api/SkImage_Reference.md +++ b/site/user/api/SkImage_Reference.md @@ -2300,7 +2300,7 @@ partial or full <a href='#Image'>Image</a>, or nullptr ### Example -<div><fiddle-embed name="4f153cf1d0dbe1a95acf5badeec14dae"></fiddle-embed></div> +<div><fiddle-embed name="93669037c9eb9d142e7776b9f936fa96"></fiddle-embed></div> ### See Also diff --git a/site/user/api/SkMatrix_Reference.md b/site/user/api/SkMatrix_Reference.md index 4c891add50..617ccc8915 100644 --- a/site/user/api/SkMatrix_Reference.md +++ b/site/user/api/SkMatrix_Reference.md @@ -680,6 +680,8 @@ Sets <a href='#Matrix'>Matrix</a> to scale by (<a href='#SkMatrix_MakeScale_sx'> | 0 0 1 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_MakeScale_sx'><code><strong>sx</strong></code></a></td> @@ -718,6 +720,8 @@ Sets <a href='#Matrix'>Matrix</a> to <a href='#SkMatrix_MakeScale_2_scale'>scale | 0 0 1 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_MakeScale_2_scale'><code><strong>scale</strong></code></a></td> @@ -754,6 +758,8 @@ Sets <a href='#Matrix'>Matrix</a> to translate by (<a href='#SkMatrix_MakeTrans_ | 0 0 1 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_MakeTrans_dx'><code><strong>dx</strong></code></a></td> @@ -795,6 +801,8 @@ Sets <a href='#Matrix'>Matrix</a> to: | pers0 pers1 pers2 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_MakeAll_scaleX'><code><strong>scaleX</strong></code></a></td> @@ -1076,6 +1084,8 @@ Returns true if <a href='#Matrix'>Matrix</a> is identity. Identity matrix is: | 0 0 1 | </pre> +. + ### Return Value true if <a href='#Matrix'>Matrix</a> has no effect @@ -1115,6 +1125,8 @@ contain only scale elements, only translate elements, or both. <a href='#Matrix' | 0 0 1 | </pre> +. + ### Return Value true if <a href='#Matrix'>Matrix</a> is identity; or scales, translates, or both @@ -1155,6 +1167,8 @@ Returns true if <a href='#Matrix'>Matrix</a> is identity, or translates. <a href | 0 0 1 | </pre> +. + ### Return Value true if <a href='#Matrix'>Matrix</a> is identity, or translates @@ -2472,6 +2486,8 @@ Sets all values from parameters. Sets matrix to: | persp0 persp1 persp2 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_setAll_scaleX'><code><strong>scaleX</strong></code></a></td> @@ -2570,6 +2586,8 @@ Sets matrix to: | buffer[6] buffer[7] buffer[8] | </pre> +. + In the future, <a href='#SkMatrix_set9'>set9</a> followed by <a href='#SkMatrix_get9'>get9</a> may not return the same values. Since <a href='#Matrix'>Matrix</a> maps non-homogeneous coordinates, scaling all nine values produces an equivalent transformation, possibly improving precision. @@ -2606,6 +2624,8 @@ Sets <a href='#Matrix'>Matrix</a> to identity; which has no effect on mapped <a | 0 0 1 | </pre> +. + Also called <a href='#SkMatrix_setIdentity'>setIdentity</a>; use the one that provides better inline documentation. @@ -2642,6 +2662,8 @@ Sets <a href='#Matrix'>Matrix</a> to identity; which has no effect on mapped <a | 0 0 1 | </pre> +. + Also called <a href='#SkMatrix_reset'>reset</a>; use the one that provides better inline documentation. @@ -3037,6 +3059,8 @@ a * b = | D E F | * | M N O | = | DJ+EM+FP DK+EN+FQ DL+EO+FR | | G H I | | P Q R | | GJ+HM+IP GK+HN+IQ GL+HO+IR | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_setConcat_a'><code><strong>a</strong></code></a></td> @@ -3085,6 +3109,8 @@ Matrix * T(dx, dy) = | D E F | | 0 1 dy | = | D E D*dx+E*dy+F | | G H I | | 0 0 1 | | G H G*dx+H*dy+I | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_preTranslate_dx'><code><strong>dx</strong></code></a></td> @@ -3139,6 +3165,8 @@ Matrix * S(sx, sy, px, py) = | D E F | | 0 sy dy | = | D*sx E*sy D*dx+E*dy+F | | G H I | | 0 0 1 | | G*sx H*sy G*dx+H*dy+I | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_preScale_sx'><code><strong>sx</strong></code></a></td> @@ -3191,6 +3219,8 @@ Matrix * S(sx, sy) = | D E F | | 0 sy 0 | = | D*sx E*sy F | | G H I | | 0 0 1 | | G*sx H*sy I | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_preScale_2_sx'><code><strong>sx</strong></code></a></td> @@ -3249,6 +3279,8 @@ Matrix * R(degrees, px, py) = | D E F | | s c dy | = | Dc+Es -Ds+Ec D*dx+E*dy+F | G H I | | 0 0 1 | | Gc+Hs -Gs+Hc G*dx+H*dy+I | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_preRotate_degrees'><code><strong>degrees</strong></code></a></td> @@ -3307,6 +3339,8 @@ Matrix * R(degrees, px, py) = | D E F | | s c 0 | = | Dc+Es -Ds+Ec F | | G H I | | 0 0 1 | | Gc+Hs -Gs+Hc I | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_preRotate_2_degrees'><code><strong>degrees</strong></code></a></td> @@ -3358,6 +3392,8 @@ Matrix * K(kx, ky, px, py) = | D E F | | ky 1 dy | = | D+E*ky D*kx+E D*dx+E*dy+ | G H I | | 0 0 1 | | G+H*ky G*kx+H G*dx+H*dy+I | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_preSkew_kx'><code><strong>kx</strong></code></a></td> @@ -3410,6 +3446,8 @@ Matrix * K(kx, ky) = | D E F | | ky 1 0 | = | D+E*ky D*kx+E F | | G H I | | 0 0 1 | | G+H*ky G*kx+H I | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_preSkew_2_kx'><code><strong>kx</strong></code></a></td> @@ -3456,6 +3494,8 @@ Matrix * other = | D E F | * | M N O | = | DJ+EM+FP DK+EN+FQ DL+EO+FR | | G H I | | P Q R | | GJ+HM+IP GK+HN+IQ GL+HO+IR | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_preConcat_other'><code><strong>other</strong></code></a></td> @@ -3501,6 +3541,8 @@ T(dx, dy) * Matrix = | 0 1 dy | | M N O | = | M+dy*P N+dy*Q O+dy*R | | 0 0 1 | | P Q R | | P Q R | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postTranslate_dx'><code><strong>dx</strong></code></a></td> @@ -3556,6 +3598,8 @@ S(sx, sy, px, py) * Matrix = | 0 sy dy | | M N O | = | sy*M+dy*P sy*N+dy*Q sy*O | 0 0 1 | | P Q R | | P Q R | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postScale_sx'><code><strong>sx</strong></code></a></td> @@ -3608,6 +3652,8 @@ S(sx, sy) * Matrix = | 0 sy 0 | | M N O | = | sy*M sy*N sy*O | | 0 0 1 | | P Q R | | P Q R | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postScale_2_sx'><code><strong>sx</strong></code></a></td> @@ -3663,6 +3709,8 @@ I(divx, divy) * Matrix = | 0 sy 0 | | M N O | = | sy*M sy*N sy*O | | 0 0 1 | | P Q R | | P Q R | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postIDiv_divx'><code><strong>divx</strong></code></a></td> @@ -3725,6 +3773,8 @@ R(degrees, px, py) * Matrix = |s c dy| |M N O| = |sJ+cM+dy*P sK+cN+dy*Q sL+cO+d |0 0 1| |P Q R| | P Q R| </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postRotate_degrees'><code><strong>degrees</strong></code></a></td> @@ -3783,6 +3833,8 @@ R(degrees, px, py) * Matrix = | s c dy | | M N O | = | sJ+cM sK+cN sL+cO | | 0 0 1 | | P Q R | | P Q R | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postRotate_2_degrees'><code><strong>degrees</strong></code></a></td> @@ -3834,6 +3886,8 @@ K(kx, ky, px, py) * Matrix = |ky 1 dy| |M N O| = |ky*J+M+dy*P ky*K+N+dy*Q ky*L+ | 0 0 1| |P Q R| | P Q R| </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postSkew_kx'><code><strong>kx</strong></code></a></td> @@ -3886,6 +3940,8 @@ K(kx, ky) * Matrix = | ky 1 0 | | M N O | = | ky*J+M ky*K+N ky*L+O | | 0 0 1 | | P Q R | | P Q R | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postSkew_2_kx'><code><strong>kx</strong></code></a></td> @@ -3932,6 +3988,8 @@ other * Matrix = | D E F | * | M N O | = | DJ+EM+FP DK+EN+FQ DL+EO+FR | | G H I | | P Q R | | GJ+HM+IP GK+HN+IQ GL+HO+IR | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_postConcat_other'><code><strong>other</strong></code></a></td> @@ -4035,6 +4093,8 @@ Returns true if <a href='#SkMatrix_setRectToRect_dst'>dst</a> is empty, and sets | 0 0 1 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_setRectToRect_src'><code><strong>src</strong></code></a></td> @@ -4096,6 +4156,8 @@ empty, returns <a href='#Matrix'>Matrix</a> set to: | 0 0 1 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_MakeRectToRect_src'><code><strong>src</strong></code></a></td> @@ -4229,6 +4291,8 @@ Sets <a href='#SkMatrix_SetAffineIdentity_affine'>affine</a> to: | 0 1 0 | </pre> +. + Affine 3x2 matrices in column major order are used by OpenGL and XPS. ### Parameters @@ -4270,6 +4334,8 @@ Fills <a href='#SkMatrix_asAffine_affine'>affine</a> in column major order. Sets | skew-y scale-y translate-y | </pre> +. + If <a href='#Matrix'>Matrix</a> contains perspective, returns false and leaves <a href='#SkMatrix_asAffine_affine'>affine</a> unchanged. ### Parameters @@ -4324,6 +4390,8 @@ column, then row, as: | 0 0 1 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_setAffine_affine'><code><strong>affine</strong></code></a></td> @@ -4471,6 +4539,8 @@ Matrix * pt = |D E F| |y| = |Ax+By+C Dx+Ey+F Gx+Hy+I| = ------- , ------- |G H I| |1| Gx+Hy+I Gx+Hy+I </pre> +. + <a href='#SkMatrix_mapPoints_src'>src</a> and <a href='#SkMatrix_mapPoints_dst'>dst</a> may point to the same storage. ### Parameters @@ -4528,6 +4598,8 @@ Matrix * pt = |D E F| |y| = |Ax+By+C Dx+Ey+F Gx+Hy+I| = ------- , ------- |G H I| |1| Gx+Hy+I Gx+Hy+I </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_mapPoints_2_pts'><code><strong>pts</strong></code></a></td> @@ -4572,6 +4644,8 @@ Matrix * src = |D E F| |y| = |Ax+By+Cz Dx+Ey+Fz Gx+Hy+Iz| |G H I| |z| </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_mapHomogeneousPoints_dst'><code><strong>dst</strong></code></a></td> @@ -4618,6 +4692,8 @@ Matrix * pt = |D E F| |y| = |Ax+By+C Dx+Ey+F Gx+Hy+I| = ------- , ------- |G H I| |1| Gx+Hy+I Gx+Hy+I </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_mapXY_x'><code><strong>x</strong></code></a></td> @@ -4663,6 +4739,8 @@ Matrix * pt = |D E F| |y| = |Ax+By+C Dx+Ey+F Gx+Hy+I| = ------- , ------- |G H I| |1| Gx+Hy+I Gx+Hy+I </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_mapXY_2_x'><code><strong>x</strong></code></a></td> @@ -4778,6 +4856,8 @@ Matrix * vec = |D E 0| |y| = |Ax+By Dx+Ey Gx+Hy+I| = ------- , ------- |G H I| |1| Gx+Hy+I Gx+Hy+I </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_mapVectors_2_vecs'><code><strong>vecs</strong></code></a></td> @@ -4822,6 +4902,8 @@ Matrix * vec = |D E 0| |dy| = |A*dx+B*dy D*dx+E*dy G*dx+H*dy+I| = ----------- , |G H I| | 1| G*dx+H*dy+I G*dx+*dHy+I </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_mapVector_dx'><code><strong>dx</strong></code></a></td> @@ -4868,6 +4950,8 @@ Matrix * vec = |D E 0| |dy| = |A*dx+B*dy D*dx+E*dy G*dx+H*dy+I| = ----------- , |G H I| | 1| G*dx+H*dy+I G*dx+*dHy+I </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_mapVector_2_dx'><code><strong>dx</strong></code></a></td> @@ -5022,6 +5106,8 @@ Matrix * pt = |D E F| |y| = |Ax+By+C Dx+Ey+F Gx+Hy+I| = ------- , ------- |G H I| |1| Gx+Hy+I Gx+Hy+I </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_mapRectToQuad_dst'><code><strong>dst</strong></code></a></td> @@ -5491,7 +5577,7 @@ Returns true if <a href='#SkMatrix_decomposeScale_scale'>scale</a> components ar unchanged if <a href='#Matrix'>Matrix</a> contains perspective; <a href='#SkMatrix_decomposeScale_scale'>scale</a> factors are not finite, or are nearly zero. -On success<a href='#Matrix'>Matrix</a> = <a href='#SkMatrix_decomposeScale_scale'>scale</a> * Remaining +On success<a href='#Matrix'>Matrix</a> = <a href='#SkMatrix_decomposeScale_scale'>scale</a> * Remaining. ### Parameters @@ -5543,6 +5629,8 @@ Returns reference to const identity <a href='#Matrix'>Matrix</a>. Returned <a hr | 0 0 1 | </pre> +. + ### Return Value const identity <a href='#Matrix'>Matrix</a> @@ -5582,6 +5670,8 @@ to: | SK_ScalarMax SK_ScalarMax SK_ScalarMax | </pre> +. + ### Return Value const invalid <a href='#Matrix'>Matrix</a> @@ -5629,6 +5719,8 @@ a * b = | D E F | * | M N O | = | DJ+EM+FP DK+EN+FQ DL+EO+FR | | G H I | | P Q R | | GJ+HM+IP GK+HN+IQ GL+HO+IR | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_Concat_a'><code><strong>a</strong></code></a></td> @@ -5701,6 +5793,8 @@ Initializes <a href='#Matrix'>Matrix</a> with scale and translate elements. | 0 0 1 | </pre> +. + ### Parameters <table> <tr> <td><a name='SkMatrix_setScaleTranslate_sx'><code><strong>sx</strong></code></a></td> diff --git a/site/user/api/SkPaint_Reference.md b/site/user/api/SkPaint_Reference.md index c63d3cad40..342579d231 100644 --- a/site/user/api/SkPaint_Reference.md +++ b/site/user/api/SkPaint_Reference.md @@ -1661,7 +1661,7 @@ The lines are drawn into <a href='SkBitmap_Reference#Bitmap'>Bitmap</a>, then dr bool <a href='#SkPaint_isAntiAlias'>isAntiAlias</a>() const </pre> -If true, pixels on the active edges of <a href='SkPath_Reference#Path'>Path</a> may be drawn with partial transparency. +Returns true if pixels on the active edges of <a href='SkPath_Reference#Path'>Path</a> may be drawn with partial transparency. Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkPaint_kAntiAlias_Flag'>kAntiAlias Flag</a>. @@ -1757,7 +1757,7 @@ dither, making it easier to see. bool <a href='#SkPaint_isDither'>isDither</a>() const </pre> -If true, color error may be distributed to smooth color transition. +Returns true if color error may be distributed to smooth color transition. Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkPaint_kDither_Flag'>kDither Flag</a>. @@ -1860,7 +1860,7 @@ If <a href='#SkPaint_kLinearText_Flag'>kLinearText Flag</a> is clear, it is the bool <a href='#SkPaint_isLinearText'>isLinearText</a>() const </pre> -If true, text is converted to <a href='SkPath_Reference#Path'>Path</a> before drawing and measuring. +Returns true if text is converted to <a href='SkPath_Reference#Path'>Path</a> before drawing and measuring. Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkPaint_kLinearText_Flag'>kLinearText Flag</a>. @@ -1885,7 +1885,7 @@ Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkP void <a href='#SkPaint_setLinearText'>setLinearText</a>(bool linearText) </pre> -If true, text is converted to <a href='SkPath_Reference#Path'>Path</a> before drawing and measuring. +Returns true if text is converted to <a href='SkPath_Reference#Path'>Path</a> before drawing and measuring. By default, <a href='#SkPaint_kLinearText_Flag'>kLinearText Flag</a> is clear. Sets <a href='#SkPaint_kLinearText_Flag'>kLinearText Flag</a> if <a href='#SkPaint_setLinearText_linearText'>linearText</a> is true. @@ -1921,7 +1921,7 @@ of the color increases, the edge of the glyph appears to move towards the outsid bool <a href='#SkPaint_isSubpixelText'>isSubpixelText</a>() const </pre> -If true, <a href='undocumented#Glyph'>Glyphs</a> at different sub-pixel positions may differ on pixel edge coverage. +Returns true if <a href='undocumented#Glyph'>Glyphs</a> at different sub-pixel positions may differ on pixel edge coverage. Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkPaint_kSubpixelText_Flag'>kSubpixelText Flag</a>. @@ -1992,7 +1992,7 @@ the color components as RGB or BGR. bool <a href='#SkPaint_isLCDRenderText'>isLCDRenderText</a>() const </pre> -If true, <a href='undocumented#Glyph'>Glyphs</a> may use LCD striping to improve glyph edges. +Returns true if <a href='undocumented#Glyph'>Glyphs</a> may use LCD striping to improve glyph edges. Returns true if <a href='#SkPaint_Flags'>Flags</a> <a href='#SkPaint_kLCDRenderText_Flag'>kLCDRenderText Flag</a> is set. @@ -2095,7 +2095,7 @@ Windows may select the bitmap glyph but is not required to do so. bool <a href='#SkPaint_isEmbeddedBitmapText'>isEmbeddedBitmapText</a>() const </pre> -If true, <a href='undocumented#Engine'>Font Engine</a> may return <a href='undocumented#Glyph'>Glyphs</a> from font bitmaps instead of from outlines. +Returns true if <a href='undocumented#Engine'>Font Engine</a> may return <a href='undocumented#Glyph'>Glyphs</a> from font bitmaps instead of from outlines. Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkPaint_kEmbeddedBitmapText_Flag'>kEmbeddedBitmapText Flag</a>. @@ -2167,9 +2167,9 @@ instructs the <a href='undocumented#Font_Manager'>Font Manager</a> to always hin bool <a href='#SkPaint_isAutohinted'>isAutohinted</a>() const </pre> -If true, and if <a href='#SkPaint_Hinting'>Hinting</a> is set to <a href='#SkPaint_kNormal_Hinting'>kNormal Hinting</a> or <a href='#SkPaint_kFull_Hinting'>kFull Hinting</a>, and if -platform uses FreeType as the <a href='undocumented#Font_Manager'>Font Manager</a>, instruct the <a href='undocumented#Font_Manager'>Font Manager</a> to always hint -<a href='undocumented#Glyph'>Glyphs</a>. +Returns true if <a href='#SkPaint_Hinting'>Hinting</a> is set to <a href='#SkPaint_kNormal_Hinting'>kNormal Hinting</a> or <a href='#SkPaint_kFull_Hinting'>kFull Hinting</a>, and if +platform uses FreeType as the <a href='undocumented#Font_Manager'>Font Manager</a>. If true, instructs +the <a href='undocumented#Font_Manager'>Font Manager</a> to always hint <a href='undocumented#Glyph'>Glyphs</a>. Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkPaint_kAutoHinting_Flag'>kAutoHinting Flag</a>. @@ -2203,8 +2203,9 @@ paint.isAutohinted() == !!(paint.getFlags() & SkPaint::kAutoHinting_Flag) void <a href='#SkPaint_setAutohinted'>setAutohinted</a>(bool useAutohinter) </pre> +Sets whether to always hint <a href='undocumented#Glyph'>Glyphs</a>. If <a href='#SkPaint_Hinting'>Hinting</a> is set to <a href='#SkPaint_kNormal_Hinting'>kNormal Hinting</a> or <a href='#SkPaint_kFull_Hinting'>kFull Hinting</a> and <a href='#SkPaint_setAutohinted_useAutohinter'>useAutohinter</a> is set, -instruct the <a href='undocumented#Font_Manager'>Font Manager</a> to always hint <a href='undocumented#Glyph'>Glyphs</a>. +instructs the <a href='undocumented#Font_Manager'>Font Manager</a> to always hint <a href='undocumented#Glyph'>Glyphs</a>. <a href='#Automatic_Hinting'>Automatic Hinting</a> has no effect if <a href='#SkPaint_Hinting'>Hinting</a> is set to <a href='#SkPaint_kNo_Hinting'>kNo Hinting</a> or <a href='#SkPaint_kSlight_Hinting'>kSlight Hinting</a>. @@ -2263,7 +2264,7 @@ into glyph series. bool <a href='#SkPaint_isVerticalText'>isVerticalText</a>() const </pre> -If true, <a href='undocumented#Glyph'>Glyphs</a> are drawn top to bottom instead of left to right. +Returns true if <a href='undocumented#Glyph'>Glyphs</a> are drawn top to bottom instead of left to right. Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkPaint_kVerticalText_Flag'>kVerticalText Flag</a>. @@ -2293,7 +2294,7 @@ paint.isVerticalText() == !!(paint.getFlags() & SkPaint::kVerticalText_Flag) void <a href='#SkPaint_setVerticalText'>setVerticalText</a>(bool verticalText) </pre> -If true, text advance positions the next glyph below the previous glyph instead of to the +Returns true if text advance positions the next glyph below the previous glyph instead of to the right of previous glyph. Sets <a href='#SkPaint_kVerticalText_Flag'>kVerticalText Flag</a> if vertical is true. @@ -2346,7 +2347,7 @@ by increasing the stroke width and setting the <a href='#SkPaint_Style'>Style</a bool <a href='#SkPaint_isFakeBoldText'>isFakeBoldText</a>() const </pre> -If true, approximate bold by increasing the stroke width when creating glyph bitmaps +Returns true if approximate bold by increasing the stroke width when creating glyph bitmaps from outlines. Equivalent to <a href='#SkPaint_getFlags'>getFlags</a> masked with <a href='#SkPaint_kFakeBoldText_Flag'>kFakeBoldText Flag</a>. @@ -2377,7 +2378,7 @@ paint.isFakeBoldText() == !!(paint.getFlags() & SkPaint::kFakeBoldText_Flag) void <a href='#SkPaint_setFakeBoldText'>setFakeBoldText</a>(bool fakeBoldText) </pre> -Use increased stroke width when creating glyph bitmaps to approximate a bold typeface. +Increases stroke width when creating glyph bitmaps to approximate a bold typeface. Sets <a href='#SkPaint_kFakeBoldText_Flag'>kFakeBoldText Flag</a> if <a href='#SkPaint_setFakeBoldText_fakeBoldText'>fakeBoldText</a> is true. Clears <a href='#SkPaint_kFakeBoldText_Flag'>kFakeBoldText Flag</a> if <a href='#SkPaint_setFakeBoldText_fakeBoldText'>fakeBoldText</a> is false. @@ -2844,7 +2845,7 @@ May be used to verify that <a href='#SkPaint_Style'>Style</a> is a legal value. <a href='#SkPaint_Style'>Style</a> <a href='#SkPaint_getStyle'>getStyle</a>() const </pre> -Whether the geometry is filled, stroked, or filled and stroked. +Returns whether the geometry is filled, stroked, or filled and stroked. ### Return Value @@ -3027,7 +3028,7 @@ by a bevel join. <a href='undocumented#SkScalar'>SkScalar</a> <a href='#SkPaint_getStrokeMiter'>getStrokeMiter</a>() const </pre> -The limit at which a sharp corner is drawn beveled. +Returns the limit at which a sharp corner is drawn beveled. ### Return Value @@ -3058,7 +3059,7 @@ default miter limit == 4 void <a href='#SkPaint_setStrokeMiter'>setStrokeMiter</a>(<a href='undocumented#SkScalar'>SkScalar</a> miter) </pre> -The limit at which a sharp corner is drawn beveled. +Sets the limit at which a sharp corner is drawn beveled. Valid values are zero and greater. Has no effect if <a href='#SkPaint_setStrokeMiter_miter'>miter</a> is less than zero. @@ -3186,7 +3187,7 @@ at the contour point. <a href='#SkPaint_Cap'>Cap</a> <a href='#SkPaint_getStrokeCap'>getStrokeCap</a>() const </pre> -The geometry drawn at the beginning and end of strokes. +Returns the geometry drawn at the beginning and end of strokes. ### Return Value @@ -3217,7 +3218,7 @@ kButt_Cap == default stroke cap void <a href='#SkPaint_setStrokeCap'>setStrokeCap</a>(<a href='#SkPaint_Cap'>Cap</a> cap) </pre> -The geometry drawn at the beginning and end of strokes. +Sets the geometry drawn at the beginning and end of strokes. ### Parameters @@ -3352,7 +3353,7 @@ May be used to verify that <a href='#Stroke_Join'>Stroke Join</a> is a legal val <a href='#SkPaint_Join'>Join</a> <a href='#SkPaint_getStrokeJoin'>getStrokeJoin</a>() const </pre> -The geometry drawn at the corners of strokes. +Returns the geometry drawn at the corners of strokes. ### Return Value @@ -3383,7 +3384,7 @@ kMiter_Join == default stroke join void <a href='#SkPaint_setStrokeJoin'>setStrokeJoin</a>(<a href='#SkPaint_Join'>Join</a> join) </pre> -The geometry drawn at the corners of strokes. +Sets the geometry drawn at the corners of strokes. ### Parameters @@ -3442,7 +3443,7 @@ returns false since <a href='#Style_Hairline'>Hairline</a> has no filled equival bool <a href='#SkPaint_getFillPath'>getFillPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& src, <a href='SkPath_Reference#SkPath'>SkPath</a>* dst, const <a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, <a href='undocumented#SkScalar'>SkScalar</a> resScale = 1) const </pre> -The filled equivalent of the stroked path. +Returns the filled equivalent of the stroked path. ### Parameters @@ -3480,7 +3481,7 @@ At the highest precision, the filled path has high fidelity compared to the orig bool <a href='#SkPaint_getFillPath'>getFillPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& src, <a href='SkPath_Reference#SkPath'>SkPath</a>* dst) const </pre> -The filled equivalent of the stroked path. +Returns the filled equivalent of the stroked path. Replaces <a href='#SkPaint_getFillPath_2_dst'>dst</a> with the <a href='#SkPaint_getFillPath_2_src'>src</a> path modified by <a href='undocumented#Path_Effect'>Path Effect</a> and <a href='#Style_Stroke'>Style Stroke</a>. <a href='undocumented#Path_Effect'>Path Effect</a>, if any, is not culled. <a href='#Stroke_Width'>Stroke Width</a> is created with default precision. @@ -3538,7 +3539,7 @@ If <a href='undocumented#Shader'>Shader</a> generates only <a href='SkColor_Refe <a href='undocumented#SkShader'>SkShader</a>* <a href='#SkPaint_getShader'>getShader</a>() const </pre> -Optional colors used when filling a path, such as a gradient. +Returns optional colors used when filling a path, such as a gradient. Does not alter <a href='undocumented#Shader'>Shader</a> <a href='undocumented#Reference_Count'>Reference Count</a>. @@ -3568,7 +3569,7 @@ nullptr != shader <a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkShader'>SkShader</a>> <a href='#SkPaint_refShader'>refShader</a>() const </pre> -Optional colors used when filling a path, such as a gradient. +Returns optional colors used when filling a path, such as a gradient. Increases <a href='undocumented#Shader'>Shader</a> <a href='undocumented#Reference_Count'>Reference Count</a> by one. @@ -3598,7 +3599,7 @@ shader unique: false void <a href='#SkPaint_setShader'>setShader</a>(<a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkShader'>SkShader</a>> shader) </pre> -Optional colors used when filling a path, such as a gradient. +Sets optional colors used when filling a path, such as a gradient. Sets <a href='undocumented#Shader'>Shader</a> to <a href='#SkPaint_setShader_shader'>shader</a>, decreasing <a href='undocumented#Reference_Count'>Reference Count</a> of the previous <a href='undocumented#Shader'>Shader</a>. Increments <a href='#SkPaint_setShader_shader'>shader</a> <a href='undocumented#Reference_Count'>Reference Count</a> by one. @@ -5131,7 +5132,7 @@ If <a href='#SkPaint_FontMetrics_kStrikeoutPositionIsValid_Flag'>kStrikeoutPosit bool <a href='#SkPaint_FontMetrics_hasUnderlineThickness'>hasUnderlineThickness</a>(<a href='undocumented#SkScalar'>SkScalar</a>* thickness) const </pre> -If <a href='#Font_Metrics'>Font Metrics</a> has a valid underline <a href='#SkPaint_FontMetrics_hasUnderlineThickness_thickness'>thickness</a>, return true, and set +Returns true if <a href='#Font_Metrics'>Font Metrics</a> has a valid underline <a href='#SkPaint_FontMetrics_hasUnderlineThickness_thickness'>thickness</a>, and sets <a href='#SkPaint_FontMetrics_hasUnderlineThickness_thickness'>thickness</a> to that value. If the underline <a href='#SkPaint_FontMetrics_hasUnderlineThickness_thickness'>thickness</a> is not valid, return false, and ignore <a href='#SkPaint_FontMetrics_hasUnderlineThickness_thickness'>thickness</a>. @@ -5155,7 +5156,7 @@ true if font specifies underline width bool <a href='#SkPaint_FontMetrics_hasUnderlinePosition'>hasUnderlinePosition</a>(<a href='undocumented#SkScalar'>SkScalar</a>* position) const </pre> -If <a href='#Font_Metrics'>Font Metrics</a> has a valid underline <a href='#SkPaint_FontMetrics_hasUnderlinePosition_position'>position</a>, return true, and set +Returns true if <a href='#Font_Metrics'>Font Metrics</a> has a valid underline <a href='#SkPaint_FontMetrics_hasUnderlinePosition_position'>position</a>, and sets <a href='#SkPaint_FontMetrics_hasUnderlinePosition_position'>position</a> to that value. If the underline <a href='#SkPaint_FontMetrics_hasUnderlinePosition_position'>position</a> is not valid, return false, and ignore <a href='#SkPaint_FontMetrics_hasUnderlinePosition_position'>position</a>. @@ -5179,7 +5180,7 @@ true if font specifies underline <a href='#SkPaint_FontMetrics_hasUnderlinePosit bool <a href='#SkPaint_FontMetrics_hasStrikeoutThickness'>hasStrikeoutThickness</a>(<a href='undocumented#SkScalar'>SkScalar</a>* thickness) const </pre> -If <a href='#Font_Metrics'>Font Metrics</a> has a valid strikeout <a href='#SkPaint_FontMetrics_hasStrikeoutThickness_thickness'>thickness</a>, return true, and set +Returns true if <a href='#Font_Metrics'>Font Metrics</a> has a valid strikeout <a href='#SkPaint_FontMetrics_hasStrikeoutThickness_thickness'>thickness</a>, and sets <a href='#SkPaint_FontMetrics_hasStrikeoutThickness_thickness'>thickness</a> to that value. If the underline <a href='#SkPaint_FontMetrics_hasStrikeoutThickness_thickness'>thickness</a> is not valid, return false, and ignore <a href='#SkPaint_FontMetrics_hasStrikeoutThickness_thickness'>thickness</a>. @@ -5203,7 +5204,7 @@ true if font specifies strikeout width bool <a href='#SkPaint_FontMetrics_hasStrikeoutPosition'>hasStrikeoutPosition</a>(<a href='undocumented#SkScalar'>SkScalar</a>* position) const </pre> -If <a href='#Font_Metrics'>Font Metrics</a> has a valid strikeout <a href='#SkPaint_FontMetrics_hasStrikeoutPosition_position'>position</a>, return true, and set +Returns true if <a href='#Font_Metrics'>Font Metrics</a> has a valid strikeout <a href='#SkPaint_FontMetrics_hasStrikeoutPosition_position'>position</a>, and sets <a href='#SkPaint_FontMetrics_hasStrikeoutPosition_position'>position</a> to that value. If the underline <a href='#SkPaint_FontMetrics_hasStrikeoutPosition_position'>position</a> is not valid, return false, and ignore <a href='#SkPaint_FontMetrics_hasStrikeoutPosition_position'>position</a>. @@ -5925,7 +5926,7 @@ number of intersections; may be zero ### Example -<div><fiddle-embed name="48d963ad4286eddf680f9c511eb6da91"><div><a href='undocumented#Text'>Text</a> intercepts do not take stroke thickness into consideration. +<div><fiddle-embed name="dc9851c43acc3716aca8c9a4d40d452d"><div><a href='undocumented#Text'>Text</a> intercepts do not take stroke thickness into consideration. </div></fiddle-embed></div> --- diff --git a/site/user/api/SkPath_Reference.md b/site/user/api/SkPath_Reference.md index 612f5c44dc..9442e4d14a 100644 --- a/site/user/api/SkPath_Reference.md +++ b/site/user/api/SkPath_Reference.md @@ -906,7 +906,7 @@ contour travels counterclockwise</td> <a href='#SkPath'>SkPath</a>() </pre> -By default, <a href='#Path'>Path</a> has no <a href='#Verb'>Verbs</a>, no <a href='SkPoint_Reference#Point'>Points</a>, and no <a href='#Conic_Weight'>Weights</a>. +Constucts an empty path. By default, <a href='#Path'>Path</a> has no <a href='#Verb'>Verbs</a>, no <a href='SkPoint_Reference#Point'>Points</a>, and no <a href='#Conic_Weight'>Weights</a>. <a href='#Fill_Type'>Fill Type</a> is set to <a href='#SkPath_kWinding_FillType'>kWinding FillType</a>. ### Return Value @@ -938,6 +938,7 @@ path is empty <a href='#SkPath'>SkPath</a>(const <a href='#SkPath'>SkPath</a>& path) </pre> +Constructs a copy of an existing <a href='#SkPath_copy_const_SkPath_path'>path</a>. Copy constructor makes two paths identical by value. Internally, <a href='#SkPath_copy_const_SkPath_path'>path</a> and the returned result share pointer values. The underlying <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a> and <a href='#Conic_Weight'>Weights</a> are copied when modified. @@ -1008,6 +1009,7 @@ Releases ownership of any shared data and deletes data if <a href='#Path'>Path</ <a href='#SkPath'>SkPath</a>& <a href='#SkPath_copy_operator'>operator=(const SkPath& path)</a> </pre> +Constructs a copy of an existing <a href='#SkPath_copy_operator_path'>path</a>. <a href='#Path'>Path</a> assignment makes two paths identical by value. Internally, assignment shares pointer values. The underlying <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a> and <a href='#Conic_Weight'>Weights</a> are copied when modified. @@ -1226,7 +1228,7 @@ convexity != bool <a href='#SkPath_isInterpolatable'>isInterpolatable</a>(const <a href='#SkPath'>SkPath</a>& compare) const </pre> -Return true if <a href='#Path'>Paths</a> contain equal <a href='#Verb'>Verbs</a> and equal <a href='#Conic_Weight'>Weights</a>. +Returns true if <a href='#Path'>Paths</a> contain equal <a href='#Verb'>Verbs</a> and equal <a href='#Conic_Weight'>Weights</a>. If <a href='#Path'>Paths</a> contain one or more <a href='#Conic'>Conics</a>, the <a href='#Conic_Weight'>Weights</a> must match. <a href='#SkPath_conicTo'>conicTo</a> may add different <a href='#Verb'>Verbs</a> depending on <a href='#Conic_Weight'>Conic Weight</a>, so it is not @@ -1281,7 +1283,7 @@ paths are interpolatable bool <a href='#SkPath_interpolate'>interpolate</a>(const <a href='#SkPath'>SkPath</a>& ending, <a href='undocumented#SkScalar'>SkScalar</a> weight, <a href='#SkPath'>SkPath</a>* out) const </pre> -<a href='#Interpolate'>Interpolate</a> between <a href='#Path'>Paths</a> with <a href='#Point_Array'>Point Array</a> of equal size. +Interpolates between <a href='#Path'>Paths</a> with <a href='#Point_Array'>Point Array</a> of equal size. Copy <a href='#Verb_Array'>Verb Array</a> and <a href='#Conic_Weight'>Weights</a> to <a href='#SkPath_interpolate_out'>out</a>, and set <a href='#SkPath_interpolate_out'>out</a> <a href='#Point_Array'>Point Array</a> to a weighted average of this <a href='#Point_Array'>Point Array</a> and <a href='#SkPath_interpolate_ending'>ending</a> <a href='#Point_Array'>Point Array</a>, using the formula: (<a href='#Path'>Path</a> <a href='SkPoint_Reference#Point'>Point</a> * <a href='#SkPath_interpolate_weight'>weight</a>) + <a href='#SkPath_interpolate_ending'>ending</a> <a href='SkPoint_Reference#Point'>Point</a> * (1 - <a href='#SkPath_interpolate_weight'>weight</a>) @@ -1506,7 +1508,7 @@ default path fill type is inverse: false void <a href='#SkPath_toggleInverseFillType'>toggleInverseFillType</a>() </pre> -Replace <a href='#SkPath_FillType'>FillType</a> with its inverse. The inverse of <a href='#SkPath_FillType'>FillType</a> describes the area +Replaces <a href='#SkPath_FillType'>FillType</a> with its inverse. The inverse of <a href='#SkPath_FillType'>FillType</a> describes the area unmodified by the original <a href='#SkPath_FillType'>FillType</a>. | <a href='#SkPath_FillType'>FillType</a> | toggled <a href='#SkPath_FillType'>FillType</a> | @@ -1820,6 +1822,7 @@ a newly initialized path. bool <a href='#SkPath_isEmpty'>isEmpty</a>() const </pre> +Returns if <a href='#Path'>Path</a> is empty. Empty <a href='#Path'>Path</a> may have <a href='#SkPath_FillType'>FillType</a> but has no <a href='SkPoint_Reference#SkPoint'>SkPoint</a>, <a href='#SkPath_Verb'>Verb</a>, or <a href='#Conic_Weight'>Conic Weight</a>. <a href='#SkPath_empty_constructor'>SkPath()</a> constructs empty <a href='#Path'>Path</a>; <a href='#SkPath_reset'>reset</a> and (rewind) make <a href='#Path'>Path</a> empty. @@ -1856,6 +1859,7 @@ after reset path is empty bool <a href='#SkPath_isLastContourClosed'>isLastContourClosed</a>() const </pre> +Returns if <a href='#Contour'>Contour</a> is closed. <a href='#Contour'>Contour</a> is closed if <a href='#Path'>Path</a> <a href='#SkPath_Verb'>Verb</a> array was last modified by <a href='#SkPath_close'>close</a>. When stroked, closed <a href='#Contour'>Contour</a> draws <a href='SkPaint_Reference#Stroke_Join'>Paint Stroke Join</a> instead of <a href='SkPaint_Reference#Stroke_Cap'>Paint Stroke Cap</a> at first and last <a href='SkPoint_Reference#Point'>Point</a>. @@ -1974,7 +1978,7 @@ volatile by default is false void <a href='#SkPath_setIsVolatile'>setIsVolatile</a>(bool <a href='#SkPath_isVolatile'>isVolatile</a>) </pre> -Specify whether <a href='#Path'>Path</a> is volatile; whether it will be altered or discarded +Specifies whether <a href='#Path'>Path</a> is volatile; whether it will be altered or discarded by the caller after it is drawn. <a href='#Path'>Paths</a> by default have volatile set false, allowing <a href='undocumented#Device'>Device</a> to attach a cache of data which speeds repeated drawing. @@ -2011,7 +2015,7 @@ Mark unchanging <a href='#Path'>Path</a> non-volatile to improve repeated render static bool <a href='#SkPath_IsLineDegenerate'>IsLineDegenerate</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a>& p1, const <a href='SkPoint_Reference#SkPoint'>SkPoint</a>& p2, bool exact) </pre> -Test if <a href='undocumented#Line'>Line</a> between <a href='SkPoint_Reference#Point'>Point</a> pair is degenerate. +Tests if <a href='undocumented#Line'>Line</a> between <a href='SkPoint_Reference#Point'>Point</a> pair is degenerate. <a href='undocumented#Line'>Line</a> with no length or that moves a very short distance is degenerate; it is treated as a point. @@ -2066,7 +2070,7 @@ line from (100,100) to (100.0001,100.0001) is not degenerate, exactly static bool <a href='#SkPath_IsQuadDegenerate'>IsQuadDegenerate</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a>& p1, const <a href='SkPoint_Reference#SkPoint'>SkPoint</a>& p2, const <a href='SkPoint_Reference#SkPoint'>SkPoint</a>& p3, bool exact) </pre> -Test if <a href='#Quad'>Quad</a> is degenerate. +Tests if <a href='#Quad'>Quad</a> is degenerate. <a href='#Quad'>Quad</a> with no length or that moves a very short distance is degenerate; it is treated as a point. @@ -2123,7 +2127,7 @@ static bool <a href='#SkPath_IsCubicDegenerate'>IsCubicDegenerate</a>(const <a h const <a href='SkPoint_Reference#SkPoint'>SkPoint</a>& p4, bool exact) </pre> -Test if <a href='#Cubic'>Cubic</a> is degenerate. +Tests if <a href='#Cubic'>Cubic</a> is degenerate. <a href='#Cubic'>Cubic</a> with no length or that moves a very short distance is degenerate; it is treated as a point. @@ -2580,7 +2584,7 @@ rotated circle bounds = 14.6447, 9.64466, 85.3553, 80.3553 void <a href='#SkPath_updateBoundsCache'>updateBoundsCache</a>() const </pre> -Update internal bounds so that subsequent calls to <a href='#SkPath_getBounds'>getBounds</a> are instantaneous. +Updates internal bounds so that subsequent calls to <a href='#SkPath_getBounds'>getBounds</a> are instantaneous. Unaltered copies of <a href='#Path'>Path</a> may also access cached bounds through <a href='#SkPath_getBounds'>getBounds</a>. For now, identical to calling <a href='#SkPath_getBounds'>getBounds</a> and ignoring the returned value. @@ -2696,7 +2700,7 @@ true if <a href='#SkPath_conservativelyContainsRect_rect'>rect</a> is contained void <a href='#SkPath_incReserve'>incReserve</a>(unsigned extraPtCount) </pre> -grows <a href='#Path'>Path</a> <a href='#Verb_Array'>Verb Array</a> and <a href='#Point_Array'>Point Array</a> to contain <a href='#SkPath_incReserve_extraPtCount'>extraPtCount</a> additional <a href='SkPoint_Reference#Point'>Points</a>. +Grows <a href='#Path'>Path</a> <a href='#Verb_Array'>Verb Array</a> and <a href='#Point_Array'>Point Array</a> to contain <a href='#SkPath_incReserve_extraPtCount'>extraPtCount</a> additional <a href='SkPoint_Reference#Point'>Points</a>. May improve performance and use less memory by reducing the number and size of allocations when creating <a href='#Path'>Path</a>. @@ -3637,7 +3641,7 @@ Direction sweep, SkScalar x, SkScalar y)</a></td> void <a href='#SkPath_arcTo'>arcTo</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& oval, <a href='undocumented#SkScalar'>SkScalar</a> startAngle, <a href='undocumented#SkScalar'>SkScalar</a> sweepAngle, bool forceMoveTo) </pre> -Append <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>. <a href='#Arc'>Arc</a> added is part of ellipse +Appends <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>. <a href='#Arc'>Arc</a> added is part of ellipse bounded by <a href='#SkPath_arcTo_oval'>oval</a>, from <a href='#SkPath_arcTo_startAngle'>startAngle</a> through <a href='#SkPath_arcTo_sweepAngle'>sweepAngle</a>. Both <a href='#SkPath_arcTo_startAngle'>startAngle</a> and <a href='#SkPath_arcTo_sweepAngle'>sweepAngle</a> are measured in degrees, where zero degrees is aligned with the positive x-axis, and positive sweeps extends <a href='#Arc'>Arc</a> clockwise. @@ -3680,7 +3684,7 @@ is not empty. void <a href='#SkPath_arcTo'>arcTo</a>(<a href='undocumented#SkScalar'>SkScalar</a> x1, <a href='undocumented#SkScalar'>SkScalar</a> y1, <a href='undocumented#SkScalar'>SkScalar</a> x2, <a href='undocumented#SkScalar'>SkScalar</a> y2, <a href='undocumented#SkScalar'>SkScalar</a> radius) </pre> -Append <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>, after appending <a href='undocumented#Line'>Line</a> if needed. <a href='#Arc'>Arc</a> is implemented by <a href='#Conic'>Conic</a> +Appends <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>, after appending <a href='undocumented#Line'>Line</a> if needed. <a href='#Arc'>Arc</a> is implemented by <a href='#Conic'>Conic</a> weighted to describe part of <a href='undocumented#Circle'>Circle</a>. <a href='#Arc'>Arc</a> is contained by tangent from last <a href='#Path'>Path</a> point (x0, y0) to (<a href='#SkPath_arcTo_2_x1'>x1</a>, <a href='#SkPath_arcTo_2_y1'>y1</a>), and tangent from (<a href='#SkPath_arcTo_2_x1'>x1</a>, <a href='#SkPath_arcTo_2_y1'>y1</a>) to (<a href='#SkPath_arcTo_2_x2'>x2</a>, <a href='#SkPath_arcTo_2_y2'>y2</a>). <a href='#Arc'>Arc</a> is part of <a href='undocumented#Circle'>Circle</a> sized to <a href='#SkPath_arcTo_2_radius'>radius</a>, positioned so it touches both tangent lines. @@ -3748,7 +3752,7 @@ conic (79.2893,20),(200,20),(114.645,105.355) weight 0.382683 void <a href='#SkPath_arcTo'>arcTo</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> p1, const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> p2, <a href='undocumented#SkScalar'>SkScalar</a> radius) </pre> -Append <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>, after appending <a href='undocumented#Line'>Line</a> if needed. <a href='#Arc'>Arc</a> is implemented by <a href='#Conic'>Conic</a> +Appends <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>, after appending <a href='undocumented#Line'>Line</a> if needed. <a href='#Arc'>Arc</a> is implemented by <a href='#Conic'>Conic</a> weighted to describe part of <a href='undocumented#Circle'>Circle</a>. <a href='#Arc'>Arc</a> is contained by tangent from last <a href='#Path'>Path</a> point to <a href='#SkPath_arcTo_3_p1'>p1</a>, and tangent from <a href='#SkPath_arcTo_3_p1'>p1</a> to <a href='#SkPath_arcTo_3_p2'>p2</a>. <a href='#Arc'>Arc</a> is part of <a href='undocumented#Circle'>Circle</a> sized to <a href='#SkPath_arcTo_3_radius'>radius</a>, positioned so it touches both tangent lines. @@ -3846,7 +3850,7 @@ void <a href='#SkPath_arcTo'>arcTo</a>(<a href='undocumented#SkScalar'>SkScalar< <a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y) </pre> -Append <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>. <a href='#Arc'>Arc</a> is implemented by one or more <a href='#Conic'>Conics</a> weighted to +Appends <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>. <a href='#Arc'>Arc</a> is implemented by one or more <a href='#Conic'>Conics</a> weighted to describe part of <a href='undocumented#Oval'>Oval</a> with radii (<a href='#SkPath_arcTo_4_rx'>rx</a>, <a href='#SkPath_arcTo_4_ry'>ry</a>) rotated by <a href='#SkPath_arcTo_4_xAxisRotate'>xAxisRotate</a> degrees. <a href='#Arc'>Arc</a> curves from last <a href='#Path'>Path</a> <a href='SkPoint_Reference#Point'>Point</a> to (<a href='#SkPath_arcTo_4_x'>x</a>, <a href='#SkPath_arcTo_4_y'>y</a>), choosing one of four possible routes: clockwise or counterclockwise, and smaller or larger. @@ -3902,7 +3906,7 @@ while <a href='#SkPath_kCW_Direction'>kCW Direction</a> cast to int is zero. void <a href='#SkPath_arcTo'>arcTo</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> r, <a href='undocumented#SkScalar'>SkScalar</a> xAxisRotate, <a href='#SkPath_ArcSize'>ArcSize</a> largeArc, <a href='#SkPath_Direction'>Direction</a> sweep, const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> xy) </pre> -Append <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>. <a href='#Arc'>Arc</a> is implemented by one or more <a href='#Conic'>Conic</a> weighted to describe part of <a href='undocumented#Oval'>Oval</a> +Appends <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>. <a href='#Arc'>Arc</a> is implemented by one or more <a href='#Conic'>Conic</a> weighted to describe part of <a href='undocumented#Oval'>Oval</a> with radii (<a href='#SkPath_arcTo_5_r'>r</a>.fX, <a href='#SkPath_arcTo_5_r'>r</a>.fY) rotated by <a href='#SkPath_arcTo_5_xAxisRotate'>xAxisRotate</a> degrees. <a href='#Arc'>Arc</a> curves from last <a href='#Path'>Path</a> <a href='SkPoint_Reference#Point'>Point</a> to (<a href='#SkPath_arcTo_5_xy'>xy</a>.fX, <a href='#SkPath_arcTo_5_xy'>xy</a>.fY), choosing one of four possible routes: clockwise or counterclockwise, and smaller or larger. @@ -3953,7 +3957,7 @@ void <a href='#SkPath_rArcTo'>rArcTo</a>(<a href='undocumented#SkScalar'>SkScala <a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy) </pre> -Append <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>, relative to last <a href='#Path'>Path</a> <a href='SkPoint_Reference#Point'>Point</a>. <a href='#Arc'>Arc</a> is implemented by one or +Appends <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>, relative to last <a href='#Path'>Path</a> <a href='SkPoint_Reference#Point'>Point</a>. <a href='#Arc'>Arc</a> is implemented by one or more <a href='#Conic'>Conic</a>, weighted to describe part of <a href='undocumented#Oval'>Oval</a> with radii (<a href='#SkPath_rArcTo_rx'>rx</a>, <a href='#SkPath_rArcTo_ry'>ry</a>) rotated by <a href='#SkPath_rArcTo_xAxisRotate'>xAxisRotate</a> degrees. <a href='#Arc'>Arc</a> curves from last <a href='#Path'>Path</a> <a href='SkPoint_Reference#Point'>Point</a> (x0, y0) to end <a href='SkPoint_Reference#Point'>Point</a>: @@ -4015,7 +4019,7 @@ opposite the integer value of <a href='#SkPath_rArcTo_sweep'>sweep</a>; <a href= void <a href='#SkPath_close'>close</a>() </pre> -Append <a href='#SkPath_kClose_Verb'>kClose Verb</a> to <a href='#Path'>Path</a>. A closed <a href='#Contour'>Contour</a> connects the first and last <a href='SkPoint_Reference#Point'>Point</a> +Appends <a href='#SkPath_kClose_Verb'>kClose Verb</a> to <a href='#Path'>Path</a>. A closed <a href='#Contour'>Contour</a> connects the first and last <a href='SkPoint_Reference#Point'>Point</a> with <a href='undocumented#Line'>Line</a>, forming a continuous loop. Open and closed <a href='#Contour'>Contour</a> draw the same with <a href='SkPaint_Reference#SkPaint_kFill_Style'>SkPaint::kFill Style</a>. With <a href='SkPaint_Reference#SkPaint_kStroke_Style'>SkPaint::kStroke Style</a>, open <a href='#Contour'>Contour</a> draws <a href='SkPaint_Reference#Stroke_Cap'>Paint Stroke Cap</a> at <a href='#Contour'>Contour</a> start and end; closed <a href='#Contour'>Contour</a> draws @@ -4185,7 +4189,7 @@ number of <a href='#Quad'>Quad</a> curves written to <a href='#SkPath_ConvertCon ### Example -<div><fiddle-embed name="00b430bd80d740e19c6d020a940f56d5"><div>A pair of <a href='#Quad'>Quad</a> curves are drawn in red on top of the elliptical <a href='#Conic'>Conic</a> curve in black. +<div><fiddle-embed name="3ba94448a4ba48f926e643baeb5b1016"><div>A pair of <a href='#Quad'>Quad</a> curves are drawn in red on top of the elliptical <a href='#Conic'>Conic</a> curve in black. The middle curve is nearly circular. The top-right curve is parabolic, which can be drawn exactly with a single <a href='#Quad'>Quad</a>. </div></fiddle-embed></div> @@ -4306,7 +4310,7 @@ inner (12.5, 22.5, 27.5, 37.5); direction CCW void <a href='#SkPath_addRect'>addRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, <a href='#SkPath_Direction'>Direction</a> dir = <a href='#SkPath_kCW_Direction'>kCW Direction</a>) </pre> -Add <a href='SkRect_Reference#Rect'>Rect</a> to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, three <a href='#SkPath_kLine_Verb'>kLine Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>, +Adds <a href='SkRect_Reference#Rect'>Rect</a> to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, three <a href='#SkPath_kLine_Verb'>kLine Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>, starting with top-left corner of <a href='SkRect_Reference#Rect'>Rect</a>; followed by top-right, bottom-right, and bottom-left if <a href='#SkPath_addRect_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>; or followed by bottom-left, bottom-right, and top-right if <a href='#SkPath_addRect_dir'>dir</a> is <a href='#SkPath_kCCW_Direction'>kCCW Direction</a>. @@ -4339,7 +4343,7 @@ The right <a href='SkRect_Reference#Rect'>Rect</a> dashes starting at the top-le void <a href='#SkPath_addRect'>addRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, <a href='#SkPath_Direction'>Direction</a> dir, unsigned start) </pre> -Add <a href='SkRect_Reference#Rect'>Rect</a> to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, three <a href='#SkPath_kLine_Verb'>kLine Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>. +Adds <a href='SkRect_Reference#Rect'>Rect</a> to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, three <a href='#SkPath_kLine_Verb'>kLine Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>. If <a href='#SkPath_addRect_2_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>, <a href='SkRect_Reference#Rect'>Rect</a> corners are added clockwise; if <a href='#SkPath_addRect_2_dir'>dir</a> is <a href='#SkPath_kCCW_Direction'>kCCW Direction</a>, <a href='SkRect_Reference#Rect'>Rect</a> corners are added counterclockwise. <a href='#SkPath_addRect_2_start'>start</a> determines the first corner added. @@ -4383,7 +4387,7 @@ void <a href='#SkPath_addRect'>addRect</a>(<a href='undocumented#SkScalar'>SkSca <a href='#SkPath_Direction'>Direction</a> dir = <a href='#SkPath_kCW_Direction'>kCW Direction</a>) </pre> -Add <a href='SkRect_Reference#Rect'>Rect</a> (<a href='#SkPath_addRect_3_left'>left</a>, <a href='#SkPath_addRect_3_top'>top</a>, <a href='#SkPath_addRect_3_right'>right</a>, <a href='#SkPath_addRect_3_bottom'>bottom</a>) to <a href='#Path'>Path</a>, +Adds <a href='SkRect_Reference#Rect'>Rect</a> (<a href='#SkPath_addRect_3_left'>left</a>, <a href='#SkPath_addRect_3_top'>top</a>, <a href='#SkPath_addRect_3_right'>right</a>, <a href='#SkPath_addRect_3_bottom'>bottom</a>) to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, three <a href='#SkPath_kLine_Verb'>kLine Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>, starting with <a href='#SkPath_addRect_3_top'>top</a>-<a href='#SkPath_addRect_3_left'>left</a> corner of <a href='SkRect_Reference#Rect'>Rect</a>; followed by <a href='#SkPath_addRect_3_top'>top</a>-<a href='#SkPath_addRect_3_right'>right</a>, <a href='#SkPath_addRect_3_bottom'>bottom</a>-<a href='#SkPath_addRect_3_right'>right</a>, and <a href='#SkPath_addRect_3_bottom'>bottom</a>-<a href='#SkPath_addRect_3_left'>left</a> if <a href='#SkPath_addRect_3_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>; or followed by <a href='#SkPath_addRect_3_bottom'>bottom</a>-<a href='#SkPath_addRect_3_left'>left</a>, @@ -4427,7 +4431,7 @@ The <a href='#SkPath_addRect_3_right'>right</a> <a href='SkRect_Reference#Rect'> void <a href='#SkPath_addOval'>addOval</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& oval, <a href='#SkPath_Direction'>Direction</a> dir = <a href='#SkPath_kCW_Direction'>kCW Direction</a>) </pre> -Add <a href='undocumented#Oval'>Oval</a> to path, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, four <a href='#SkPath_kConic_Verb'>kConic Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>. +Adds <a href='undocumented#Oval'>Oval</a> to path, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, four <a href='#SkPath_kConic_Verb'>kConic Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>. <a href='undocumented#Oval'>Oval</a> is upright ellipse bounded by <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkPath_addOval_oval'>oval</a> with radii equal to half <a href='#SkPath_addOval_oval'>oval</a> width and half <a href='#SkPath_addOval_oval'>oval</a> height. <a href='undocumented#Oval'>Oval</a> begins at (<a href='#SkPath_addOval_oval'>oval</a>.fRight, <a href='#SkPath_addOval_oval'>oval</a>.centerY()) and continues clockwise if <a href='#SkPath_addOval_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>, counterclockwise if <a href='#SkPath_addOval_dir'>dir</a> is <a href='#SkPath_kCCW_Direction'>kCCW Direction</a>. @@ -4458,7 +4462,7 @@ clockwise if <a href='#SkPath_addOval_dir'>dir</a> is <a href='#SkPath_kCW_Direc void <a href='#SkPath_addOval'>addOval</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& oval, <a href='#SkPath_Direction'>Direction</a> dir, unsigned start) </pre> -Add <a href='undocumented#Oval'>Oval</a> to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, four <a href='#SkPath_kConic_Verb'>kConic Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>. +Adds <a href='undocumented#Oval'>Oval</a> to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, four <a href='#SkPath_kConic_Verb'>kConic Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>. <a href='undocumented#Oval'>Oval</a> is upright ellipse bounded by <a href='SkRect_Reference#Rect'>Rect</a> <a href='#SkPath_addOval_2_oval'>oval</a> with radii equal to half <a href='#SkPath_addOval_2_oval'>oval</a> width and half <a href='#SkPath_addOval_2_oval'>oval</a> height. <a href='undocumented#Oval'>Oval</a> begins at <a href='#SkPath_addOval_2_start'>start</a> and continues clockwise if <a href='#SkPath_addOval_2_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>, counterclockwise if <a href='#SkPath_addOval_2_dir'>dir</a> is <a href='#SkPath_kCCW_Direction'>kCCW Direction</a>. @@ -4500,7 +4504,7 @@ clockwise if <a href='#SkPath_addOval_2_dir'>dir</a> is <a href='#SkPath_kCW_Dir void <a href='#SkPath_addCircle'>addCircle</a>(<a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y, <a href='undocumented#SkScalar'>SkScalar</a> radius, <a href='#SkPath_Direction'>Direction</a> dir = <a href='#SkPath_kCW_Direction'>kCW Direction</a>) </pre> -Add <a href='undocumented#Circle'>Circle</a> centered at (<a href='#SkPath_addCircle_x'>x</a>, <a href='#SkPath_addCircle_y'>y</a>) of size <a href='#SkPath_addCircle_radius'>radius</a> to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, +Adds <a href='undocumented#Circle'>Circle</a> centered at (<a href='#SkPath_addCircle_x'>x</a>, <a href='#SkPath_addCircle_y'>y</a>) of size <a href='#SkPath_addCircle_radius'>radius</a> to <a href='#Path'>Path</a>, appending <a href='#SkPath_kMove_Verb'>kMove Verb</a>, four <a href='#SkPath_kConic_Verb'>kConic Verb</a>, and <a href='#SkPath_kClose_Verb'>kClose Verb</a>. <a href='undocumented#Circle'>Circle</a> begins at: (<a href='#SkPath_addCircle_x'>x</a> + <a href='#SkPath_addCircle_radius'>radius</a>, <a href='#SkPath_addCircle_y'>y</a>) , @@ -4542,7 +4546,7 @@ Has no effect if <a href='#SkPath_addCircle_radius'>radius</a> is zero or negati void <a href='#SkPath_addArc'>addArc</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& oval, <a href='undocumented#SkScalar'>SkScalar</a> startAngle, <a href='undocumented#SkScalar'>SkScalar</a> sweepAngle) </pre> -Append <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>, as the start of new <a href='#Contour'>Contour</a>. <a href='#Arc'>Arc</a> added is part of ellipse +Appends <a href='#Arc'>Arc</a> to <a href='#Path'>Path</a>, as the start of new <a href='#Contour'>Contour</a>. <a href='#Arc'>Arc</a> added is part of ellipse bounded by <a href='#SkPath_addArc_oval'>oval</a>, from <a href='#SkPath_addArc_startAngle'>startAngle</a> through <a href='#SkPath_addArc_sweepAngle'>sweepAngle</a>. Both <a href='#SkPath_addArc_startAngle'>startAngle</a> and <a href='#SkPath_addArc_sweepAngle'>sweepAngle</a> are measured in degrees, where zero degrees is aligned with the positive x-axis, and positive sweeps extends <a href='#Arc'>Arc</a> clockwise. @@ -4584,7 +4588,7 @@ and <a href='#SkPath_addArc_startAngle'>startAngle</a> modulo 90 is not zero. void <a href='#SkPath_addRoundRect'>addRoundRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, <a href='undocumented#SkScalar'>SkScalar</a> rx, <a href='undocumented#SkScalar'>SkScalar</a> ry, <a href='#SkPath_Direction'>Direction</a> dir = <a href='#SkPath_kCW_Direction'>kCW Direction</a>) </pre> -Append <a href='SkRRect_Reference#RRect'>Round Rect</a> to <a href='#Path'>Path</a>, creating a new closed <a href='#Contour'>Contour</a>. <a href='SkRRect_Reference#RRect'>Round Rect</a> has bounds +Appends <a href='SkRRect_Reference#RRect'>Round Rect</a> to <a href='#Path'>Path</a>, creating a new closed <a href='#Contour'>Contour</a>. <a href='SkRRect_Reference#RRect'>Round Rect</a> has bounds equal to <a href='#SkPath_addRoundRect_rect'>rect</a>; each corner is 90 degrees of an ellipse with radii (<a href='#SkPath_addRoundRect_rx'>rx</a>, <a href='#SkPath_addRoundRect_ry'>ry</a>). If <a href='#SkPath_addRoundRect_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>, <a href='SkRRect_Reference#RRect'>Round Rect</a> starts at top-left of the lower-left corner and winds clockwise. If <a href='#SkPath_addRoundRect_dir'>dir</a> is <a href='#SkPath_kCCW_Direction'>kCCW Direction</a>, <a href='SkRRect_Reference#RRect'>Round Rect</a> starts at the bottom-left @@ -4633,7 +4637,7 @@ drawn in green. void <a href='#SkPath_addRoundRect'>addRoundRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& rect, const <a href='undocumented#SkScalar'>SkScalar</a> radii[], <a href='#SkPath_Direction'>Direction</a> dir = <a href='#SkPath_kCW_Direction'>kCW Direction</a>) </pre> -Append <a href='SkRRect_Reference#RRect'>Round Rect</a> to <a href='#Path'>Path</a>, creating a new closed <a href='#Contour'>Contour</a>. <a href='SkRRect_Reference#RRect'>Round Rect</a> has bounds +Appends <a href='SkRRect_Reference#RRect'>Round Rect</a> to <a href='#Path'>Path</a>, creating a new closed <a href='#Contour'>Contour</a>. <a href='SkRRect_Reference#RRect'>Round Rect</a> has bounds equal to <a href='#SkPath_addRoundRect_2_rect'>rect</a>; each corner is 90 degrees of an ellipse with <a href='#SkPath_addRoundRect_2_radii'>radii</a> from the array. @@ -4688,7 +4692,7 @@ After appending, <a href='#Path'>Path</a> may be empty, or may contain: <a href= void <a href='#SkPath_addRRect'>addRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& rrect, <a href='#SkPath_Direction'>Direction</a> dir = <a href='#SkPath_kCW_Direction'>kCW Direction</a>) </pre> -Add <a href='#SkPath_addRRect_rrect'>rrect</a> to <a href='#Path'>Path</a>, creating a new closed <a href='#Contour'>Contour</a>. If +Adds <a href='#SkPath_addRRect_rrect'>rrect</a> to <a href='#Path'>Path</a>, creating a new closed <a href='#Contour'>Contour</a>. If <a href='#SkPath_addRRect_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>, <a href='#SkPath_addRRect_rrect'>rrect</a> starts at top-left of the lower-left corner and winds clockwise. If <a href='#SkPath_addRRect_dir'>dir</a> is <a href='#SkPath_kCCW_Direction'>kCCW Direction</a>, <a href='#SkPath_addRRect_rrect'>rrect</a> starts at the bottom-left of the upper-left corner and winds counterclockwise. @@ -4721,7 +4725,7 @@ After appending, <a href='#Path'>Path</a> may be empty, or may contain: <a href= void <a href='#SkPath_addRRect'>addRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& rrect, <a href='#SkPath_Direction'>Direction</a> dir, unsigned start) </pre> -Add <a href='#SkPath_addRRect_2_rrect'>rrect</a> to <a href='#Path'>Path</a>, creating a new closed <a href='#Contour'>Contour</a>. If <a href='#SkPath_addRRect_2_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>, <a href='#SkPath_addRRect_2_rrect'>rrect</a> +Adds <a href='#SkPath_addRRect_2_rrect'>rrect</a> to <a href='#Path'>Path</a>, creating a new closed <a href='#Contour'>Contour</a>. If <a href='#SkPath_addRRect_2_dir'>dir</a> is <a href='#SkPath_kCW_Direction'>kCW Direction</a>, <a href='#SkPath_addRRect_2_rrect'>rrect</a> winds clockwise; if <a href='#SkPath_addRRect_2_dir'>dir</a> is <a href='#SkPath_kCCW_Direction'>kCCW Direction</a>, <a href='#SkPath_addRRect_2_rrect'>rrect</a> winds counterclockwise. <a href='#SkPath_addRRect_2_start'>start</a> determines the first point of <a href='#SkPath_addRRect_2_rrect'>rrect</a> to add. @@ -4768,7 +4772,7 @@ After appending, <a href='#Path'>Path</a> may be empty, or may contain: <a href= void <a href='#SkPath_addPoly'>addPoly</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> pts[], int count, bool close) </pre> -Add <a href='#Contour'>Contour</a> created from <a href='undocumented#Line'>Line</a> array, adding (<a href='#SkPath_addPoly_count'>count</a> - 1) <a href='undocumented#Line'>Line</a> segments. +Adds <a href='#Contour'>Contour</a> created from <a href='undocumented#Line'>Line</a> array, adding (<a href='#SkPath_addPoly_count'>count</a> - 1) <a href='undocumented#Line'>Line</a> segments. <a href='#Contour'>Contour</a> added starts at <a href='#SkPath_addPoly_pts'>pts</a>[0], then adds a line for every additional <a href='SkPoint_Reference#Point'>Point</a> in <a href='#SkPath_addPoly_pts'>pts</a> array. If close is true,appends <a href='#SkPath_kClose_Verb'>kClose Verb</a> to <a href='#Path'>Path</a>, connecting <a href='#SkPath_addPoly_pts'>pts</a>[<a href='#SkPath_addPoly_count'>count</a> - 1] and <a href='#SkPath_addPoly_pts'>pts</a>[0]. @@ -4855,7 +4859,7 @@ The top right composition is made up of one contour; the other three have two. void <a href='#SkPath_addPath'>addPath</a>(const <a href='#SkPath'>SkPath</a>& src, <a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy, <a href='#SkPath_AddPathMode'>AddPathMode</a> mode = <a href='#SkPath_kAppend_AddPathMode'>kAppend AddPathMode</a>) </pre> -Append <a href='#SkPath_addPath_src'>src</a> to <a href='#Path'>Path</a>, offset by (<a href='#SkPath_addPath_dx'>dx</a>, <a href='#SkPath_addPath_dy'>dy</a>). +Appends <a href='#SkPath_addPath_src'>src</a> to <a href='#Path'>Path</a>, offset by (<a href='#SkPath_addPath_dx'>dx</a>, <a href='#SkPath_addPath_dy'>dy</a>). If <a href='#SkPath_addPath_mode'>mode</a> is <a href='#SkPath_kAppend_AddPathMode'>kAppend AddPathMode</a>, <a href='#SkPath_addPath_src'>src</a> <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a>, and <a href='#Conic_Weight'>Conic Weights</a> are added unaltered. If <a href='#SkPath_addPath_mode'>mode</a> is <a href='#SkPath_kExtend_AddPathMode'>kExtend AddPathMode</a>, add <a href='undocumented#Line'>Line</a> before appending @@ -4893,7 +4897,7 @@ added unaltered. If <a href='#SkPath_addPath_mode'>mode</a> is <a href='#SkPath_ void <a href='#SkPath_addPath'>addPath</a>(const <a href='#SkPath'>SkPath</a>& src, <a href='#SkPath_AddPathMode'>AddPathMode</a> mode = <a href='#SkPath_kAppend_AddPathMode'>kAppend AddPathMode</a>) </pre> -Append <a href='#SkPath_addPath_2_src'>src</a> to <a href='#Path'>Path</a>. +Appends <a href='#SkPath_addPath_2_src'>src</a> to <a href='#Path'>Path</a>. If <a href='#SkPath_addPath_2_mode'>mode</a> is <a href='#SkPath_kAppend_AddPathMode'>kAppend AddPathMode</a>, <a href='#SkPath_addPath_2_src'>src</a> <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a>, and <a href='#Conic_Weight'>Conic Weights</a> are added unaltered. If <a href='#SkPath_addPath_2_mode'>mode</a> is <a href='#SkPath_kExtend_AddPathMode'>kExtend AddPathMode</a>, add <a href='undocumented#Line'>Line</a> before appending @@ -4925,7 +4929,7 @@ added unaltered. If <a href='#SkPath_addPath_2_mode'>mode</a> is <a href='#SkPat void <a href='#SkPath_addPath'>addPath</a>(const <a href='#SkPath'>SkPath</a>& src, const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>& matrix, <a href='#SkPath_AddPathMode'>AddPathMode</a> mode = <a href='#SkPath_kAppend_AddPathMode'>kAppend AddPathMode</a>) </pre> -Append <a href='#SkPath_addPath_3_src'>src</a> to <a href='#Path'>Path</a>, transformed by <a href='#SkPath_addPath_3_matrix'>matrix</a>. Transformed curves may have different +Appends <a href='#SkPath_addPath_3_src'>src</a> to <a href='#Path'>Path</a>, transformed by <a href='#SkPath_addPath_3_matrix'>matrix</a>. Transformed curves may have different <a href='#Verb'>Verbs</a>, <a href='SkPoint_Reference#Point'>Points</a>, and <a href='#Conic_Weight'>Conic Weights</a>. If <a href='#SkPath_addPath_3_mode'>mode</a> is <a href='#SkPath_kAppend_AddPathMode'>kAppend AddPathMode</a>, <a href='#SkPath_addPath_3_src'>src</a> <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a>, and <a href='#Conic_Weight'>Conic Weights</a> are @@ -4962,7 +4966,7 @@ added unaltered. If <a href='#SkPath_addPath_3_mode'>mode</a> is <a href='#SkPat void <a href='#SkPath_reverseAddPath'>reverseAddPath</a>(const <a href='#SkPath'>SkPath</a>& src) </pre> -Append <a href='#SkPath_reverseAddPath_src'>src</a> to <a href='#Path'>Path</a>, from back to front. +Appends <a href='#SkPath_reverseAddPath_src'>src</a> to <a href='#Path'>Path</a>, from back to front. Reversed <a href='#SkPath_reverseAddPath_src'>src</a> always appends a new <a href='#Contour'>Contour</a> to <a href='#Path'>Path</a>. ### Parameters @@ -4989,7 +4993,7 @@ Reversed <a href='#SkPath_reverseAddPath_src'>src</a> always appends a new <a hr void <a href='#SkPath_offset'>offset</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy, <a href='#SkPath'>SkPath</a>* dst) const </pre> -Offset <a href='#Point_Array'>Point Array</a> by (<a href='#SkPath_offset_dx'>dx</a>, <a href='#SkPath_offset_dy'>dy</a>). Offset <a href='#Path'>Path</a> replaces <a href='#SkPath_offset_dst'>dst</a>. +Offsets <a href='#Point_Array'>Point Array</a> by (<a href='#SkPath_offset_dx'>dx</a>, <a href='#SkPath_offset_dy'>dy</a>). Offset <a href='#Path'>Path</a> replaces <a href='#SkPath_offset_dst'>dst</a>. If <a href='#SkPath_offset_dst'>dst</a> is nullptr, <a href='#Path'>Path</a> is replaced by offset data. ### Parameters @@ -5053,7 +5057,7 @@ If <a href='#SkPath_offset_dst'>dst</a> is nullptr, <a href='#Path'>Path</a> is void <a href='#SkPath_offset'>offset</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy) </pre> -Offset <a href='#Point_Array'>Point Array</a> by (<a href='#SkPath_offset_2_dx'>dx</a>, <a href='#SkPath_offset_2_dy'>dy</a>). <a href='#Path'>Path</a> is replaced by offset data. +Offsets <a href='#Point_Array'>Point Array</a> by (<a href='#SkPath_offset_2_dx'>dx</a>, <a href='#SkPath_offset_2_dy'>dy</a>). <a href='#Path'>Path</a> is replaced by offset data. ### Parameters @@ -5082,7 +5086,7 @@ Offset <a href='#Point_Array'>Point Array</a> by (<a href='#SkPath_offset_2_dx'> void <a href='#SkPath_transform'>transform</a>(const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>& matrix, <a href='#SkPath'>SkPath</a>* dst) const </pre> -<a href='#Transform'>Transform</a> <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a>, and weight by <a href='#SkPath_transform_matrix'>matrix</a>. +Transforms <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a>, and weight by <a href='#SkPath_transform_matrix'>matrix</a>. transform may change <a href='#Verb'>Verbs</a> and increase their number. Transformed <a href='#Path'>Path</a> replaces <a href='#SkPath_transform_dst'>dst</a>; if <a href='#SkPath_transform_dst'>dst</a> is nullptr, original data is replaced. @@ -5113,7 +5117,7 @@ is replaced. void <a href='#SkPath_transform'>transform</a>(const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>& matrix) </pre> -<a href='#Transform'>Transform</a> <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a>, and weight by <a href='#SkPath_transform_2_matrix'>matrix</a>. +Transforms <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a>, and weight by <a href='#SkPath_transform_2_matrix'>matrix</a>. transform may change <a href='#Verb'>Verbs</a> and increase their number. <a href='#Path'>Path</a> is replaced by transformed data. @@ -5186,7 +5190,7 @@ last point: 35.2786, 52.9772 void <a href='#SkPath_setLastPt'>setLastPt</a>(<a href='undocumented#SkScalar'>SkScalar</a> x, <a href='undocumented#SkScalar'>SkScalar</a> y) </pre> -Set <a href='#Last_Point'>Last Point</a> to (<a href='#SkPath_setLastPt_x'>x</a>, <a href='#SkPath_setLastPt_y'>y</a>). If <a href='#Point_Array'>Point Array</a> is empty, append <a href='#SkPath_kMove_Verb'>kMove Verb</a> to +Sets <a href='#Last_Point'>Last Point</a> to (<a href='#SkPath_setLastPt_x'>x</a>, <a href='#SkPath_setLastPt_y'>y</a>). If <a href='#Point_Array'>Point Array</a> is empty, append <a href='#SkPath_kMove_Verb'>kMove Verb</a> to <a href='#Verb_Array'>Verb Array</a> and append (<a href='#SkPath_setLastPt_x'>x</a>, <a href='#SkPath_setLastPt_y'>y</a>) to <a href='#Point_Array'>Point Array</a>. ### Parameters @@ -5215,7 +5219,7 @@ Set <a href='#Last_Point'>Last Point</a> to (<a href='#SkPath_setLastPt_x'>x</a> void <a href='#SkPath_setLastPt'>setLastPt</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a>& p) </pre> -Set the last point on the path. If <a href='#Point_Array'>Point Array</a> is empty, append <a href='#SkPath_kMove_Verb'>kMove Verb</a> to +Sets the last point on the path. If <a href='#Point_Array'>Point Array</a> is empty, append <a href='#SkPath_kMove_Verb'>kMove Verb</a> to <a href='#Verb_Array'>Verb Array</a> and append <a href='#SkPath_setLastPt_2_p'>p</a> to <a href='#Point_Array'>Point Array</a>. ### Parameters @@ -5556,7 +5560,7 @@ path is equal to copy <a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkData'>SkData</a>> <a href='#SkPath_serialize'>serialize</a>() const </pre> -Write <a href='#Path'>Path</a> to buffer, returning the buffer written to, wrapped in <a href='undocumented#Data'>Data</a>. +Writes <a href='#Path'>Path</a> to buffer, returning the buffer written to, wrapped in <a href='undocumented#Data'>Data</a>. <a href='#SkPath_serialize'>serialize</a> writes <a href='#Fill_Type'>Fill Type</a>, <a href='#Verb_Array'>Verb Array</a>, <a href='#Point_Array'>Point Array</a>, <a href='#Conic_Weight'>Conic Weight</a>, and additionally writes computed information like <a href='#SkPath_Convexity'>Convexity</a> and bounds. diff --git a/site/user/api/SkPicture_Reference.md b/site/user/api/SkPicture_Reference.md index c904aedb18..0992737b04 100644 --- a/site/user/api/SkPicture_Reference.md +++ b/site/user/api/SkPicture_Reference.md @@ -14,15 +14,15 @@ SkPicture can be constructed or initialized by these functions, including C++ cl <th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_MakeFromData'>MakeFromData</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>constructs <a href='#Picture'>Picture</a> from data</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_MakeFromStream'>MakeFromStream</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>constructs <a href='#Picture'>Picture</a> from stream</td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_MakePlaceholder'>MakePlaceholder</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>constructs placeholder with unique identifier</td> </tr> </table> @@ -58,7 +58,7 @@ SkPicture uses C++ classes to declare the public data structures and interfaces. <th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_AbortCallback'>AbortCallback</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>utility to stop picture playback</td> </tr> </table> @@ -71,39 +71,39 @@ SkPicture member functions read and modify the structure properties. <th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_MakeFromData'>MakeFromData</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>constructs <a href='#Picture'>Picture</a> from data</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_MakeFromStream'>MakeFromStream</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>constructs <a href='#Picture'>Picture</a> from stream</td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_MakePlaceholder'>MakePlaceholder</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>constructs placeholder with unique identifier</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_approximateBytesUsed'>approximateBytesUsed</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns approximate size</td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_approximateOpCount'>approximateOpCount</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns approximate operation count</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_cullRect'>cullRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns bounds used to record <a href='#Picture'>Picture</a></td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_playback'>playback</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>replays drawing commands on canvas</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_serialize'>serialize</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>writes <a href='#Picture'>Picture</a> to data</td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPicture_uniqueID'>uniqueID</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns identifier for <a href='#Picture'>Picture</a></td> </tr> </table> @@ -128,6 +128,10 @@ SkPicture member functions read and modify the structure properties. </table> <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> + class <a href='#SkPicture_AbortCallback_empty_constructor'>AbortCallback</a> { + public: + <a href='#SkPicture_AbortCallback_empty_constructor'>AbortCallback()</a> {} + virtual </pre> <a href='undocumented#Subclasses'>Subclasses</a> of this can be passed to <a href='#SkPicture_playback'>playback</a>. During the playback @@ -145,17 +149,15 @@ to the same level it was before the playback call was made. <a href='#SkPicture_AbortCallback_empty_constructor'>AbortCallback</a>() </pre> -### Return Value - -incomplete +Has no effect. -### Example +### Return Value -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +abstract class cannot be instantiated ### See Also -incomplete +<a href='#SkPicture_playback'>playback</a> --- @@ -166,13 +168,11 @@ incomplete virtual </pre> -### Example - -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +Has no effect. ### See Also -incomplete +<a href='#SkPicture_playback'>playback</a> --- @@ -183,20 +183,26 @@ incomplete virtual bool <a href='#SkPicture_AbortCallback_abort'>abort</a>() = 0 </pre> -### Return Value +Stops <a href='#Picture'>Picture</a> playback when some condition is met. A subclass of +<a href='#SkPicture_AbortCallback_empty_constructor'>AbortCallback</a> provides an override for <a href='#SkPicture_AbortCallback_abort'>abort</a> that can stop <a href='#SkPicture_playback'>playback</a> from +drawing the entire picture. -incomplete - -### Example +### Return Value -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +true to stop playback ### See Also -incomplete +<a href='#SkPicture_playback'>playback</a> --- +### Example + +<div><fiddle-embed name="56ed920dadbf2b2967ac45fb5a9bded6"><div>JustOneDraw allows the black rectangle to draw but stops playback before the +white rectangle appears. +</div></fiddle-embed></div> + <a name='SkPicture_MakeFromStream'></a> ## MakeFromStream @@ -204,29 +210,29 @@ incomplete static <a href='undocumented#sk_sp'>sk sp</a><<a href='#SkPicture'>SkPicture</a>> <a href='#SkPicture_MakeFromStream'>MakeFromStream</a>(<a href='undocumented#SkStream'>SkStream</a>* stream, const <a href='undocumented#SkDeserialProcs'>SkDeserialProcs</a>* procs = nullptr) </pre> -Recreate a picture that was serialized into a <a href='#SkPicture_MakeFromStream_stream'>stream</a> or data. +Recreates a picture that was serialized into a <a href='#SkPicture_MakeFromStream_stream'>stream</a>. ### Parameters <table> <tr> <td><a name='SkPicture_MakeFromStream_stream'><code><strong>stream</strong></code></a></td> - <td>incomplete</td> + <td>container for serial data</td> </tr> <tr> <td><a name='SkPicture_MakeFromStream_procs'><code><strong>procs</strong></code></a></td> - <td>incomplete</td> + <td>custom serial data decoders; may be nullptr</td> </tr> </table> ### Return Value -incomplete +<a href='#Picture'>Picture</a> constructed from <a href='#SkPicture_MakeFromStream_stream'>stream</a> data ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="404fb42560a289c2004cad1caf3b96de"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkPicture_MakeFromData'>MakeFromData</a><sup><a href='#SkPicture_MakeFromData_2'>[2]</a></sup> <a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a> --- @@ -237,27 +243,29 @@ incomplete static <a href='undocumented#sk_sp'>sk sp</a><<a href='#SkPicture'>SkPicture</a>> <a href='#SkPicture_MakeFromData'>MakeFromData</a>(const <a href='undocumented#SkData'>SkData</a>* data, const <a href='undocumented#SkDeserialProcs'>SkDeserialProcs</a>* procs = nullptr) </pre> +Recreates a picture that was serialized into <a href='#SkPicture_MakeFromData_data'>data</a>. + ### Parameters <table> <tr> <td><a name='SkPicture_MakeFromData_data'><code><strong>data</strong></code></a></td> - <td>incomplete</td> + <td>container for serial <a href='#SkPicture_MakeFromData_data'>data</a></td> </tr> <tr> <td><a name='SkPicture_MakeFromData_procs'><code><strong>procs</strong></code></a></td> - <td>incomplete</td> + <td>custom serial <a href='#SkPicture_MakeFromData_data'>data</a> decoders; may be nullptr</td> </tr> </table> ### Return Value -incomplete +<a href='#Picture'>Picture</a> constructed from <a href='#SkPicture_MakeFromData_data'>data</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="58b44bf47d8816782066618700afdecb"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkPicture_MakeFromStream'>MakeFromStream</a> <a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a> --- @@ -271,27 +279,29 @@ static <a href='undocumented#sk_sp'>sk sp</a><<a href='#SkPicture'>SkPicture< ### Parameters <table> <tr> <td><a name='SkPicture_MakeFromData_2_data'><code><strong>data</strong></code></a></td> - <td>incomplete</td> + <td>pointer to serial <a href='#SkPicture_MakeFromData_2_data'>data</a></td> </tr> <tr> <td><a name='SkPicture_MakeFromData_2_size'><code><strong>size</strong></code></a></td> - <td>incomplete</td> + <td><a href='#SkPicture_MakeFromData_2_size'>size</a> of <a href='#SkPicture_MakeFromData_2_data'>data</a></td> </tr> <tr> <td><a name='SkPicture_MakeFromData_2_procs'><code><strong>procs</strong></code></a></td> - <td>incomplete</td> + <td>custom serial <a href='#SkPicture_MakeFromData_2_data'>data</a> decoders; may be nullptr</td> </tr> +Recreates a picture that was serialized into <a href='#SkPicture_MakeFromData_2_data'>data</a>. + </table> ### Return Value -incomplete +<a href='#Picture'>Picture</a> constructed from <a href='#SkPicture_MakeFromData_2_data'>data</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="30b9f1b310187db6aff720a5d67591e2"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkPicture_MakeFromStream'>MakeFromStream</a> <a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a> --- @@ -310,25 +320,20 @@ this has the effect of unfurling this picture into the destination ### Parameters <table> <tr> <td><a name='SkPicture_playback_canvas'><code><strong>canvas</strong></code></a></td> - <td>the <a href='#SkPicture_playback_canvas'>canvas</a> receiving the drawing commands. -</td> + <td>receiver of drawing commands</td> </tr> <tr> <td><a name='SkPicture_playback_callback'><code><strong>callback</strong></code></a></td> - <td>a <a href='#SkPicture_playback_callback'>callback</a> that allows interruption of playback</td> + <td>allows interruption of playback</td> </tr> </table> -### Return Value - -incomplete - ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="6b0ffb03ba05f526b345dc65a1c73fe4"></fiddle-embed></div> ### See Also -incomplete +<a href='SkCanvas_Reference#SkCanvas_drawPicture'>SkCanvas::drawPicture</a><sup><a href='SkCanvas_Reference#SkCanvas_drawPicture_2'>[2]</a></sup><sup><a href='SkCanvas_Reference#SkCanvas_drawPicture_3'>[3]</a></sup><sup><a href='SkCanvas_Reference#SkCanvas_drawPicture_4'>[4]</a></sup> --- @@ -339,20 +344,22 @@ incomplete virtual <a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkPicture_cullRect'>cullRect</a>() const = 0 </pre> -Return a cull rect for this picture. +Returns cull <a href='SkRect_Reference#Rect'>Rect</a> for this picture. Ops recorded into this picture that attempt to draw outside the cull might not be drawn. ### Return Value -incomplete +bounds passed when <a href='#Picture'>Picture</a> was created ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="15bb9a9596b40c5e2045f76e8c1dcf8e"><div><a href='#Picture'>Picture</a> recorded bounds are smaller than contents; contents outside recorded +bounds may be drawn, and are drawn in this example. +</div></fiddle-embed></div> ### See Also -incomplete +<a href='SkCanvas_Reference#SkCanvas_clipRect'>SkCanvas::clipRect</a><sup><a href='SkCanvas_Reference#SkCanvas_clipRect_2'>[2]</a></sup><sup><a href='SkCanvas_Reference#SkCanvas_clipRect_3'>[3]</a></sup> --- @@ -367,15 +374,24 @@ Returns a non-zero value unique among all pictures. ### Return Value -incomplete +identifier for <a href='#Picture'>Picture</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="8e4257245c988c600410fe4fd7293f07"> + +#### Example Output + +~~~~ +empty picture id = 1 +placeholder id = 2 +~~~~ + +</fiddle-embed></div> ### See Also -incomplete +<a href='undocumented#SkRefCnt'>SkRefCnt</a> --- @@ -386,24 +402,26 @@ incomplete <a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkData'>SkData</a>> <a href='#SkPicture_serialize'>serialize</a>(const <a href='undocumented#SkSerialProcs'>SkSerialProcs</a>* procs = nullptr) const </pre> +Returns storage containing data describing <a href='#Picture'>Picture</a>, using optional custom encoders. + ### Parameters <table> <tr> <td><a name='SkPicture_serialize_procs'><code><strong>procs</strong></code></a></td> - <td>incomplete</td> + <td>custom serial data encoders; may be nullptr</td> </tr> </table> ### Return Value -incomplete +storage containing serialized <a href='#Picture'>Picture</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="dacdebe1355c884ebd3c2ea038cc7a20"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkPicture_MakeFromData'>MakeFromData</a><sup><a href='#SkPicture_MakeFromData_2'>[2]</a></sup> <a href='undocumented#SkData'>SkData</a> <a href='undocumented#SkSerialProcs'>SkSerialProcs</a> --- @@ -413,23 +431,25 @@ incomplete void <a href='#SkPicture_serialize'>serialize</a>(<a href='undocumented#SkWStream'>SkWStream</a>* stream, const <a href='undocumented#SkSerialProcs'>SkSerialProcs</a>* procs = nullptr) const </pre> +Writes picture to <a href='#SkPicture_serialize_2_stream'>stream</a>, using optional custom encoders. + ### Parameters <table> <tr> <td><a name='SkPicture_serialize_2_stream'><code><strong>stream</strong></code></a></td> - <td>incomplete</td> + <td>writable serial data <a href='#SkPicture_serialize_2_stream'>stream</a></td> </tr> <tr> <td><a name='SkPicture_serialize_2_procs'><code><strong>procs</strong></code></a></td> - <td>incomplete</td> + <td>custom serial data encoders; may be nullptr</td> </tr> </table> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="30b9f1b310187db6aff720a5d67591e2"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkPicture_MakeFromStream'>MakeFromStream</a> <a href='undocumented#SkWStream'>SkWStream</a> <a href='undocumented#SkSerialProcs'>SkSerialProcs</a> --- @@ -440,28 +460,37 @@ incomplete static <a href='undocumented#sk_sp'>sk sp</a><<a href='#SkPicture'>SkPicture</a>> <a href='#SkPicture_MakePlaceholder'>MakePlaceholder</a>(<a href='SkRect_Reference#SkRect'>SkRect</a> cull) </pre> -Return a placeholder <a href='#SkPicture'>SkPicture</a>. +Returns a placeholder <a href='#SkPicture'>SkPicture</a>. This placeholder does not draw anything itself. It has a distinct <a href='#SkPicture_uniqueID'>uniqueID</a> (just like all <a href='#Picture'>Pictures</a>) and will always be visible to <a href='undocumented#SkSerialProcs'>SkSerialProcs</a>. ### Parameters <table> <tr> <td><a name='SkPicture_MakePlaceholder_cull'><code><strong>cull</strong></code></a></td> - <td>the placeholder's dimensions</td> + <td>placeholder dimensions</td> </tr> </table> ### Return Value -incomplete +placeholder with unique identifier ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="32f84819483a906ede9c5525801845ef"> + +#### Example Output + +~~~~ +id:1 bounds:{10, 40, 80, 110} +id:2 bounds:{10, 40, 80, 110} +~~~~ + +</fiddle-embed></div> ### See Also -incomplete +<a href='#SkPicture_MakeFromStream'>MakeFromStream</a> <a href='#SkPicture_MakeFromData'>MakeFromData</a><sup><a href='#SkPicture_MakeFromData_2'>[2]</a></sup> --- @@ -472,22 +501,22 @@ incomplete virtual int <a href='#SkPicture_approximateOpCount'>approximateOpCount</a>() const = 0 </pre> -Return the approximate number of operations in this picture. This +Returns the approximate number of operations in this picture. This number may be greater or less than the number of <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> calls recorded: some calls may be recorded as more than one operation, or some calls may be optimized away. ### Return Value -incomplete +approximate operation count ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="4b3d879118ef770d1f11a23c6493b2c4"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkPicture_approximateBytesUsed'>approximateBytesUsed</a> --- @@ -498,19 +527,20 @@ incomplete virtual size_t <a href='#SkPicture_approximateBytesUsed'>approximateBytesUsed</a>() const = 0 </pre> -Returns the approximate byte size of this picture, not including large ref'd objects. +Returns the approximate byte size of <a href='#Picture'>Picture</a>. Does not include large objects +referenced <a href='#Picture'>Picture</a>. ### Return Value -incomplete +approximate size ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="ececbda21218bd732394a305dba393a2"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkPicture_approximateOpCount'>approximateOpCount</a> --- diff --git a/site/user/api/SkPoint_Reference.md b/site/user/api/SkPoint_Reference.md index e35801822d..85e49c1455 100644 --- a/site/user/api/SkPoint_Reference.md +++ b/site/user/api/SkPoint_Reference.md @@ -1224,6 +1224,7 @@ Returns <a href='#Point'>Point</a> multiplied by scale. Multiplies <a href='#Point'>Point</a> by scale. Sets <a href='#Point'>Point</a> to: (<a href='#SkPoint_fX'>fX</a> * scale, <a href='#SkPoint_fY'>fY</a> * scale) +. ### Parameters diff --git a/site/user/api/SkRRect_Reference.md b/site/user/api/SkRRect_Reference.md index c2f16d38ab..e83c3cfe6b 100644 --- a/site/user/api/SkRRect_Reference.md +++ b/site/user/api/SkRRect_Reference.md @@ -58,7 +58,7 @@ SkRRect related constants are defined by <code>enum</code>, <code>enum class</co </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>storage space for <a href='#RRect'>Round Rect</a></td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_kUpperLeft_Corner'>kUpperLeft Corner</a></td> @@ -83,18 +83,17 @@ SkRRect global, <code>struct</code>, and <code>class</code> related member funct </tr> </table> -The <a href='#SkRRect'>SkRRect</a> class represents a rounded rect with a potentially different -radii for each corner. It does not have a constructor so must be -initialized with one of the initialization functions (e.g., <a href='#SkRRect_setEmpty'>setEmpty</a>, -<a href='#SkRRect_setRectRadii'>setRectRadii</a>, etc.) +<a href='#SkRRect'>SkRRect</a> describes a rounded rectangle with a bounds and a pair of radii for each corner. +The bounds and radii can be set so that <a href='#SkRRect'>SkRRect</a> describes a rectangle with sharp corners, +a <a href='undocumented#Circle'>Circle</a>, an <a href='undocumented#Oval'>Oval</a>, or a rectangle with one or more rounded corners. -This class allows implementing CSS properties that describe rounded corners. -A rectangle may have up to eight radii, one for each axis on each of its four +<a href='#SkRRect'>SkRRect</a> allows implementing CSS properties that describe rounded corners. +<a href='#SkRRect'>SkRRect</a> may have up to eight different radii, one for each axis on each of its four corners. -If either corner's radii are zero, the corner is square. -Negative radii are treated as zero. -If corner curves overlap, they are proportionally reduced to fit. +<a href='#SkRRect'>SkRRect</a> may modify the provided parameters when initializing bounds and radii. +If either axis radii is zero or less, radii are stored as zero; corner is square. +If corner curves overlap, radii are proportionally reduced to fit within bounds. ## Overview @@ -231,7 +230,7 @@ SkRRect member functions read and modify the structure properties. </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_height'>height</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns span in y</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns span in y-axis</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_inset'>inset</a></td> @@ -239,7 +238,7 @@ SkRRect member functions read and modify the structure properties. </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_isComplex'>isComplex</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns true if not empty, rect, oval, simple, or nine-patch</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns true if not empty, <a href='SkRect_Reference#Rect'>Rect</a>, <a href='undocumented#Oval'>Oval</a>, simple, or nine-patch</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_isEmpty'>isEmpty</a></td> @@ -247,7 +246,7 @@ SkRRect member functions read and modify the structure properties. </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_isNinePatch'>isNinePatch</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns true if not empty, rect, oval or simple; and radii are axis-aligned</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns true if not empty, <a href='SkRect_Reference#Rect'>Rect</a>, <a href='undocumented#Oval'>Oval</a> or simple; and radii are axis-aligned</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_isOval'>isOval</a></td> @@ -259,11 +258,11 @@ SkRRect member functions read and modify the structure properties. </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_isSimple'>isSimple</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns true if not empty, rect or oval; and axes radii are equal</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns true if not empty, <a href='SkRect_Reference#Rect'>Rect</a> or <a href='undocumented#Oval'>Oval</a>; and axes radii are equal</td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_isValid'>isValid</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns if <a href='#SkRRect_type'>type</a> matches bounds and radii</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_makeOffset'>makeOffset</a></td> @@ -283,7 +282,7 @@ SkRRect member functions read and modify the structure properties. </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_readFromMemory'>readFromMemory</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>reads <a href='#RRect'>Round Rect</a> from buffer</td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_rect'>rect</a></td> @@ -303,7 +302,7 @@ SkRRect member functions read and modify the structure properties. </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_setRect'>setRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets rect bounds with zeroed corners</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets <a href='#RRect'>Round Rect</a> bounds with zeroed corners</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_setRectRadii'>setRectRadii</a></td> @@ -323,11 +322,11 @@ SkRRect member functions read and modify the structure properties. </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_width'>width</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns span in x</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns span in x-axis</td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRRect_writeToMemory'>writeToMemory</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>writes <a href='#RRect'>Round Rect</a> to buffer</td> </tr> </table> @@ -377,7 +376,7 @@ copy of <a href='#SkRRect_copy_const_SkRRect_rrect'>rrect</a> ### Example -<div><fiddle-embed name="9be9adb06c26dac75a5a5a7c1ceca681"></fiddle-embed></div> +<div><fiddle-embed name="ad8f5d49edfcee60eddfe2a955b6c5f5"></fiddle-embed></div> ### See Also @@ -407,7 +406,7 @@ copy of <a href='#SkRRect_copy_operator_rrect'>rrect</a> ### Example -<div><fiddle-embed name="94c298c404fff922ec53a3d7567852a2"></fiddle-embed></div> +<div><fiddle-embed name="52926c98c1cca00606d3ea99f23fea3d"></fiddle-embed></div> ### See Also @@ -434,7 +433,7 @@ copy of <a href='#SkRRect_copy_operator_rrect'>rrect</a> <a href='#SkRRect_Type'>Type</a> describes possible specializations of <a href='#RRect'>Round Rect</a>. Each <a href='#SkRRect_Type'>Type</a> is exclusive; a <a href='#RRect'>Round Rect</a> may only have one type. -The enum members become progressively less restrictive; larger values of +<a href='#SkRRect_Type'>Type</a> members become progressively less restrictive; larger values of <a href='#SkRRect_Type'>Type</a> have more degrees of freedom than smaller values. ### Constants @@ -445,21 +444,21 @@ The enum members become progressively less restrictive; larger values of <th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRRect_kEmpty_Type'><code>SkRRect::kEmpty_Type</code></a></td> - <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#Line # zero width or height ##</td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> <a href='#RRect'>Round Rect</a> has zero width or height. All radii are zero. </td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRRect_kRect_Type'><code>SkRRect::kRect_Type</code></a></td> - <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#Line # non-zero width and height, and zeroed radii ##</td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> <a href='#RRect'>Round Rect</a> has width and height. All radii are zero. </td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRRect_kOval_Type'><code>SkRRect::kOval_Type</code></a></td> - <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#Line # non-zero width and height filled with radii ##</td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> <a href='#RRect'>Round Rect</a> has width and height. All four x-radii are equal, and at least half the width. All four y-radii are equal, @@ -468,7 +467,7 @@ and at least half the height. </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRRect_kSimple_Type'><code>SkRRect::kSimple_Type</code></a></td> - <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#Line # non-zero width and height with equal radii ##</td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> <a href='#RRect'>Round Rect</a> has width and height. All four x-radii are equal and greater than zero, and all four y-radii are equal and greater than @@ -478,7 +477,7 @@ less than half the height, or both. </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRRect_kNinePatch_Type'><code>SkRRect::kNinePatch_Type</code></a></td> - <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#Line # non-zero width and height with axis-aligned radii ##</td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>4</td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> <a href='#RRect'>Round Rect</a> has width and height. Left x-radii are equal, top y-radii are equal, right x-radii are equal, and bottom y-radii @@ -491,14 +490,14 @@ interior rectangle, four edges, and four corners. </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRRect_kComplex_Type'><code>SkRRect::kComplex_Type</code></a></td> - <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#Line # non-zero width and height with arbitrary radii ##</td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>5</td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> both radii are non-zero. </td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRRect_kLastType'><code>SkRRect::kLastType</code></a></td> - <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>= kComplex_Type</td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>5</td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> largest Type value</td> </tr> @@ -528,7 +527,7 @@ Returns <a href='#SkRRect_Type'>Type</a>, one of: <a href='#SkRRect_kEmpty_Type' ### Example -<div><fiddle-embed name="53634cc0794c0fa6c0c2b3ac4cc69490"><div>rrect2 is not a <a href='SkRect_Reference#Rect'>Rect</a>; <a href='#SkRRect_inset'>inset</a> has made it empty. +<div><fiddle-embed name="ace8f4aebf90527d43e4b7291375c9ad"><div>rrect2 is not a <a href='SkRect_Reference#Rect'>Rect</a>; <a href='#SkRRect_inset'>inset</a> has made it empty. </div></fiddle-embed></div> ### See Also @@ -553,7 +552,7 @@ Returns <a href='#SkRRect_Type'>Type</a>, one of: <a href='#SkRRect_kEmpty_Type' ### Example -<div><fiddle-embed name="02b03d651c4b5d18018c6f75fa88b8ce"><div><a href='#SkRRect_inset'>inset</a> has made rrect2 empty. +<div><fiddle-embed name="1080805c8449406a4e26d694bc56d2dc"><div><a href='#SkRRect_inset'>inset</a> has made rrect2 empty. </div></fiddle-embed></div> ### See Also @@ -593,7 +592,8 @@ true if <a href='#SkRRect_width'>width</a> or <a href='#SkRRect_height'>height</ inline bool <a href='#SkRRect_isRect'>isRect</a>() const </pre> -Returns true if not empty, and if either x or y radius at each corner is zero. +Returns true if not empty, and if either x-axis or y-axis radius at each corner +is zero. ### Return Value @@ -628,8 +628,8 @@ true if has identical geometry to <a href='undocumented#Oval'>Oval</a> <div><fiddle-embed name="ab9b3aef7896aee80b780789848fbba4"><div>The first radii are scaled down proportionately until both x-axis and y-axis fit within the bounds. After scaling, x-axis radius is smaller than half the width; -left round rect is not an oval. The second radii are equal to half the -dimensions; right round rect is an oval. +left <a href='#RRect'>Round Rect</a> is not an oval. The second radii are equal to half the +dimensions; right <a href='#RRect'>Round Rect</a> is an oval. </div></fiddle-embed></div> ### See Also @@ -651,7 +651,7 @@ if all y-axis radii are equal but not zero; and x-axis radius is less than half ### Return Value -true if not empty, rect or oval; and axes radii are equal +true if not empty, <a href='SkRect_Reference#Rect'>Rect</a> or <a href='undocumented#Oval'>Oval</a>; and axes radii are equal ### Example @@ -676,7 +676,7 @@ equal, and bottom y-axis radii are equal. ### Return Value -true if not empty, rect, oval or simple; and radii are axis-aligned +true if not empty, <a href='SkRect_Reference#Rect'>Rect</a>, <a href='undocumented#Oval'>Oval</a> or simple; and radii are axis-aligned ### Example @@ -703,11 +703,11 @@ equal. ### Return Value -true if not empty, rect, oval, simple, or nine-patch +true if not empty, <a href='SkRect_Reference#Rect'>Rect</a>, <a href='undocumented#Oval'>Oval</a>, simple, or nine-patch ### Example -<div><fiddle-embed name="75db3f4e4757478bca641bccf89b9398"></fiddle-embed></div> +<div><fiddle-embed name="e4ba9346ee5c2d37d5e504f8cc678544"></fiddle-embed></div> ### See Also @@ -801,7 +801,7 @@ corner radii for simple types ### Example -<div><fiddle-embed name="f0e02101ecbdb5a2963ec82e7832afb1"></fiddle-embed></div> +<div><fiddle-embed name="ebcc50ed30240e94de8439d21dd8171c"></fiddle-embed></div> ### See Also @@ -821,7 +821,7 @@ corner radii to zero and sets type to <a href='#SkRRect_kEmpty_Type'>kEmpty Type ### Example -<div><fiddle-embed name="59c1025b8116ec1d3b55f4f6306d1e37"><div>Nothing blue is drawn because rrect is set to empty. +<div><fiddle-embed name="44e9a9c2c5ef1af2a616086ff46a9037"><div>Nothing blue is drawn because <a href='#RRect'>Round Rect</a> is set to empty. </div></fiddle-embed></div> ### See Also @@ -920,7 +920,7 @@ static <a href='#SkRRect'>SkRRect</a> <a href='#SkRRect_MakeOval'>MakeOval</a>(c </pre> Sets bounds to <a href='#SkRRect_MakeOval_oval'>oval</a>, x-axis radii to half <a href='#SkRRect_MakeOval_oval'>oval</a>.<a href='#SkRRect_width'>width</a>, and all y-axis radii -to half <a href='#SkRRect_MakeOval_oval'>oval</a>.<a href='#SkRRect_height'>height</a>. If rect is empty, sets to <a href='#SkRRect_kEmpty_Type'>kEmpty Type</a>. +to half <a href='#SkRRect_MakeOval_oval'>oval</a>.<a href='#SkRRect_height'>height</a>. If <a href='#SkRRect_MakeOval_oval'>oval</a> bounds is empty, sets to <a href='#SkRRect_kEmpty_Type'>kEmpty Type</a>. Otherwise, sets to <a href='#SkRRect_kOval_Type'>kOval Type</a>. ### Parameters @@ -993,7 +993,7 @@ void <a href='#SkRRect_setOval'>setOval</a>(const <a href='SkRect_Reference#SkRe </pre> Sets bounds to <a href='#SkRRect_setOval_oval'>oval</a>, x-axis radii to half <a href='#SkRRect_setOval_oval'>oval</a>.<a href='#SkRRect_width'>width</a>, and all y-axis radii -to half <a href='#SkRRect_setOval_oval'>oval</a>.<a href='#SkRRect_height'>height</a>. If rect is empty, sets to <a href='#SkRRect_kEmpty_Type'>kEmpty Type</a>. +to half <a href='#SkRRect_setOval_oval'>oval</a>.<a href='#SkRRect_height'>height</a>. If <a href='#SkRRect_setOval_oval'>oval</a> bounds is empty, sets to <a href='#SkRRect_kEmpty_Type'>kEmpty Type</a>. Otherwise, sets to <a href='#SkRRect_kOval_Type'>kOval Type</a>. ### Parameters @@ -1129,7 +1129,7 @@ sets to <a href='#SkRRect_kSimple_Type'>kSimple Type</a>. Otherwise, sets to <a ### Example -<div><fiddle-embed name="4589dd49da291f8cd414db96c12851c7"></fiddle-embed></div> +<div><fiddle-embed name="340d6c51efaa1f7f3d0dcaf8b0e90696"></fiddle-embed></div> ### See Also @@ -1252,7 +1252,7 @@ x-axis and y-axis radii for one <a href='#SkRRect_radii_corner'>corner</a> ### Example <div><fiddle-embed name="8d5c88478528584913867ada423e0d59"><div>Finite values are scaled proportionately to fit; other values are set to zero. -Scaled values cannot be larger than 25, half the bounding rect width. +Scaled values cannot be larger than 25, half the bounding <a href='#RRect'>Round Rect</a> width. Small scaled values are halved to scale in proportion to the y-axis <a href='#SkRRect_radii_corner'>corner</a> radius, which is twice the bounds height. </div> @@ -1379,15 +1379,17 @@ true if members are not equal void <a href='#SkRRect_inset'>inset</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy, <a href='#SkRRect'>SkRRect</a>* dst) const </pre> -Calls inset on the bounds, and adjust the radii to reflect what happens. -If the corner is sharp (no curvature), leave it alone, -otherwise we grow/shrink the radii by the amount of the inset. If a -given radius becomes negative, it is pinned to 0. -If the inset amount is larger than the width/height then the rrect collapses to -a degenerate line or point. -If the inset is sufficiently negative to cause the bounds to become infinite then -the result is a default initialized rrect. -It is valid for <a href='#SkRRect_inset_dst'>dst</a> == this. +Copies <a href='#RRect'>Round Rect</a> to <a href='#SkRRect_inset_dst'>dst</a>, then insets <a href='#SkRRect_inset_dst'>dst</a> bounds by <a href='#SkRRect_inset_dx'>dx</a> and <a href='#SkRRect_inset_dy'>dy</a>, and adjusts <a href='#SkRRect_inset_dst'>dst</a> +radii by <a href='#SkRRect_inset_dx'>dx</a> and <a href='#SkRRect_inset_dy'>dy</a>. <a href='#SkRRect_inset_dx'>dx</a> and <a href='#SkRRect_inset_dy'>dy</a> may be positive, negative, or zero. <a href='#SkRRect_inset_dst'>dst</a> may be +<a href='#RRect'>Round Rect</a>. + +If either corner radius is zero, the corner has no curvature and is unchanged. +Otherwise, if adjusted radius becomes negative, pins radius to zero. +If <a href='#SkRRect_inset_dx'>dx</a> exceeds half <a href='#SkRRect_inset_dst'>dst</a> bounds width, <a href='#SkRRect_inset_dst'>dst</a> bounds left and right are set to +bounds x-axis center. If <a href='#SkRRect_inset_dy'>dy</a> exceeds half <a href='#SkRRect_inset_dst'>dst</a> bounds height, <a href='#SkRRect_inset_dst'>dst</a> bounds top and +bottom are set to bounds y-axis center. + +If <a href='#SkRRect_inset_dx'>dx</a> or <a href='#SkRRect_inset_dy'>dy</a> cause the bounds to become infinite, <a href='#SkRRect_inset_dst'>dst</a> bounds is zeroed. ### Parameters @@ -1418,6 +1420,17 @@ It is valid for <a href='#SkRRect_inset_dst'>dst</a> == this. void <a href='#SkRRect_inset'>inset</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy) </pre> +Insets bounds by <a href='#SkRRect_inset_2_dx'>dx</a> and <a href='#SkRRect_inset_2_dy'>dy</a>, and adjusts radii by <a href='#SkRRect_inset_2_dx'>dx</a> and <a href='#SkRRect_inset_2_dy'>dy</a>. <a href='#SkRRect_inset_2_dx'>dx</a> and <a href='#SkRRect_inset_2_dy'>dy</a> may be +positive, negative, or zero. + +If either corner radius is zero, the corner has no curvature and is unchanged. +Otherwise, if adjusted radius becomes negative, pins radius to zero. +If <a href='#SkRRect_inset_2_dx'>dx</a> exceeds half bounds width, bounds left and right are set to +bounds x-axis center. If <a href='#SkRRect_inset_2_dy'>dy</a> exceeds half bounds height, bounds top and +bottom are set to bounds y-axis center. + +If <a href='#SkRRect_inset_2_dx'>dx</a> or <a href='#SkRRect_inset_2_dy'>dy</a> cause the bounds to become infinite, bounds is zeroed. + ### Parameters <table> <tr> <td><a name='SkRRect_inset_2_dx'><code><strong>dx</strong></code></a></td> @@ -1445,11 +1458,16 @@ void <a href='#SkRRect_inset'>inset</a>(<a href='undocumented#SkScalar'>SkScalar void <a href='#SkRRect_outset'>outset</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy, <a href='#SkRRect'>SkRRect</a>* dst) const </pre> -Call outset on the bounds, and adjust the radii to reflect what happens -in stroking. If the corner is sharp (no curvature), leave it alone, -otherwise we grow/shrink the radii by the amount of the inset. If a -given radius becomes negative, it is pinned to 0. -It is valid for <a href='#SkRRect_outset_dst'>dst</a> == this. +Outsets <a href='#SkRRect_outset_dst'>dst</a> bounds by <a href='#SkRRect_outset_dx'>dx</a> and <a href='#SkRRect_outset_dy'>dy</a>, and adjusts radii by <a href='#SkRRect_outset_dx'>dx</a> and <a href='#SkRRect_outset_dy'>dy</a>. <a href='#SkRRect_outset_dx'>dx</a> and <a href='#SkRRect_outset_dy'>dy</a> may be +positive, negative, or zero. + +If either corner radius is zero, the corner has no curvature and is unchanged. +Otherwise, if adjusted radius becomes negative, pins radius to zero. +If <a href='#SkRRect_outset_dx'>dx</a> exceeds half <a href='#SkRRect_outset_dst'>dst</a> bounds width, <a href='#SkRRect_outset_dst'>dst</a> bounds left and right are set to +bounds x-axis center. If <a href='#SkRRect_outset_dy'>dy</a> exceeds half <a href='#SkRRect_outset_dst'>dst</a> bounds height, <a href='#SkRRect_outset_dst'>dst</a> bounds top and +bottom are set to bounds y-axis center. + +If <a href='#SkRRect_outset_dx'>dx</a> or <a href='#SkRRect_outset_dy'>dy</a> cause the bounds to become infinite, <a href='#SkRRect_outset_dst'>dst</a> bounds is zeroed. ### Parameters @@ -1480,6 +1498,17 @@ It is valid for <a href='#SkRRect_outset_dst'>dst</a> == this. void <a href='#SkRRect_outset'>outset</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy) </pre> +Outsets bounds by <a href='#SkRRect_outset_2_dx'>dx</a> and <a href='#SkRRect_outset_2_dy'>dy</a>, and adjusts radii by <a href='#SkRRect_outset_2_dx'>dx</a> and <a href='#SkRRect_outset_2_dy'>dy</a>. <a href='#SkRRect_outset_2_dx'>dx</a> and <a href='#SkRRect_outset_2_dy'>dy</a> may be +positive, negative, or zero. + +If either corner radius is zero, the corner has no curvature and is unchanged. +Otherwise, if adjusted radius becomes negative, pins radius to zero. +If <a href='#SkRRect_outset_2_dx'>dx</a> exceeds half bounds width, bounds left and right are set to +bounds x-axis center. If <a href='#SkRRect_outset_2_dy'>dy</a> exceeds half bounds height, bounds top and +bottom are set to bounds y-axis center. + +If <a href='#SkRRect_outset_2_dx'>dx</a> or <a href='#SkRRect_outset_2_dy'>dy</a> cause the bounds to become infinite, bounds is zeroed. + ### Parameters <table> <tr> <td><a name='SkRRect_outset_2_dx'><code><strong>dx</strong></code></a></td> @@ -1507,7 +1536,7 @@ void <a href='#SkRRect_outset'>outset</a>(<a href='undocumented#SkScalar'>SkScal void <a href='#SkRRect_offset'>offset</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy) </pre> -Translates the rrect by (<a href='#SkRRect_offset_dx'>dx</a>, <a href='#SkRRect_offset_dy'>dy</a>). +Translates <a href='#RRect'>Round Rect</a> by (<a href='#SkRRect_offset_dx'>dx</a>, <a href='#SkRRect_offset_dy'>dy</a>). ### Parameters @@ -1536,6 +1565,8 @@ Translates the rrect by (<a href='#SkRRect_offset_dx'>dx</a>, <a href='#SkRRect_ <a href='#SkRRect'>SkRRect</a> SK_WARN_UNUSED_RESULT <a href='#SkRRect_makeOffset'>makeOffset</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkScalar</a> dy) const </pre> +Returns <a href='#RRect'>Round Rect</a> translated by (<a href='#SkRRect_makeOffset_dx'>dx</a>, <a href='#SkRRect_makeOffset_dy'>dy</a>). + ### Parameters <table> <tr> <td><a name='SkRRect_makeOffset_dx'><code><strong>dx</strong></code></a></td> @@ -1583,7 +1614,7 @@ true if <a href='#RRect'>Round Rect</a> contains rect ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="884447c809921cfaebc87aeb63dedd48"></fiddle-embed></div> ### See Also @@ -1598,17 +1629,22 @@ true if <a href='#RRect'>Round Rect</a> contains rect bool <a href='#SkRRect_isValid'>isValid</a>() const </pre> +Returns true if bounds and radii values are finite and describe a <a href='#RRect'>Round Rect</a> +<a href='#SkRRect_Type'>Type</a> that matches <a href='#SkRRect_getType'>getType</a>. All <a href='#RRect'>Round Rect</a> methods construct valid types, +even if the input values are not valid. Invalid <a href='#RRect'>Round Rect</a> data can only +be generated by corrupting memory. + ### Return Value -incomplete +true if bounds and radii match <a href='#SkRRect_type'>type</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="d28709aa457742391842a9ab1f21b5fa"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkRRect_Type'>Type</a> <a href='#SkRRect_getType'>getType</a> --- @@ -1622,12 +1658,7 @@ incomplete <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkRRect_kSizeInMemory'><code>SkRRect::kSizeInMemory</code></a></td> <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>48</td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> - - -### Example - -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>incomplete - +Space required to serialize <a href='#SkRRect'>SkRRect</a> into a buffer. Always a multiple of four. </td> </tr> </table> @@ -1639,28 +1670,27 @@ incomplete size_t <a href='#SkRRect_writeToMemory'>writeToMemory</a>(void* buffer) const </pre> -Write the rrect into the specified <a href='#SkRRect_writeToMemory_buffer'>buffer</a>. This is guaranteed to always -write <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a> bytes, and that value is guaranteed to always be -a multiple of 4. Return <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a>. +Writes <a href='#RRect'>Round Rect</a> to <a href='#SkRRect_writeToMemory_buffer'>buffer</a>. Writes <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a> bytes, and returns +<a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a>, the number of bytes written. ### Parameters <table> <tr> <td><a name='SkRRect_writeToMemory_buffer'><code><strong>buffer</strong></code></a></td> - <td>incomplete</td> + <td>storage for <a href='#RRect'>Round Rect</a></td> </tr> </table> ### Return Value -incomplete +bytes written, <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="1466c844a78fd05a7362537347e360ca"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkRRect_readFromMemory'>readFromMemory</a> --- @@ -1671,9 +1701,9 @@ incomplete size_t <a href='#SkRRect_readFromMemory'>readFromMemory</a>(const void* buffer, size_t length) </pre> -Reads the rrect from the specified <a href='#SkRRect_readFromMemory_buffer'>buffer</a>. -If the specified <a href='#SkRRect_readFromMemory_buffer'>buffer</a> is large enough, this will read <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a> bytes, -and that value is guaranteed to always be a multiple of 4. +Reads <a href='#RRect'>Round Rect</a> from <a href='#SkRRect_readFromMemory_buffer'>buffer</a>, reading <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a> bytes. +Returns <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a>, bytes read if <a href='#SkRRect_readFromMemory_length'>length</a> is at least <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a>. +Otherwise, returns zero. ### Parameters @@ -1681,22 +1711,21 @@ and that value is guaranteed to always be a multiple of 4. <td>memory to read from</td> </tr> <tr> <td><a name='SkRRect_readFromMemory_length'><code><strong>length</strong></code></a></td> - <td>amount of memory available in the <a href='#SkRRect_readFromMemory_buffer'>buffer</a></td> + <td>size of <a href='#SkRRect_readFromMemory_buffer'>buffer</a></td> </tr> </table> ### Return Value -number of bytes read (must be a multiple of 4) or -0 if there was not enough memory available +bytes read, or 0 if <a href='#SkRRect_readFromMemory_length'>length</a> is less than <a href='#SkRRect_kSizeInMemory'>kSizeInMemory</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="b877c0adff35470865a57aa150bf5329"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkRRect_writeToMemory'>writeToMemory</a> --- @@ -1729,11 +1758,11 @@ true if transformation succeeded. ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="99ccc6862bb9fe3ca35228eee9f9725d"></fiddle-embed></div> ### See Also -incomplete +<a href='SkPath_Reference#SkPath_transform'>SkPath::transform</a><sup><a href='SkPath_Reference#SkPath_transform_2'>[2]</a></sup> --- diff --git a/site/user/api/SkSurface_Reference.md b/site/user/api/SkSurface_Reference.md index 387c6cbae6..c1fbe929dc 100644 --- a/site/user/api/SkSurface_Reference.md +++ b/site/user/api/SkSurface_Reference.md @@ -1627,6 +1627,8 @@ Does not copy, and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkSurface_readPixels_dst'><code><strong>dst</strong></code></a></td> @@ -1688,6 +1690,8 @@ Does not copy, and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkSurface_readPixels_2_dstInfo'><code><strong>dstInfo</strong></code></a></td> @@ -1760,6 +1764,8 @@ Does not copy, and returns false if: </tr> </table> +. + ### Parameters <table> <tr> <td><a name='SkSurface_readPixels_3_dst'><code><strong>dst</strong></code></a></td> diff --git a/site/user/api/catalog.htm b/site/user/api/catalog.htm index e1fe83ea30..7ad0dc349d 100644 --- a/site/user/api/catalog.htm +++ b/site/user/api/catalog.htm @@ -2373,6 +2373,20 @@ "name": "SkPath::writeToMemory", "stdout": "path is equal to copy\\n" }, + "SkPicture_MakePlaceholder": { + "code": "void draw(SkCanvas* canvas) {\n sk_sp<SkPicture> pict1 = SkPicture::MakePlaceholder({10, 40, 80, 110});\n sk_sp<SkPicture> pict2 = SkPicture::MakePlaceholder({10, 40, 80, 110});\n for (auto pict : { pict1, pict2 } ) {\n SkRect bounds = pict->cullRect();\n SkDebugf(\"id:%d bounds:{%g, %g, %g, %g}\\n\", pict->uniqueID(), \n bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom);\n }\n}", + "hash": "32f84819483a906ede9c5525801845ef", + "file": "SkPicture_Reference", + "name": "SkPicture::MakePlaceholder", + "stdout": "id:1 bounds:{10, 40, 80, 110}\\nid:2 bounds:{10, 40, 80, 110}\\n" + }, + "SkPicture_uniqueID": { + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n recorder.beginRecording({0, 0, 0, 0});\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n SkDebugf(\"empty picture id = %d\\n\", picture->uniqueID());\n sk_sp<SkPicture> placeholder = SkPicture::MakePlaceholder({0, 0, 0, 0});\n SkDebugf(\"placeholder id = %d\\n\", placeholder->uniqueID());\n}", + "hash": "8e4257245c988c600410fe4fd7293f07", + "file": "SkPicture_Reference", + "name": "SkPicture::uniqueID", + "stdout": "empty picture id = 1\\nplaceholder id = 2\\n" + }, "SkPixmap_addr": { "code": "void draw(SkCanvas* canvas) {\n std::vector<int32_t> pixels;\n pixels.resize(image->height() * image->width() * 4);\n SkPixmap pixmap(SkImageInfo::Make(image->width(), image->height(), kN32_SkColorType,\n image->alphaType()), (const void*) &pixels.front(), image->width() * 4);\n image->readPixels(pixmap, 0, 0);\n SkDebugf(\"pixels address: 0x%llx\\n\", pixmap.addr());\n SkPixmap inset;\n if (pixmap.extractSubset(&inset, {128, 128, 512, 512})) {\n SkDebugf(\"inset address: 0x%llx\\n\", inset.addr());\n }\n}", "hash": "17bcabaaee2dbb7beba562e9ca50b55e", @@ -7153,118 +7167,86 @@ "file": "SkPath_Reference", "name": "SkPath::transform_2" }, - "SkPicture_AbortCallback_abort": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "SkPicture_AbortCallback": { + "code": "class JustOneDraw : public SkPicture::AbortCallback {\npublic:\n bool abort() override { return fCalls++ > 0; }\nprivate:\n int fCalls = 0;\n};\n\nvoid draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n JustOneDraw callback;\n picture->playback(canvas, &callback);\n}\n", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "56ed920dadbf2b2967ac45fb5a9bded6", "file": "SkPicture_Reference", - "name": "SkPicture::AbortCallback::abort()" -}, - "SkPicture_AbortCallback_empty_constructor": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkPicture_Reference", - "name": "SkPicture::AbortCallback::AbortCallback()" + "name": "SkPicture::AbortCallback" }, "SkPicture_MakeFromData": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n SkDynamicMemoryWStream writableStream;\n picture->serialize(&writableStream);\n sk_sp<SkData> readableData = writableStream.detachAsData();\n sk_sp<SkPicture> copy = SkPicture::MakeFromData(readableData.get());\n copy->playback(canvas);\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "58b44bf47d8816782066618700afdecb", "file": "SkPicture_Reference", "name": "SkPicture::MakeFromData" }, "SkPicture_MakeFromData_2": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n SkDynamicMemoryWStream writableStream;\n picture->serialize(&writableStream);\n sk_sp<SkData> readableData = writableStream.detachAsData();\n sk_sp<SkPicture> copy = SkPicture::MakeFromData(readableData->data(), readableData->size());\n copy->playback(canvas);\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "30b9f1b310187db6aff720a5d67591e2", "file": "SkPicture_Reference", "name": "SkPicture::MakeFromData_2" }, "SkPicture_MakeFromStream": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n SkDynamicMemoryWStream writableStream;\n picture->serialize(&writableStream);\n std::unique_ptr<SkStreamAsset> readableStream = writableStream.detachAsStream();\n sk_sp<SkPicture> copy = SkPicture::MakeFromStream(readableStream.get());\n copy->playback(canvas);\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "404fb42560a289c2004cad1caf3b96de", "file": "SkPicture_Reference", "name": "SkPicture::MakeFromStream" }, - "SkPicture_MakePlaceholder": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkPicture_Reference", - "name": "SkPicture::MakePlaceholder" -}, "SkPicture_approximateBytesUsed": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n picture->playback(canvas);\n std::string opCount = \"approximate bytes used: \" + std::to_string(picture->approximateBytesUsed());\n canvas->drawString(opCount.c_str(), 20, 220, SkPaint());\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "ececbda21218bd732394a305dba393a2", "file": "SkPicture_Reference", "name": "SkPicture::approximateBytesUsed" }, "SkPicture_approximateOpCount": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n picture->playback(canvas);\n std::string opCount = \"approximate op count: \" + std::to_string(picture->approximateOpCount());\n canvas->drawString(opCount.c_str(), 50, 220, SkPaint());\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "4b3d879118ef770d1f11a23c6493b2c4", "file": "SkPicture_Reference", "name": "SkPicture::approximateOpCount" }, "SkPicture_cullRect": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({64, 64, 192, 192});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n picture->playback(canvas);\n paint.setBlendMode(SkBlendMode::kModulate);\n paint.setColor(0x40404040);\n canvas->drawRect(picture->cullRect(), paint);\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "15bb9a9596b40c5e2045f76e8c1dcf8e", "file": "SkPicture_Reference", "name": "SkPicture::cullRect" }, - "SkPicture_destructor": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkPicture_Reference", - "name": "SkPicture::AbortCallback::~AbortCallback()" -}, "SkPicture_playback": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n picture->playback(canvas);\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "6b0ffb03ba05f526b345dc65a1c73fe4", "file": "SkPicture_Reference", "name": "SkPicture::playback()" }, "SkPicture_serialize": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n sk_sp<SkData> readableData = picture->serialize();\n sk_sp<SkPicture> copy = SkPicture::MakeFromData(readableData->data(), readableData->size());\n copy->playback(canvas);\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "dacdebe1355c884ebd3c2ea038cc7a20", "file": "SkPicture_Reference", "name": "SkPicture::serialize()" }, "SkPicture_serialize_2": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPictureRecorder recorder;\n SkCanvas* pictureCanvas = recorder.beginRecording({0, 0, 256, 256});\n SkPaint paint;\n pictureCanvas->drawRect(SkRect::MakeWH(200, 200), paint);\n paint.setColor(SK_ColorWHITE);\n pictureCanvas->drawRect(SkRect::MakeLTRB(20, 20, 180, 180), paint);\n sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();\n SkDynamicMemoryWStream writableStream;\n picture->serialize(&writableStream);\n sk_sp<SkData> readableData = writableStream.detachAsData();\n sk_sp<SkPicture> copy = SkPicture::MakeFromData(readableData->data(), readableData->size());\n copy->playback(canvas);\n}", "width": 256, "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "hash": "30b9f1b310187db6aff720a5d67591e2", "file": "SkPicture_Reference", "name": "SkPicture::serialize_2" }, - "SkPicture_uniqueID": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkPicture_Reference", - "name": "SkPicture::uniqueID" -}, "SkPixmap_erase": { "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[2];\n SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n pixmap.erase(SK_ColorBLUE, {0, 0, 1, 1});\n pixmap.erase(SK_ColorRED, {0, 1, 1, 2});\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}", "width": 256, @@ -7658,26 +7640,26 @@ "name": "SkRRect::Type" }, "SkRRect_contains": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkRect test = {10, 10, 110, 80};\n SkRRect rrect = SkRRect::MakeRect(test);\n SkRRect oval = SkRRect::MakeOval(test);\n test.inset(10, 10);\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setTextAlign(SkPaint::kCenter_Align);\n canvas->drawString(rrect.contains(test) ? \"contains\" : \"does not contain\", 55, 100, paint);\n canvas->drawString(oval.contains(test) ? \"contains\" : \"does not contain\", 185, 100, paint); \n paint.setStyle(SkPaint::kStroke_Style);\n canvas->drawRRect(rrect, paint);\n canvas->drawRect(test, paint);\n canvas->translate(120, 0);\n canvas->drawRRect(oval, paint);\n canvas->drawRect(test, paint);\n}", "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "height": 110, + "hash": "884447c809921cfaebc87aeb63dedd48", "file": "SkRRect_Reference", "name": "SkRRect::contains()" }, "SkRRect_copy_const_SkRRect": { "code": "void draw(SkCanvas* canvas) {\n SkRRect rrect = SkRRect::MakeRect({10, 10, 100, 50});\n SkRRect rrect2(rrect);\n rrect2.inset(20, 20);\n SkPaint p;\n p.setStyle(SkPaint::kStroke_Style);\n p.setStrokeWidth(10);\n canvas->drawRRect(rrect, p);\n canvas->drawRRect(rrect2, p);\n}", "width": 256, - "height": 256, - "hash": "9be9adb06c26dac75a5a5a7c1ceca681", + "height": 60, + "hash": "ad8f5d49edfcee60eddfe2a955b6c5f5", "file": "SkRRect_Reference", "name": "SkRRect::SkRRect(const SkRRect& rrect)" }, "SkRRect_copy_operator": { "code": "void draw(SkCanvas* canvas) {\n SkRRect rrect = SkRRect::MakeRect({40, 40, 100, 70});\n SkRRect rrect2 = rrect;\n rrect2.inset(-20, -20);\n SkPaint p;\n p.setStyle(SkPaint::kStroke_Style);\n p.setStrokeWidth(10);\n canvas->drawRRect(rrect, p);\n canvas->drawRRect(rrect2, p);\n}", "width": 256, - "height": 256, - "hash": "94c298c404fff922ec53a3d7567852a2", + "height": 110, + "hash": "52926c98c1cca00606d3ea99f23fea3d", "file": "SkRRect_Reference", "name": "SkRRect::operator=(const SkRRect& rrect)" }, @@ -7708,16 +7690,16 @@ "SkRRect_getSimpleRadii": { "code": "void draw(SkCanvas* canvas) {\n auto drawDetails = [=](const SkRRect& rrect) {\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setTextAlign(SkPaint::kCenter_Align);\n paint.setTextSize(12);\n canvas->drawRRect(rrect, paint);\n SkVector corner = rrect.getSimpleRadii();\n std::string label = \"corner: \" + std::to_string(corner.fX).substr(0, 3) + \", \" +\n std::to_string(corner.fY).substr(0, 3);\n canvas->drawString(label.c_str(), 64, 90, paint);\n canvas->translate(128, 0);\n };\n SkRRect rrect = SkRRect::MakeRect({30, 10, 100, 60});\n drawDetails(rrect);\n rrect.setRectXY(rrect.getBounds(), 5, 8);\n drawDetails(rrect);\n}", "width": 256, - "height": 256, - "hash": "f0e02101ecbdb5a2963ec82e7832afb1", + "height": 100, + "hash": "ebcc50ed30240e94de8439d21dd8171c", "file": "SkRRect_Reference", "name": "SkRRect::getSimpleRadii" }, "SkRRect_getType": { "code": "void draw(SkCanvas* canvas) {\n SkRRect rrect = SkRRect::MakeRect({10, 10, 100, 50});\n SkRRect rrect2(rrect);\n rrect2.inset(20, 20);\n SkPaint p;\n p.setStyle(SkPaint::kStroke_Style);\n p.setStrokeWidth(10);\n std::string str(\"Type \");\n str += SkRRect::kRect_Type == rrect2.getType() ? \"=\" : \"!\"; \n str += \"= SkRRect::kRect_Type\";\n canvas->drawString(str.c_str(), 20, 80, SkPaint());\n canvas->drawRRect(rrect2, p);\n}", "width": 256, - "height": 256, - "hash": "53634cc0794c0fa6c0c2b3ac4cc69490", + "height": 100, + "hash": "ace8f4aebf90527d43e4b7291375c9ad", "file": "SkRRect_Reference", "name": "SkRRect::getType" }, @@ -7740,8 +7722,8 @@ "SkRRect_isComplex": { "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setTextAlign(SkPaint::kCenter_Align);\n paint.setTextSize(16);\n SkVector radii[] = {{25, 30}, {40, 30}, {40, 30}, {20, 30}};\n SkRRect rrect;\n rrect.setRectRadii({30, 10, 100, 60}, radii);\n canvas->drawRRect(rrect, paint);\n canvas->drawString(rrect.isComplex() ? \"complex\" : \"not complex\", 64, 90, paint);\n radii[0].fX = 20;\n rrect.setRectRadii(rrect.getBounds(), radii);\n canvas->translate(128, 0);\n canvas->drawRRect(rrect, paint);\n canvas->drawString(rrect.isComplex() ? \"complex\" : \"not complex\", 64, 90, paint);\n}", "width": 256, - "height": 256, - "hash": "75db3f4e4757478bca641bccf89b9398", + "height": 100, + "hash": "e4ba9346ee5c2d37d5e504f8cc678544", "file": "SkRRect_Reference", "name": "SkRRect::isComplex" }, @@ -7786,21 +7768,13 @@ "name": "SkRRect::isSimple" }, "SkRRect_isValid": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkRRect rrect = SkRRect::MakeRect({10, 10, 110, 80});\n SkRRect corrupt = rrect;\n *((float*) &corrupt) = 120;\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setTextAlign(SkPaint::kCenter_Align);\n canvas->drawString(rrect.isValid() ? \"is valid\" : \"is corrupted\", 55, 100, paint);\n canvas->drawString(corrupt.isValid() ? \"is valid\" : \"is corrupted\", 185, 100, paint); \n paint.setStyle(SkPaint::kStroke_Style);\n canvas->drawRRect(rrect, paint);\n canvas->translate(120, 0);\n canvas->drawRRect(corrupt, paint);\n}", "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "height": 110, + "hash": "d28709aa457742391842a9ab1f21b5fa", "file": "SkRRect_Reference", "name": "SkRRect::isValid" }, - "SkRRect_kSizeInMemory": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkRRect_Reference", - "name": "SkRRect::kSizeInMemory" -}, "SkRRect_makeOffset": { "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setStyle(SkPaint::kStroke_Style);\n SkRRect rrect = SkRRect::MakeRectXY({100, 20, 140, 220}, 50, 100);\n for (int index = 0; index < 25; ++index) {\n canvas->drawRRect(rrect, paint);\n rrect = rrect.makeOffset(-3, 3);\n }\n}", "width": 256, @@ -7842,18 +7816,18 @@ "name": "SkRRect::outset_2" }, "SkRRect_readFromMemory": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkVector radii[] = {{5, 5}, {10, 10}, {15, 15}, {5, 5}};\n SkRRect rrect;\n rrect.setRectRadii({10, 10, 110, 80}, radii);\n char storage[SkRRect::kSizeInMemory];\n rrect.writeToMemory(storage);\n SkRRect copy;\n copy.readFromMemory(storage, sizeof(storage));\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setTextAlign(SkPaint::kCenter_Align);\n canvas->drawString(\"rrect\", 55, 100, paint);\n canvas->drawString(\"copy\", 185, 100, paint); \n paint.setStyle(SkPaint::kStroke_Style);\n canvas->drawRRect(rrect, paint);\n canvas->translate(120, 0);\n canvas->drawRRect(copy, paint);\n}", "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "height": 110, + "hash": "b877c0adff35470865a57aa150bf5329", "file": "SkRRect_Reference", "name": "SkRRect::readFromMemory" }, "SkRRect_setEmpty": { "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n SkRRect rrect = SkRRect::MakeRect({30, 10, 100, 60});\n canvas->drawRRect(rrect, paint);\n rrect.setEmpty();\n paint.setColor(SK_ColorBLUE);\n canvas->drawRRect(rrect, paint);\n}", "width": 256, - "height": 256, - "hash": "59c1025b8116ec1d3b55f4f6306d1e37", + "height": 80, + "hash": "44e9a9c2c5ef1af2a616086ff46a9037", "file": "SkRRect_Reference", "name": "SkRRect::setEmpty" }, @@ -7884,8 +7858,8 @@ "SkRRect_setRectRadii": { "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setStrokeWidth(15);\n paint.setStrokeCap(SkPaint::kSquare_Cap);\n paint.setAntiAlias(true);\n float intervals[] = { 5, 21.75f };\n paint.setStyle(SkPaint::kStroke_Style);\n paint.setPathEffect(SkDashPathEffect::Make(intervals, SK_ARRAY_COUNT(intervals), 0));\n SkPath path;\n SkRRect rrect;\n SkVector corners[] = {{15, 17}, {17, 19}, {19, 15}, {15, 15}};\n rrect.setRectRadii({20, 20, 100, 100}, corners);\n path.addRRect(rrect, SkPath::kCW_Direction);\n canvas->drawPath(path, paint);\n path.rewind();\n path.addRRect(rrect, SkPath::kCCW_Direction, 1);\n canvas->translate(120, 0);\n canvas->drawPath(path, paint);\n}", "width": 256, - "height": 256, - "hash": "4589dd49da291f8cd414db96c12851c7", + "height": 128, + "hash": "340d6c51efaa1f7f3d0dcaf8b0e90696", "file": "SkRRect_Reference", "name": "SkRRect::setRectRadii" }, @@ -7898,26 +7872,26 @@ "name": "SkRRect::setRectXY" }, "SkRRect_transform": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkVector radii[] = {{5, 5}, {10, 10}, {15, 15}, {5, 5}};\n SkRRect rrect;\n rrect.setRectRadii({10, 10, 110, 80}, radii);\n SkRRect transformed;\n SkMatrix matrix = SkMatrix::MakeRectToRect(rrect.rect(), {140, 30, 220, 80},\n SkMatrix::kCenter_ScaleToFit);\n bool success = rrect.transform(matrix, &transformed);\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setTextAlign(SkPaint::kCenter_Align);\n canvas->drawString(\"rrect\", 55, 100, paint);\n canvas->drawString(success ? \"transformed\" : \"transform failed\", 185, 100, paint); \n paint.setStyle(SkPaint::kStroke_Style);\n canvas->drawRRect(rrect, paint);\n canvas->drawRRect(transformed, paint);\n}", "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "height": 110, + "hash": "99ccc6862bb9fe3ca35228eee9f9725d", "file": "SkRRect_Reference", "name": "SkRRect::transform()" }, "SkRRect_type": { "code": "void draw(SkCanvas* canvas) {\n SkRRect rrect = SkRRect::MakeRect({10, 10, 100, 50});\n SkRRect rrect2(rrect);\n rrect2.inset(20, 20);\n SkPaint p;\n p.setStyle(SkPaint::kStroke_Style);\n p.setStrokeWidth(10);\n std::string str(\"Type \");\n str += SkRRect::kEmpty_Type == rrect2.type() ? \"=\" : \"!\"; \n str += \"= SkRRect::kEmpty_Type\";\n canvas->drawString(str.c_str(), 20, 80, SkPaint());\n canvas->drawRRect(rrect2, p);\n}", "width": 256, - "height": 256, - "hash": "02b03d651c4b5d18018c6f75fa88b8ce", + "height": 100, + "hash": "1080805c8449406a4e26d694bc56d2dc", "file": "SkRRect_Reference", "name": "SkRRect::type()" }, "SkRRect_writeToMemory": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkRRect rrect = SkRRect::MakeRect({10, 10, 110, 80});\n char storage[SkRRect::kSizeInMemory];\n rrect.writeToMemory(storage);\n SkRRect copy;\n copy.readFromMemory(storage, sizeof(storage));\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setTextAlign(SkPaint::kCenter_Align);\n canvas->drawString(\"rrect\", 55, 100, paint);\n canvas->drawString(\"copy\", 185, 100, paint); \n paint.setStyle(SkPaint::kStroke_Style);\n canvas->drawRRect(rrect, paint);\n canvas->translate(120, 0);\n canvas->drawRRect(copy, paint);\n}", "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "height": 110, + "hash": "1466c844a78fd05a7362537347e360ca", "file": "SkRRect_Reference", "name": "SkRRect::writeToMemory" }, diff --git a/site/user/api/index.md b/site/user/api/index.md index 1e116e721d..bfb0493c93 100644 --- a/site/user/api/index.md +++ b/site/user/api/index.md @@ -7,7 +7,10 @@ Full references with examples are available for: * [SkAutoCanvasRestore](/user/api/SkAutoCanvasRestore_Reference) - Canvas save stack manager * [SkBitmap](/user/api/SkBitmap_Reference) - two-dimensional raster pixel array +* [SkBlendMode](/user/api/SkBlendMode_Reference) - pixel color arithmetic * [SkCanvas](/user/api/SkCanvas_Reference) - drawing context +* [SkColor](/user/api/SkColor_Reference) - color encoding using integer numbers +* [SkColor4f](/user/api/SkColor4f_Reference) - color encoding using floating point numbers * [SkImage](/user/api/SkImage_Reference) - two dimensional array of pixels to draw * [SkImageInfo](/user/api/SkImageInfo_Reference) - pixel dimensions and characteristics * [SkIPoint](/user/api/SkIPoint_Reference) - two integer coordinates @@ -16,8 +19,10 @@ Full references with examples are available for: * [SkMatrix](/user/api/SkMatrix_Reference) - 3x3 transformation matrix * [SkPaint](/user/api/SkPaint_Reference) - color, stroke, font, effects * [SkPath](/user/api/SkPath_Reference) - sequence of connected lines and curves +* [SkPicture](/user/api/SkPicture_Reference) - sequence of drawing commands * [SkPixmap](/user/api/SkPixmap_Reference) - pixel map: image info and pixel address * [SkPoint](/user/api/SkPoint_Reference) - two floating point coordinates +* [SkRRect](/user/api/SkRRect_Reference) - floating point rounded rectangle * [SkRect](/user/api/SkRect_Reference) - floating point rectangle * [SkSurface](/user/api/SkSurface_Reference) - drawing destination diff --git a/site/user/api/undocumented.md b/site/user/api/undocumented.md index 26e9795b37..45e5551cb2 100644 --- a/site/user/api/undocumented.md +++ b/site/user/api/undocumented.md @@ -284,16 +284,12 @@ void <a href='#GrContext_flush'>flush</a>() ## <a name='ArcTo'>ArcTo</a> -# <a name='HTML_DarkGray'>HTML DarkGray</a> - # <a name='HTML_Fuchsia'>HTML Fuchsia</a> # <a name='HTML_Gray'>HTML Gray</a> # <a name='HTML_Green'>HTML Green</a> -# <a name='HTML_LightGray'>HTML LightGray</a> - # <a name='HTML_Lime'>HTML Lime</a> # <a name='HTML_Silver'>HTML Silver</a> diff --git a/site/user/api/usingBookmaker.md b/site/user/api/usingBookmaker.md index 348d1c6704..684e906ed5 100644 --- a/site/user/api/usingBookmaker.md +++ b/site/user/api/usingBookmaker.md @@ -100,6 +100,12 @@ which will be ignored. ## <a name='Installing'>Installing</a> Install <a href='https://golang.org/doc/install'>Go</a></a> if needed. +Check the version. The resuls should be 1.10 or greater. + +<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> +$ go version +</pre> + Get the fiddle command line interface tool. By default this will appear in your home directory. |