diff options
author | Cary Clark <caryclark@skia.org> | 2018-06-27 11:00:21 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-27 15:47:45 +0000 |
commit | 224c700a1fb0b7f6abd85a9729d29cbbdf5872dd (patch) | |
tree | 7d480bf6340a28bf71c89a8b837c9f022f75ca3f /site/user/api/SkCanvas_Reference.md | |
parent | a1ac841b1a367c6b319b90ec04911e7e4cd9ad93 (diff) |
sync docs up with tip of tree
Also check in work in progress for blend modes,
round rects, and a placeholder for pictures.
One minor include change to add a parameter name
for SkBlendMode function.
TBR=reed@google.com
R=caryclark@google.com
Docs-Preview: https://skia.org/?cl=134200
Bug: skia:6898
Change-Id: I5d2a9221d61edb32d9c7edbb3193401605b2b513
Reviewed-on: https://skia-review.googlesource.com/134200
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'site/user/api/SkCanvas_Reference.md')
-rw-r--r-- | site/user/api/SkCanvas_Reference.md | 367 |
1 files changed, 176 insertions, 191 deletions
diff --git a/site/user/api/SkCanvas_Reference.md b/site/user/api/SkCanvas_Reference.md index 5c391e0245..3239e20199 100644 --- a/site/user/api/SkCanvas_Reference.md +++ b/site/user/api/SkCanvas_Reference.md @@ -18,7 +18,7 @@ Request <a href='#Canvas'>Canvas</a> from <a href='SkSurface_Reference#Surface'> <a href='#Canvas'>Canvas</a> generated by <a href='undocumented#Raster_Surface'>Raster Surface</a> draws to memory visible to the CPU. <a href='#Canvas'>Canvas</a> generated by <a href='undocumented#GPU_Surface'>GPU Surface</a> uses Vulkan or OpenGL to draw to the GPU. -To draw to a document, obtain <a href='#Canvas'>Canvas</a> from <a href='undocumented#Canvas'>SVG Canvas</a>, <a href='undocumented#PDF'>Document PDF</a>, or <a href='undocumented#Recorder'>Picture Recorder</a>. +To draw to a document, obtain <a href='#Canvas'>Canvas</a> from <a href='undocumented#Canvas'>SVG Canvas</a>, <a href='undocumented#PDF'>Document PDF</a>, or <a href='undocumented#Picture_Recorder'>Picture Recorder</a>. <a href='undocumented#Document'>Document</a> based <a href='#Canvas'>Canvas</a> and other <a href='#Canvas'>Canvas</a> <a href='undocumented#Subclasses'>Subclasses</a> reference <a href='undocumented#Device'>Device</a> describing the destination. @@ -114,7 +114,6 @@ SkCanvas global, <code>struct</code>, and <code>class</code> related member func </tr> </table> - ## <a name='Constant'>Constant</a> @@ -123,33 +122,33 @@ SkCanvas related constants are defined by <code>enum</code>, <code>enum class</c <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Topic</th> <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='#SkCanvas_ColorBehavior_kLegacy'>ColorBehavior::kLegacy</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>placeholder</td> + </tr> + <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_ColorBehavior'>ColorBehavior</a></td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>exists for Android framework only</td> </tr> - <tr> + <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_PointMode'>PointMode</a></td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets <a href='#SkCanvas_drawPoints'>drawPoints</a> options</td> </tr> - <tr style='background-color: #f0f0f0; '> + <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_SaveLayerFlagsSet'>SaveLayerFlagsSet</a></td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a> options</td> </tr> - <tr> + <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a></td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets <a href='#SkCanvas_drawImageRect'>drawImageRect</a> options</td> </tr> - <tr style='background-color: #f0f0f0; '> + <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_kFast_SrcRectConstraint'>kFast SrcRectConstraint</a></td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sample outside bounds; faster</td> </tr> - <tr> + <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_kInitWithPrevious_SaveLayerFlag'>kInitWithPrevious SaveLayerFlag</a></td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>initializes with previous contents</td> </tr> - <tr style='background-color: #f0f0f0; '> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_ColorBehavior_kLegacy'>ColorBehavior::kLegacy</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>placeholder</td> - </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_kLines_PointMode'>kLines PointMode</a></td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draw each pair of points as a line segment</td> @@ -172,7 +171,6 @@ SkCanvas related constants are defined by <code>enum</code>, <code>enum class</c </tr> </table> - ## <a name='Struct'>Struct</a> @@ -190,7 +188,6 @@ SkCanvas uses C++ structs to declare the public data structures and interfaces. </tr> </table> - ## <a name='Typedef'>Typedef</a> @@ -204,7 +201,6 @@ SkCanvas <code>typedef</code> define a data type. </tr> </table> - ## <a name='Constructor'>Constructor</a> Create the desired type of <a href='SkSurface_Reference#Surface'>Surface</a> to obtain its <a href='#Canvas'>Canvas</a> when possible. Useful @@ -253,7 +249,6 @@ SkCanvas can be constructed or initialized by these functions, including C++ cla </tr> </table> - ## <a name='Member_Function'>Member Function</a> @@ -291,7 +286,7 @@ SkCanvas member functions read and modify the structure properties. </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_clipRRect'>clipRRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>combines <a href='#Clip'>Clip</a> with <a href='undocumented#Round_Rect'>Round Rect</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>combines <a href='#Clip'>Clip</a> with <a href='SkRRect_Reference#RRect'>Round Rect</a></td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_clipRect'>clipRect</a></td> @@ -343,11 +338,11 @@ SkCanvas 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='#SkCanvas_drawColor'>drawColor</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>fills <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> and <a href='undocumented#Blend_Mode'>Blend Mode</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>fills <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a></td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawDRRect'>drawDRRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws double <a href='undocumented#Round_Rect'>Round Rect</a> stroked or filled</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws double <a href='SkRRect_Reference#RRect'>Round Rect</a> stroked or filled</td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawDrawable'>drawDrawable</a></td> @@ -395,7 +390,7 @@ SkCanvas member functions read and modify the structure properties. </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawPicture'>drawPicture</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='undocumented#Picture'>Picture</a> using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='SkPicture_Reference#Picture'>Picture</a> using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a></td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawPoint'>drawPoint</a></td> @@ -415,7 +410,7 @@ SkCanvas 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='#SkCanvas_drawRRect'>drawRRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='undocumented#Round_Rect'>Round Rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='SkRRect_Reference#RRect'>Round Rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a></td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawRect'>drawRect</a></td> @@ -427,7 +422,7 @@ SkCanvas member functions read and modify the structure properties. </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawRoundRect'>drawRoundRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='undocumented#Round_Rect'>Round Rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='SkRRect_Reference#RRect'>Round Rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a></td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawString'>drawString</a></td> @@ -575,7 +570,6 @@ SkCanvas member functions read and modify the structure properties. </tr> </table> - <a name='SkCanvas_MakeRasterDirect'></a> ## MakeRasterDirect @@ -873,8 +867,6 @@ storage of <a href='undocumented#Raster_Surface'>Raster Surface</a></td> ## <a name='SkCanvas_ColorBehavior'>Enum SkCanvas::ColorBehavior</a> -Android framework only. - <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> enum class <a href='#SkCanvas_ColorBehavior'>ColorBehavior</a> { <a href='#SkCanvas_ColorBehavior_kLegacy'>kLegacy</a>, @@ -1039,7 +1031,6 @@ transparent letters. </tr> </table> - <a name='SkCanvas_getMetaData'></a> ## getMetaData @@ -1171,7 +1162,6 @@ isRGB:1 </tr> </table> - <a name='SkCanvas_flush'></a> ## flush @@ -1421,7 +1411,6 @@ context = skia </tr> </table> - <a name='SkCanvas_peekPixels'></a> ## peekPixels @@ -2058,7 +2047,7 @@ is restored, the <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> is drawn into th <a href='#Layer'>Layer</a> may be initialized with the contents of the previous <a href='#Layer'>Layer</a>. When <a href='#Layer'>Layer</a> is restored, its <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> can be modified by <a href='SkPaint_Reference#Paint'>Paint</a> passed to <a href='#Layer'>Layer</a> to apply -<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='undocumented#Blend_Mode'>Blend Mode</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>. <a name='SkCanvas_saveLayer'></a> ## saveLayer @@ -2080,7 +2069,7 @@ and draws the <a href='SkBitmap_Reference#Bitmap'>Bitmap</a>. a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>. Optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_saveLayer_paint'>paint</a> applies <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='undocumented#Blend_Mode'>Blend Mode</a> when <a href='#SkCanvas_restore'>restore</a> is called. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> when <a href='#SkCanvas_restore'>restore</a> is called. Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a> with returned value to restore this and subsequent saves. @@ -2129,7 +2118,7 @@ and draws the <a href='SkBitmap_Reference#Bitmap'>Bitmap</a>. a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>. Optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_saveLayer_2_paint'>paint</a> applies <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='undocumented#Blend_Mode'>Blend Mode</a> when <a href='#SkCanvas_restore'>restore</a> is called. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> when <a href='#SkCanvas_restore'>restore</a> is called. Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a> with returned value to restore this and subsequent saves. @@ -2182,7 +2171,7 @@ and draws <a href='#Layer'>Layer</a>. a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>. Optional <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_saveLayerPreserveLCDTextRequests_paint'>paint</a> applies <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='undocumented#Blend_Mode'>Blend Mode</a> when <a href='#SkCanvas_restore'>restore</a> is called. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> when <a href='#SkCanvas_restore'>restore</a> is called. Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a> with returned value to restore this and subsequent saves. @@ -2334,8 +2323,8 @@ scalePaint blends <a href='#Layer'>Layer</a> back with transparency. # <a name='SkCanvas_SaveLayerRec'>Struct SkCanvas::SaveLayerRec</a> <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - struct <a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> { - <a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a>*(... + struct <a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> { + <a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a>*(... const <a href='SkRect_Reference#SkRect'>SkRect</a>* <a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a>; const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='#SkCanvas_SaveLayerRec_fPaint'>fPaint</a>; @@ -2344,7 +2333,7 @@ scalePaint blends <a href='#Layer'>Layer</a> back with transparency. }; </pre> -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> contains the state used to create the <a href='#Layer'>Layer</a>. +<a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> contains the state used to create the <a href='#Layer'>Layer</a>. ## <a name='Layer_SaveLayerRec_Overview'>Layer SaveLayerRec Overview</a> @@ -2370,7 +2359,6 @@ scalePaint blends <a href='#Layer'>Layer</a> back with transparency. <th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> </table> - ### Members <table style='border-collapse: collapse; width: 62.5em'> @@ -2391,7 +2379,7 @@ a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>. <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_SaveLayerRec_fPaint'><code>fPaint</code></a></td> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> <a href='#SkCanvas_SaveLayerRec_fPaint'>fPaint</a> modifies how <a href='#Layer'>Layer</a> overlays the prior <a href='#Layer'>Layer</a>; may be nullptr. -<a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Draw_Looper'>Draw Looper</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and +<a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Draw_Looper'>Draw Looper</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='undocumented#Mask_Filter'>Mask Filter</a> affect <a href='#Layer'>Layer</a> draw. </td> </tr> @@ -2447,19 +2435,18 @@ transferred to the main canvas. <th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> </table> - -<a name='SkCanvas_SaveLayerRec_SaveLayerRec'></a> +<a name='SkCanvas_SaveLayerRec_empty_constructor'></a> ## SaveLayerRec <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a>() +<a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a>() </pre> Sets <a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a>, <a href='#SkCanvas_SaveLayerRec_fPaint'>fPaint</a>, and <a href='#SkCanvas_SaveLayerRec_fBackdrop'>fBackdrop</a> to nullptr. Clears <a href='#SkCanvas_SaveLayerRec_fSaveLayerFlags'>fSaveLayerFlags</a>. ### Return Value -empty <a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> +empty <a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> ### Example @@ -2479,30 +2466,31 @@ rec1 == rec2 --- -<a name='SkCanvas_SaveLayerRec_SaveLayerRec_2'></a> +<a name='SkCanvas_const_SkRect_star_const_SkPaint_star'></a> +## SaveLayerRec <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>* bounds, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, <a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> saveLayerFlags = 0) +<a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>* bounds, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, <a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> saveLayerFlags = 0) </pre> Sets <a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a>, <a href='#SkCanvas_SaveLayerRec_fPaint'>fPaint</a>, and <a href='#SkCanvas_SaveLayerRec_fSaveLayerFlags'>fSaveLayerFlags</a>; sets <a href='#SkCanvas_SaveLayerRec_fBackdrop'>fBackdrop</a> to nullptr. ### Parameters -<table> <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_2_bounds'><code><strong>bounds</strong></code></a></td> +<table> <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_bounds'><code><strong>bounds</strong></code></a></td> <td><a href='#Layer'>Layer</a> dimensions; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_2_paint'><code><strong>paint</strong></code></a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_paint'><code><strong>paint</strong></code></a></td> <td>applied to <a href='#Layer'>Layer</a> when overlaying prior <a href='#Layer'>Layer</a>; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_2_saveLayerFlags'><code><strong>saveLayerFlags</strong></code></a></td> - <td><a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> options to modify <a href='#Layer'>Layer</a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_saveLayerFlags'><code><strong>saveLayerFlags</strong></code></a></td> + <td><a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> options to modify <a href='#Layer'>Layer</a></td> </tr> </table> ### Return Value -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> with empty backdrop +<a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> with empty backdrop ### Example @@ -2522,10 +2510,11 @@ rec1 == rec2 --- -<a name='SkCanvas_SaveLayerRec_SaveLayerRec_3'></a> +<a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star'></a> +## SaveLayerRec <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>* bounds, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, const <a href='undocumented#SkImageFilter'>SkImageFilter</a>* backdrop, +<a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>* bounds, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, const <a href='undocumented#SkImageFilter'>SkImageFilter</a>* backdrop, <a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> saveLayerFlags) </pre> @@ -2533,24 +2522,24 @@ Sets <a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a>, <a href='#SkCanvas_Sa ### Parameters -<table> <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_3_bounds'><code><strong>bounds</strong></code></a></td> +<table> <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_bounds'><code><strong>bounds</strong></code></a></td> <td><a href='#Layer'>Layer</a> dimensions; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_3_paint'><code><strong>paint</strong></code></a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_paint'><code><strong>paint</strong></code></a></td> <td>applied to <a href='#Layer'>Layer</a> when overlaying prior <a href='#Layer'>Layer</a>; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_3_backdrop'><code><strong>backdrop</strong></code></a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_backdrop'><code><strong>backdrop</strong></code></a></td> <td>prior <a href='#Layer'>Layer</a> copied with <a href='undocumented#Image_Filter'>Image Filter</a>; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_3_saveLayerFlags'><code><strong>saveLayerFlags</strong></code></a></td> - <td><a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> options to modify <a href='#Layer'>Layer</a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_saveLayerFlags'><code><strong>saveLayerFlags</strong></code></a></td> + <td><a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> options to modify <a href='#Layer'>Layer</a></td> </tr> </table> ### Return Value -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> fully specified +<a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> fully specified ### Example @@ -2570,49 +2559,50 @@ rec1 == rec2 --- -<a name='SkCanvas_SaveLayerRec_SaveLayerRec_4'></a> +<a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star'></a> +## SaveLayerRec <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>* bounds, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, const <a href='undocumented#SkImageFilter'>SkImageFilter</a>* backdrop, +<a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>* bounds, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint, const <a href='undocumented#SkImageFilter'>SkImageFilter</a>* backdrop, const <a href='SkImage_Reference#SkImage'>SkImage</a>* clipMask, const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* clipMatrix, <a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> saveLayerFlags) </pre> Experimental. not readySets <a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a>, <a href='#SkCanvas_SaveLayerRec_fPaint'>fPaint</a>, <a href='#SkCanvas_SaveLayerRec_fBackdrop'>fBackdrop</a>, <a href='#SkCanvas_SaveLayerRec_fClipMask'>fClipMask</a>, <a href='#SkCanvas_SaveLayerRec_fClipMatrix'>fClipMatrix</a>, and <a href='#SkCanvas_SaveLayerRec_fSaveLayerFlags'>fSaveLayerFlags</a>. -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMatrix'>clipMatrix</a> uses <a href='SkColor_Reference#Alpha'>Color Alpha</a> channel of image, transformed by <a href='#SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMatrix'>clipMatrix</a>, to clip +<a href='#SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_clipMatrix'>clipMatrix</a> uses <a href='SkColor_Reference#Alpha'>Color Alpha</a> channel of image, transformed by <a href='#SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_clipMatrix'>clipMatrix</a>, to clip <a href='#Layer'>Layer</a> when drawn to <a href='#Canvas'>Canvas</a>. Implementation is not complete; has no effect if <a href='undocumented#Device'>Device</a> is GPU-backed. ### Parameters -<table> <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_4_bounds'><code><strong>bounds</strong></code></a></td> +<table> <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_bounds'><code><strong>bounds</strong></code></a></td> <td><a href='#Layer'>Layer</a> dimensions; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_4_paint'><code><strong>paint</strong></code></a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_paint'><code><strong>paint</strong></code></a></td> <td>graphics state applied to <a href='#Layer'>Layer</a> when overlaying prior <a href='#Layer'>Layer</a>; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_4_backdrop'><code><strong>backdrop</strong></code></a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_backdrop'><code><strong>backdrop</strong></code></a></td> <td>prior <a href='#Layer'>Layer</a> copied with <a href='undocumented#Image_Filter'>Image Filter</a>; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMask'><code><strong>clipMask</strong></code></a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_clipMask'><code><strong>clipMask</strong></code></a></td> <td>clip applied to <a href='#Layer'>Layer</a>; may be nullptr</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMatrix'><code><strong>clipMatrix</strong></code></a></td> - <td>matrix applied to <a href='#SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMask'>clipMask</a>; may be nullptr to use + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_clipMatrix'><code><strong>clipMatrix</strong></code></a></td> + <td>matrix applied to <a href='#SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_clipMask'>clipMask</a>; may be nullptr to use identity matrix</td> </tr> - <tr> <td><a name='SkCanvas_SaveLayerRec_SaveLayerRec_4_saveLayerFlags'><code><strong>saveLayerFlags</strong></code></a></td> - <td><a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> options to modify <a href='#Layer'>Layer</a></td> + <tr> <td><a name='SkCanvas_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_const_SkImage_star_const_SkMatrix_star_saveLayerFlags'><code><strong>saveLayerFlags</strong></code></a></td> + <td><a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> options to modify <a href='#Layer'>Layer</a></td> </tr> </table> ### Return Value -<a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a> fully specified +<a href='#SkCanvas_SaveLayerRec_empty_constructor'>SaveLayerRec</a> fully specified ### See Also @@ -2654,7 +2644,7 @@ depth of save state stack ### Example <div><fiddle-embed name="7d3751e82d1b6ec328ffa3d6f48ca831"><div>The example draws an image, and saves it into a <a href='#Layer'>Layer</a> with <a href='#SkCanvas_kInitWithPrevious_SaveLayerFlag'>kInitWithPrevious SaveLayerFlag</a>. -Next it punches a hole in <a href='#Layer'>Layer</a> and restore with <a href='undocumented#SkBlendMode_kPlus'>SkBlendMode::kPlus</a>. +Next it punches a hole in <a href='#Layer'>Layer</a> and restore with <a href='SkBlendMode_Reference#SkBlendMode_kPlus'>SkBlendMode::kPlus</a>. Where <a href='#Layer'>Layer</a> was cleared, the original image will draw unchanged. Outside of the circle the mandrill is brightened. </div></fiddle-embed></div> @@ -2989,7 +2979,7 @@ If clipping <a href='SkPath_Reference#Path'>Path</a> has <a href='SkPaint_Refere that drawing blend partially with the destination along the edge. A rotated rectangular <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip looks smoother but draws slower. -<a href='#Clip'>Clip</a> can combine with <a href='SkRect_Reference#Rect'>Rect</a> and <a href='undocumented#Round_Rect'>Round Rect</a> primitives; like +<a href='#Clip'>Clip</a> can combine with <a href='SkRect_Reference#Rect'>Rect</a> and <a href='SkRRect_Reference#RRect'>Round Rect</a> primitives; like <a href='SkPath_Reference#Path'>Path</a>, these are transformed by <a href='#Matrix'>Matrix</a> before they are combined with <a href='#Clip'>Clip</a>. <a href='#Clip'>Clip</a> can combine with <a href='undocumented#Region'>Region</a>. <a href='undocumented#Region'>Region</a> is assumed to be in <a href='undocumented#Device'>Device</a> coordinates @@ -3115,8 +3105,6 @@ The clip restriction is not recorded in pictures. Pass an empty <a href='#SkCanvas_androidFramework_setDeviceClipRestriction_rect'>rect</a> to disable maximum clip. -This private API is for use by Android framework only. - ### Parameters <table> <tr> <td><a name='SkCanvas_androidFramework_setDeviceClipRestriction_rect'><code><strong>rect</strong></code></a></td> @@ -3130,7 +3118,7 @@ This private API is for use by Android framework only. ## clipRRect <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='undocumented#SkRRect'>SkRRect</a>& rrect, <a href='undocumented#SkClipOp'>SkClipOp</a> op, bool doAntiAlias) +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>, @@ -3141,7 +3129,7 @@ before it is combined with <a href='#Clip'>Clip</a>. ### Parameters <table> <tr> <td><a name='SkCanvas_clipRRect_rrect'><code><strong>rrect</strong></code></a></td> - <td><a href='undocumented#Round_Rect'>Round Rect</a> to combine with <a href='#Clip'>Clip</a></td> + <td><a href='SkRRect_Reference#RRect'>Round Rect</a> to combine with <a href='#Clip'>Clip</a></td> </tr> <tr> <td><a name='SkCanvas_clipRRect_op'><code><strong>op</strong></code></a></td> <td><a href='undocumented#Clip_Op'>Clip Op</a> to apply to <a href='#Clip'>Clip</a></td> @@ -3164,7 +3152,7 @@ before it is combined with <a href='#Clip'>Clip</a>. <a name='SkCanvas_clipRRect_2'></a> <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='undocumented#SkRRect'>SkRRect</a>& rrect, <a href='undocumented#SkClipOp'>SkClipOp</a> op) +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>. @@ -3174,7 +3162,7 @@ Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; ### Parameters <table> <tr> <td><a name='SkCanvas_clipRRect_2_rrect'><code><strong>rrect</strong></code></a></td> - <td><a href='undocumented#Round_Rect'>Round Rect</a> to combine with <a href='#Clip'>Clip</a></td> + <td><a href='SkRRect_Reference#RRect'>Round Rect</a> to combine with <a href='#Clip'>Clip</a></td> </tr> <tr> <td><a name='SkCanvas_clipRRect_2_op'><code><strong>op</strong></code></a></td> <td><a href='undocumented#Clip_Op'>Clip Op</a> to apply to <a href='#Clip'>Clip</a></td> @@ -3194,7 +3182,7 @@ Resulting <a href='#Clip'>Clip</a> is <a href='undocumented#Alias'>Aliased</a>; <a name='SkCanvas_clipRRect_3'></a> <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='undocumented#SkRRect'>SkRRect</a>& rrect, bool doAntiAlias = false) +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>, @@ -3204,7 +3192,7 @@ with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#A ### Parameters <table> <tr> <td><a name='SkCanvas_clipRRect_3_rrect'><code><strong>rrect</strong></code></a></td> - <td><a href='undocumented#Round_Rect'>Round Rect</a> to combine with <a href='#Clip'>Clip</a></td> + <td><a href='SkRRect_Reference#RRect'>Round Rect</a> to combine with <a href='#Clip'>Clip</a></td> </tr> <tr> <td><a name='SkCanvas_clipRRect_3_doAntiAlias'><code><strong>doAntiAlias</strong></code></a></td> <td>true if <a href='#Clip'>Clip</a> is to be <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a></td> @@ -3689,11 +3677,11 @@ device bounds empty = true </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawColor'>drawColor</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>fills <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> and <a href='undocumented#Blend_Mode'>Blend Mode</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>fills <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a></td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawDRRect'>drawDRRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws double <a href='undocumented#Round_Rect'>Round Rect</a> stroked or filled</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws double <a href='SkRRect_Reference#RRect'>Round Rect</a> stroked or filled</td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawDrawable'>drawDrawable</a></td> @@ -3749,7 +3737,7 @@ device bounds empty = true </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawPicture'>drawPicture</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='undocumented#Picture'>Picture</a> using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='SkPicture_Reference#Picture'>Picture</a> using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a></td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '></td> @@ -3785,7 +3773,7 @@ device bounds empty = true </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawRRect'>drawRRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='undocumented#Round_Rect'>Round Rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='SkRRect_Reference#RRect'>Round Rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a></td> </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawRect'>drawRect</a></td> @@ -3797,7 +3785,7 @@ device bounds empty = true </tr> <tr style='background-color: #f0f0f0; '> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawRoundRect'>drawRoundRect</a></td> - <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='undocumented#Round_Rect'>Round Rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>draws <a href='SkRRect_Reference#RRect'>Round Rect</a> using <a href='#Clip'>Clip</a>, <a href='#Matrix'>Matrix</a>, and <a href='SkPaint_Reference#Paint'>Paint</a></td> </tr> <tr> <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkCanvas_drawVertices'>drawVertices</a></td> @@ -3813,12 +3801,11 @@ device bounds empty = true </tr> </table> - <a name='SkCanvas_drawColor'></a> ## drawColor <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_drawColor'>drawColor</a>(<a href='SkColor_Reference#SkColor'>SkColor</a> color, <a href='undocumented#SkBlendMode'>SkBlendMode</a> mode = <a href='undocumented#SkBlendMode_kSrcOver'>SkBlendMode::kSrcOver</a>) +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>. @@ -3830,7 +3817,7 @@ Fill <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> < <td><a href='undocumented#Unpremultiply'>Unpremultiplied</a> ARGB</td> </tr> <tr> <td><a name='SkCanvas_drawColor_mode'><code><strong>mode</strong></code></a></td> - <td><a href='undocumented#SkBlendMode'>SkBlendMode</a> used to combine source <a href='#SkCanvas_drawColor_color'>color</a> and destination</td> + <td><a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> used to combine source <a href='#SkCanvas_drawColor_color'>color</a> and destination</td> </tr> </table> @@ -3851,7 +3838,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='undocumented#SkBlendMode_kSrc'>SkBlendMode::kSrc</a>. +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>. This has the effect of replacing all pixels contained by <a href='#Clip'>Clip</a> with <a href='#SkCanvas_clear_color'>color</a>. ### Parameters @@ -3879,7 +3866,7 @@ 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, -such as drawing with <a href='undocumented#SkBlendMode'>SkBlendMode</a>, return undefined results. <a href='#SkCanvas_discard'>discard</a> does +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>. <a href='#SkCanvas_discard'>discard</a> may do nothing, depending on the implementation of <a href='SkSurface_Reference#Surface'>Surface</a> or <a href='undocumented#Device'>Device</a> @@ -3904,7 +3891,7 @@ void <a href='#SkCanvas_drawPaint'>drawPaint</a>(const <a href='SkPaint_Referenc </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>, -<a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='undocumented#Blend_Mode'>Blend Mode</a> affect drawing; +<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. ### Parameters @@ -4331,10 +4318,10 @@ if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> desc ## drawRRect <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_drawRRect'>drawRRect</a>(const <a href='undocumented#SkRRect'>SkRRect</a>& rrect, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) +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='undocumented#Round_Rect'>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>. +<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>. 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. @@ -4344,7 +4331,7 @@ may have any combination of positive non-square radii for the four corners. ### Parameters <table> <tr> <td><a name='SkCanvas_drawRRect_rrect'><code><strong>rrect</strong></code></a></td> - <td><a href='undocumented#Round_Rect'>Round Rect</a> with up to eight corner radii to draw</td> + <td><a href='SkRRect_Reference#RRect'>Round Rect</a> with up to eight corner radii to draw</td> </tr> <tr> <td><a name='SkCanvas_drawRRect_paint'><code><strong>paint</strong></code></a></td> <td><a href='SkPaint_Reference#Paint'>Paint</a> stroke or fill, blend, color, and so on, used to draw</td> @@ -4365,15 +4352,15 @@ may have any combination of positive non-square radii for the four corners. ## drawDRRect <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_drawDRRect'>drawDRRect</a>(const <a href='undocumented#SkRRect'>SkRRect</a>& outer, const <a href='undocumented#SkRRect'>SkRRect</a>& inner, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) +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='undocumented#Round_Rect'>Round Rect</a> <a href='#SkCanvas_drawDRRect_outer'>outer</a> and <a href='#SkCanvas_drawDRRect_inner'>inner</a> +<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> 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='undocumented#Round_Rect'>Round Rect</a> is stroked or filled; +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; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness. -If stroked and <a href='undocumented#Round_Rect'>Round Rect</a> corner has zero length radii, <a href='SkPaint_Reference#Stroke_Join'>Paint Stroke Join</a> can +If stroked and <a href='SkRRect_Reference#RRect'>Round Rect</a> corner has zero length radii, <a href='SkPaint_Reference#Stroke_Join'>Paint Stroke Join</a> can draw corners rounded or square. GPU-backed platforms optimize drawing when both <a href='#SkCanvas_drawDRRect_outer'>outer</a> and <a href='#SkCanvas_drawDRRect_inner'>inner</a> are @@ -4383,10 +4370,10 @@ concave and <a href='#SkCanvas_drawDRRect_outer'>outer</a> contains <a href='#Sk ### Parameters <table> <tr> <td><a name='SkCanvas_drawDRRect_outer'><code><strong>outer</strong></code></a></td> - <td><a href='undocumented#Round_Rect'>Round Rect</a> <a href='#SkCanvas_drawDRRect_outer'>outer</a> bounds to draw</td> + <td><a href='SkRRect_Reference#RRect'>Round Rect</a> <a href='#SkCanvas_drawDRRect_outer'>outer</a> bounds to draw</td> </tr> <tr> <td><a name='SkCanvas_drawDRRect_inner'><code><strong>inner</strong></code></a></td> - <td><a href='undocumented#Round_Rect'>Round Rect</a> <a href='#SkCanvas_drawDRRect_inner'>inner</a> bounds to draw</td> + <td><a href='SkRRect_Reference#RRect'>Round Rect</a> <a href='#SkCanvas_drawDRRect_inner'>inner</a> bounds to draw</td> </tr> <tr> <td><a name='SkCanvas_drawDRRect_paint'><code><strong>paint</strong></code></a></td> <td><a href='SkPaint_Reference#Paint'>Paint</a> stroke or fill, blend, color, and so on, used to draw</td> @@ -4400,8 +4387,8 @@ concave and <a href='#SkCanvas_drawDRRect_outer'>outer</a> contains <a href='#Sk ### Example <div><fiddle-embed name="30823cb4edf884d330285ea161664931"><div>Outer <a href='SkRect_Reference#Rect'>Rect</a> has no corner radii, but stroke join is rounded. -Inner <a href='undocumented#Round_Rect'>Round Rect</a> has corner radii; outset stroke increases radii of corners. -Stroke join does not affect <a href='#SkCanvas_drawDRRect_inner'>inner</a> <a href='undocumented#Round_Rect'>Round Rect</a> since it has no sharp corners. +Inner <a href='SkRRect_Reference#RRect'>Round Rect</a> has corner radii; outset stroke increases radii of corners. +Stroke join does not affect <a href='#SkCanvas_drawDRRect_inner'>inner</a> <a href='SkRRect_Reference#RRect'>Round Rect</a> since it has no sharp corners. </div></fiddle-embed></div> ### See Also @@ -4544,20 +4531,20 @@ 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='undocumented#Round_Rect'>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='#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>, <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='undocumented#Round_Rect'>Round Rect</a> is stroked or filled; +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; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness. If <a href='#SkCanvas_drawRoundRect_rx'>rx</a> or <a href='#SkCanvas_drawRoundRect_ry'>ry</a> are less than zero, they are treated as if they are zero. If <a href='#SkCanvas_drawRoundRect_rx'>rx</a> plus <a href='#SkCanvas_drawRoundRect_ry'>ry</a> exceeds <a href='#SkCanvas_drawRoundRect_rect'>rect</a> width or <a href='#SkCanvas_drawRoundRect_rect'>rect</a> height, radii are scaled down to fit. -If <a href='#SkCanvas_drawRoundRect_rx'>rx</a> and <a href='#SkCanvas_drawRoundRect_ry'>ry</a> are zero, <a href='undocumented#Round_Rect'>Round Rect</a> is drawn as <a href='SkRect_Reference#Rect'>Rect</a> and if stroked is affected by +If <a href='#SkCanvas_drawRoundRect_rx'>rx</a> and <a href='#SkCanvas_drawRoundRect_ry'>ry</a> are zero, <a href='SkRRect_Reference#RRect'>Round Rect</a> is drawn as <a href='SkRect_Reference#Rect'>Rect</a> and if stroked is affected by <a href='SkPaint_Reference#Stroke_Join'>Paint Stroke Join</a>. ### Parameters <table> <tr> <td><a name='SkCanvas_drawRoundRect_rect'><code><strong>rect</strong></code></a></td> - <td><a href='SkRect_Reference#Rect'>Rect</a> bounds of <a href='undocumented#Round_Rect'>Round Rect</a> to draw</td> + <td><a href='SkRect_Reference#Rect'>Rect</a> bounds of <a href='SkRRect_Reference#RRect'>Round Rect</a> to draw</td> </tr> <tr> <td><a name='SkCanvas_drawRoundRect_rx'><code><strong>rx</strong></code></a></td> <td>axis length on x-axis of oval describing rounded corners</td> @@ -4594,7 +4581,7 @@ void <a href='#SkCanvas_drawPath'>drawPath</a>(const <a href='SkPath_Reference#S <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>. <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='undocumented#Round_Rect'>Round Rect</a> is stroked or filled: +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: if filled, <a href='SkPath_Reference#Fill_Type'>Path Fill Type</a> determines whether <a href='SkPath_Reference#Contour'>Path Contour</a> describes inside or outside of fill; if stroked, <a href='SkPaint_Reference#Stroke_Width'>Paint Stroke Width</a> describes the line thickness, <a href='SkPaint_Reference#Stroke_Cap'>Paint Stroke Cap</a> describes line ends, and <a href='SkPaint_Reference#Stroke_Join'>Paint Stroke Join</a> describes how @@ -4641,7 +4628,7 @@ void <a href='#SkCanvas_drawImage'>drawImage</a>(const <a href='SkImage_Referenc <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>), 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='undocumented#Blend_Mode'>Blend Mode</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>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImage_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImage_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawImage_image'>image</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawImage_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImage_image'>image</a> edge colors, just as <a href='undocumented#Shader'>Shader</a> @@ -4660,7 +4647,7 @@ made from <a href='SkImage_Reference#SkImage_makeShader'>SkImage::makeShader</a> <td><a href='#SkCanvas_drawImage_top'>top</a> side of <a href='#SkCanvas_drawImage_image'>image</a></td> </tr> <tr> <td><a name='SkCanvas_drawImage_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> </table> @@ -4686,7 +4673,7 @@ void <a href='#SkCanvas_drawImage'>drawImage</a>(const <a href='undocumented#sk_ 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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImage_2_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImage_2_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImage_2_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawImage_2_image'>image</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawImage_2_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImage_2_image'>image</a> edge colors, just as <a href='undocumented#Shader'>Shader</a> made from <a href='SkImage_Reference#SkImage_makeShader'>SkImage::makeShader</a> with <a href='undocumented#SkShader_kClamp_TileMode'>SkShader::kClamp TileMode</a> set replicates the @@ -4704,7 +4691,7 @@ made from <a href='SkImage_Reference#SkImage_makeShader'>SkImage::makeShader</a> <td>pop side of <a href='#SkCanvas_drawImage_2_image'>image</a></td> </tr> <tr> <td><a name='SkCanvas_drawImage_2_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> </table> @@ -4787,7 +4774,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_ 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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageRect_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawImageRect_image'>image</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawImageRect_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImageRect_image'>image</a> edge colors, just @@ -4810,7 +4797,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageRect_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_constraint'><code><strong>constraint</strong></code></a></td> @@ -4846,7 +4833,7 @@ boundaries. Additionally transform draw using <a href='#Clip'>Clip</a>, <a href= <a href='#SkCanvas_drawImageRect_2_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_2_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_2_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageRect_2_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawImageRect_2_image'>image</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawImageRect_2_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImageRect_2_image'>image</a> edge colors, just @@ -4869,7 +4856,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageRect_2_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_2_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_2_constraint'><code><strong>constraint</strong></code></a></td> @@ -4898,7 +4885,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_ 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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_3_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_3_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageRect_3_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawImageRect_3_image'>image</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawImageRect_3_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImageRect_3_image'>image</a> edge colors, just @@ -4918,7 +4905,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageRect_3_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_3_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_3_constraint'><code><strong>constraint</strong></code></a></td> @@ -4947,7 +4934,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocume 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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_4_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_4_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageRect_4_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawImageRect_4_image'>image</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawImageRect_4_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImageRect_4_image'>image</a> edge colors, just @@ -4970,7 +4957,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageRect_4_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_4_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_4_constraint'><code><strong>constraint</strong></code></a></td> @@ -5002,7 +4989,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocume 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>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageRect_5_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='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_5_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_5_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageRect_5_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawImageRect_5_image'>image</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawImageRect_5_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImageRect_5_image'>image</a> edge colors, just @@ -5025,7 +5012,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageRect_5_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_5_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_5_constraint'><code><strong>constraint</strong></code></a></td> @@ -5054,7 +5041,7 @@ void <a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocume 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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_6_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawImageRect_6_image'>image</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageRect_6_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawImageRect_6_image'>image</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawImageRect_6_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImageRect_6_image'>image</a> edge colors, just @@ -5074,7 +5061,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageRect_6_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_6_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawImageRect_6_constraint'><code><strong>constraint</strong></code></a></td> @@ -5107,7 +5094,7 @@ are larger than <a href='#SkCanvas_drawImageNine_dst'>dst</a>; <a href='#SkCanva 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_drawImageNine_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageNine_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='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If image is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If image is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageNine_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from image bounds. If <a href='#SkCanvas_drawImageNine_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kNone_SkFilterQuality</a>, disable pixel filtering. For all other values of <a href='#SkCanvas_drawImageNine_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a>, use <a href='undocumented#kLow_SkFilterQuality'>kLow_SkFilterQuality</a> to filter pixels. @@ -5128,7 +5115,7 @@ replicates the <a href='#SkCanvas_drawImageNine_image'>image</a> edge color when <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageNine_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageNine_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> </table> @@ -5161,7 +5148,7 @@ are larger than <a href='#SkCanvas_drawImageNine_2_dst'>dst</a>; <a href='#SkCan 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_drawImageNine_2_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageNine_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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If image is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If image is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageNine_2_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from image bounds. If <a href='#SkCanvas_drawImageNine_2_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kNone_SkFilterQuality</a>, disable pixel filtering. For all other values of <a href='#SkCanvas_drawImageNine_2_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a>, use <a href='undocumented#kLow_SkFilterQuality'>kLow_SkFilterQuality</a> to filter pixels. @@ -5182,7 +5169,7 @@ replicates the <a href='#SkCanvas_drawImageNine_2_image'>image</a> edge color wh <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageNine_2_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageNine_2_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> </table> @@ -5214,7 +5201,7 @@ void <a href='#SkCanvas_drawBitmap'>drawBitmap</a>(const <a href='SkBitmap_Refer 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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawBitmap_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a> bounds, replicate <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a> edge colors, @@ -5234,7 +5221,7 @@ outside of its bounds. <td><a href='#SkCanvas_drawBitmap_top'>top</a> side of <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a></td> </tr> <tr> <td><a name='SkCanvas_drawBitmap_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> </table> @@ -5261,7 +5248,7 @@ void <a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitm 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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawBitmapRect_bitmap'>bitmap</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawBitmapRect_bitmap'>bitmap</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawBitmapRect_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawBitmapRect_bitmap'>bitmap</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawBitmapRect_bitmap'>bitmap</a> bounds, replicate <a href='#SkCanvas_drawBitmapRect_bitmap'>bitmap</a> edge colors, @@ -5285,7 +5272,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of image to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawBitmapRect_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawBitmapRect_constraint'><code><strong>constraint</strong></code></a></td> @@ -5315,7 +5302,7 @@ void <a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitm 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>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapRect_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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawBitmapRect_2_bitmap'>bitmap</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawBitmapRect_2_bitmap'>bitmap</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawBitmapRect_2_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawBitmapRect_2_bitmap'>bitmap</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawBitmapRect_2_bitmap'>bitmap</a> bounds, replicate <a href='#SkCanvas_drawBitmapRect_2_bitmap'>bitmap</a> edge colors, @@ -5339,7 +5326,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of image to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawBitmapRect_2_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawBitmapRect_2_constraint'><code><strong>constraint</strong></code></a></td> @@ -5369,7 +5356,7 @@ void <a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitm 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>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapRect_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>, -<a href='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawBitmapRect_3_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> bounds. If generated mask extends beyond <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> bounds, replicate <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> edge colors, @@ -5390,7 +5377,7 @@ improve performance. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of image to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawBitmapRect_3_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawBitmapRect_3_constraint'><code><strong>constraint</strong></code></a></td> @@ -5424,7 +5411,7 @@ space, if any. 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_drawBitmapNine_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapNine_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='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If bitmap is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If bitmap is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawBitmapNine_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from bitmap bounds. If <a href='#SkCanvas_drawBitmapNine_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kNone_SkFilterQuality</a>, disable pixel filtering. For all other values of <a href='#SkCanvas_drawBitmapNine_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a>, use <a href='undocumented#kLow_SkFilterQuality'>kLow_SkFilterQuality</a> to filter pixels. @@ -5446,7 +5433,7 @@ outside of its bounds. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of image to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawBitmapNine_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> </table> @@ -5517,7 +5504,6 @@ remaining space, if any. <th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> </table> - ## <a name='SkCanvas_Lattice_RectType'>Enum SkCanvas::Lattice::RectType</a> <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> @@ -5565,7 +5551,6 @@ draws one of fColors into lattice rectangle</td> <th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> </table> - ### Members <table style='border-collapse: collapse; width: 62.5em'> @@ -5664,7 +5649,7 @@ dimension. All other grid elements scale to fill the available space, if any. 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_drawBitmapLattice_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapLattice_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='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If bitmap is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If bitmap is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawBitmapLattice_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from bitmap bounds. If <a href='#SkCanvas_drawBitmapLattice_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kNone_SkFilterQuality</a>, disable pixel filtering. For all other values of <a href='#SkCanvas_drawBitmapLattice_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a>, use <a href='undocumented#kLow_SkFilterQuality'>kLow_SkFilterQuality</a> to filter pixels. @@ -5686,7 +5671,7 @@ outside of its bounds. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of image to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawBitmapLattice_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> </table> @@ -5725,7 +5710,7 @@ dimension. All other grid elements scale to fill the available space, if any. 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_drawImageLattice_paint'>paint</a>. If <a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageLattice_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='undocumented#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If image is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. +<a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and <a href='undocumented#Draw_Looper'>Draw Looper</a>. If image is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>, apply <a href='undocumented#Shader'>Shader</a>. If <a href='#SkCanvas_drawImageLattice_paint'>paint</a> contains <a href='undocumented#Mask_Filter'>Mask Filter</a>, generate mask from image bounds. If <a href='#SkCanvas_drawImageLattice_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kNone_SkFilterQuality</a>, disable pixel filtering. For all other values of <a href='#SkCanvas_drawImageLattice_paint'>paint</a> <a href='undocumented#Filter_Quality'>Filter Quality</a>, use <a href='undocumented#kLow_SkFilterQuality'>kLow_SkFilterQuality</a> to filter pixels. @@ -5747,7 +5732,7 @@ outside of its bounds. <td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageLattice_image'>image</a> to draw to</td> </tr> <tr> <td><a name='SkCanvas_drawImageLattice_paint'><code><strong>paint</strong></code></a></td> - <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='undocumented#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, + <td><a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and so on; or nullptr</td> </tr> </table> @@ -5822,7 +5807,6 @@ are scaled if needed to take up the remaining space; the center is transparent. </tr> </table> - <a name='SkCanvas_drawText'></a> ## drawText @@ -6337,14 +6321,14 @@ Elements of <a href='#SkCanvas_drawTextBlob_2_paint'>paint</a>: <a href='undocum ## drawPicture <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#SkPicture'>SkPicture</a>* picture) +void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Reference#SkPicture'>SkPicture</a>* picture) </pre> -<a href='#Draw'>Draw</a> <a href='undocumented#Picture'>Picture</a> <a href='#SkCanvas_drawPicture_picture'>picture</a>, using <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>. +<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>. <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>. -<a href='undocumented#Picture'>Picture</a> records a series of draw commands for later playback. +<a href='SkPicture_Reference#Picture'>Picture</a> records a series of draw commands for later playback. ### Parameters @@ -6359,21 +6343,21 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented ### See Also -<a href='#SkCanvas_drawDrawable'>drawDrawable</a><sup><a href='#SkCanvas_drawDrawable_2'>[2]</a></sup> <a href='undocumented#SkPicture'>SkPicture</a> <a href='undocumented#SkPicture_playback'>SkPicture::playback</a> +<a href='#SkCanvas_drawDrawable'>drawDrawable</a><sup><a href='#SkCanvas_drawDrawable_2'>[2]</a></sup> <a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='SkPicture_Reference#SkPicture_playback'>SkPicture::playback</a> --- <a name='SkCanvas_drawPicture_2'></a> <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkPicture'>SkPicture</a>>& picture) +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='undocumented#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='#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>. <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>. -<a href='undocumented#Picture'>Picture</a> records a series of draw commands for later playback. +<a href='SkPicture_Reference#Picture'>Picture</a> records a series of draw commands for later playback. ### Parameters @@ -6388,19 +6372,19 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented ### See Also -<a href='#SkCanvas_drawDrawable'>drawDrawable</a><sup><a href='#SkCanvas_drawDrawable_2'>[2]</a></sup> <a href='undocumented#SkPicture'>SkPicture</a> <a href='undocumented#SkPicture_playback'>SkPicture::playback</a> +<a href='#SkCanvas_drawDrawable'>drawDrawable</a><sup><a href='#SkCanvas_drawDrawable_2'>[2]</a></sup> <a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='SkPicture_Reference#SkPicture_playback'>SkPicture::playback</a> --- <a name='SkCanvas_drawPicture_3'></a> <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#SkPicture'>SkPicture</a>* picture, const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* matrix, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint) +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='undocumented#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='#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 <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='undocumented#Blend_Mode'>Blend Mode</a>, if provided. +<a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, if provided. <a href='#SkCanvas_drawPicture_3_matrix'>matrix</a> transformation is equivalent to: <a href='#SkCanvas_save'>save</a>, <a href='#SkCanvas_concat'>concat</a>, <a href='#SkCanvas_drawPicture'>drawPicture</a>, <a href='#SkCanvas_restore'>restore</a>. <a href='#SkCanvas_drawPicture_3_paint'>paint</a> use is equivalent to: <a href='#SkCanvas_saveLayer'>saveLayer</a>, <a href='#SkCanvas_drawPicture'>drawPicture</a>, <a href='#SkCanvas_restore'>restore</a>. @@ -6424,19 +6408,19 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented ### See Also -<a href='#SkCanvas_drawDrawable'>drawDrawable</a><sup><a href='#SkCanvas_drawDrawable_2'>[2]</a></sup> <a href='undocumented#SkPicture'>SkPicture</a> <a href='undocumented#SkPicture_playback'>SkPicture::playback</a> +<a href='#SkCanvas_drawDrawable'>drawDrawable</a><sup><a href='#SkCanvas_drawDrawable_2'>[2]</a></sup> <a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='SkPicture_Reference#SkPicture_playback'>SkPicture::playback</a> --- <a name='SkCanvas_drawPicture_4'></a> <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#sk_sp'>sk sp</a><<a href='undocumented#SkPicture'>SkPicture</a>>& picture, const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* matrix, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* paint) +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='undocumented#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='#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 <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='undocumented#Blend_Mode'>Blend Mode</a>, if provided. +<a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, if provided. <a href='#SkCanvas_drawPicture_4_matrix'>matrix</a> transformation is equivalent to: <a href='#SkCanvas_save'>save</a>, <a href='#SkCanvas_concat'>concat</a>, <a href='#SkCanvas_drawPicture'>drawPicture</a>, <a href='#SkCanvas_restore'>restore</a>. <a href='#SkCanvas_drawPicture_4_paint'>paint</a> use is equivalent to: <a href='#SkCanvas_saveLayer'>saveLayer</a>, <a href='#SkCanvas_drawPicture'>drawPicture</a>, <a href='#SkCanvas_restore'>restore</a>. @@ -6460,7 +6444,7 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented ### See Also -<a href='#SkCanvas_drawDrawable'>drawDrawable</a><sup><a href='#SkCanvas_drawDrawable_2'>[2]</a></sup> <a href='undocumented#SkPicture'>SkPicture</a> <a href='undocumented#SkPicture_playback'>SkPicture::playback</a> +<a href='#SkCanvas_drawDrawable'>drawDrawable</a><sup><a href='#SkCanvas_drawDrawable_2'>[2]</a></sup> <a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='SkPicture_Reference#SkPicture_playback'>SkPicture::playback</a> --- @@ -6468,12 +6452,12 @@ void <a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented ## drawVertices <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -void <a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#SkVertices'>SkVertices</a>* vertices, <a href='undocumented#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) +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>. 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='undocumented#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>. +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>. ### Parameters @@ -6501,12 +6485,12 @@ contains <a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Blend_M <a name='SkCanvas_drawVertices_2'></a> <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> -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='undocumented#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) +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>. 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='undocumented#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>. +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>. ### Parameters @@ -6536,15 +6520,15 @@ contains <a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Blend_M <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> void <a href='#SkCanvas_drawPatch'>drawPatch</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> cubics[12], const <a href='SkColor_Reference#SkColor'>SkColor</a> colors[4], const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> texCoords[4], - <a href='undocumented#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) + <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& paint) </pre> Draws a <a href='undocumented#Coons_Patch'>Coons Patch</a>: the interpolation of four <a href='#SkCanvas_drawPatch_cubics'>cubics</a> with shared corners, associating a color, and optionally a texture <a href='SkPoint_Reference#Point'>Point</a>, with each corner. <a href='undocumented#Coons_Patch'>Coons Patch</a> uses <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>, <a href='#SkCanvas_drawPatch_paint'>paint</a> <a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, -<a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='undocumented#Blend_Mode'>Blend Mode</a>. If <a href='undocumented#Shader'>Shader</a> is provided it is treated -as <a href='undocumented#Coons_Patch'>Coons Patch</a> texture; <a href='undocumented#Blend_Mode'>Blend Mode</a> <a href='#SkCanvas_drawPatch_mode'>mode</a> combines <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_drawPatch_colors'>colors</a> and <a href='undocumented#Shader'>Shader</a> if +<a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>. If <a href='undocumented#Shader'>Shader</a> is provided it is treated +as <a href='undocumented#Coons_Patch'>Coons Patch</a> texture; <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> <a href='#SkCanvas_drawPatch_mode'>mode</a> combines <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_drawPatch_colors'>colors</a> and <a href='undocumented#Shader'>Shader</a> if both are provided. <a href='SkPoint_Reference#Point'>Point</a> array <a href='#SkCanvas_drawPatch_cubics'>cubics</a> specifies four <a href='SkPath_Reference#Cubic'>Cubics</a> starting at the top-left corner, @@ -6570,10 +6554,10 @@ corners in top-left, top-right, bottom-right, bottom-left order. may be nullptr</td> </tr> # <tr> <td><a name='SkCanvas_drawPatch_mode'><code><strong>mode</strong></code></a></td> - <td><a href='undocumented#Blend_Mode'>Blend Mode</a> for <a href='#SkCanvas_drawPatch_colors'>colors</a>, and for <a href='undocumented#Shader'>Shader</a> if <a href='#SkCanvas_drawPatch_paint'>paint</a> has one</td> + <td><a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> for <a href='#SkCanvas_drawPatch_colors'>colors</a>, and for <a href='undocumented#Shader'>Shader</a> if <a href='#SkCanvas_drawPatch_paint'>paint</a> has one</td> </tr> <tr> <td><a name='SkCanvas_drawPatch_paint'><code><strong>paint</strong></code></a></td> - <td><a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Blend_Mode'>Blend Mode</a>, used to draw</td> + <td><a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, used to draw</td> </tr> </table> @@ -6598,8 +6582,8 @@ Draws <a href='SkPath_Reference#Cubic'>Cubic</a> <a href='undocumented#Coons_Pat associating a color, and optionally a texture <a href='SkPoint_Reference#Point'>Point</a>, with each corner. <a href='undocumented#Coons_Patch'>Coons Patch</a> uses <a href='#Clip'>Clip</a> and <a href='#Matrix'>Matrix</a>, <a href='#SkCanvas_drawPatch_2_paint'>paint</a> <a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, -<a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='undocumented#Blend_Mode'>Blend Mode</a>. If <a href='undocumented#Shader'>Shader</a> is provided it is treated -as <a href='undocumented#Coons_Patch'>Coons Patch</a> texture; <a href='undocumented#Blend_Mode'>Blend Mode</a> mode combines <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_drawPatch_2_colors'>colors</a> and <a href='undocumented#Shader'>Shader</a> if +<a href='SkColor_Reference#Alpha'>Color Alpha</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, and <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>. If <a href='undocumented#Shader'>Shader</a> is provided it is treated +as <a href='undocumented#Coons_Patch'>Coons Patch</a> texture; <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> mode combines <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_drawPatch_2_colors'>colors</a> and <a href='undocumented#Shader'>Shader</a> if both are provided. <a href='SkPoint_Reference#Point'>Point</a> array <a href='#SkCanvas_drawPatch_2_cubics'>cubics</a> specifies four <a href='SkPath_Reference#Cubic'>Cubics</a> starting at the top-left corner, @@ -6625,7 +6609,7 @@ corners in top-left, top-right, bottom-right, bottom-left order. may be nullptr</td> </tr> # <tr> <td><a name='SkCanvas_drawPatch_2_paint'><code><strong>paint</strong></code></a></td> - <td><a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Blend_Mode'>Blend Mode</a>, used to draw</td> + <td><a href='undocumented#Shader'>Shader</a>, <a href='undocumented#Color_Filter'>Color Filter</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, used to draw</td> </tr> </table> @@ -6648,17 +6632,18 @@ SeeAlso <a href='#SkCanvas_drawVertices'>drawVertices</a><sup><a href='#SkCanvas <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> void <a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='SkImage_Reference#SkImage'>SkImage</a>* atlas, const <a href='undocumented#SkRSXform'>SkRSXform</a> xform[], const <a href='SkRect_Reference#SkRect'>SkRect</a> tex[], - const <a href='SkColor_Reference#SkColor'>SkColor</a> colors[], int count, <a href='undocumented#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, + const <a href='SkColor_Reference#SkColor'>SkColor</a> colors[], int count, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, 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_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='undocumented#Blend_Mode'>Blend Mode</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. <a href='#SkCanvas_drawAtlas_xform'>xform</a>, text, and <a href='#SkCanvas_drawAtlas_colors'>colors</a> if present, must contain <a href='#SkCanvas_drawAtlas_count'>count</a> entries. -Optional <a href='#SkCanvas_drawAtlas_colors'>colors</a> are applied for each sprite using <a href='undocumented#Blend_Mode'>Blend Mode</a>. +Optional <a href='#SkCanvas_drawAtlas_colors'>colors</a> are applied for each sprite using <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> <a href='#SkCanvas_drawAtlas_mode'>mode</a>, treating +sprite as source and <a href='#SkCanvas_drawAtlas_colors'>colors</a> as destination. Optional <a href='#SkCanvas_drawAtlas_cullRect'>cullRect</a> is a conservative bounds of all transformed sprites. If <a href='#SkCanvas_drawAtlas_cullRect'>cullRect</a> is outside of <a href='#Clip'>Clip</a>, canvas can skip drawing. @@ -6674,19 +6659,19 @@ If <a href='#SkCanvas_drawAtlas_cullRect'>cullRect</a> is outside of <a href='#C <td><a href='SkRect_Reference#Rect'>Rect</a> locations of sprites in <a href='#SkCanvas_drawAtlas_atlas'>atlas</a></td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_colors'><code><strong>colors</strong></code></a></td> - <td>one per sprite, blended with sprite using <a href='undocumented#Blend_Mode'>Blend Mode</a>; may be nullptr</td> + <td>one per sprite, blended with sprite using <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>; may be nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_count'><code><strong>count</strong></code></a></td> <td>number of sprites to draw</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_mode'><code><strong>mode</strong></code></a></td> - <td><a href='undocumented#Blend_Mode'>Blend Mode</a> combining <a href='#SkCanvas_drawAtlas_colors'>colors</a> and sprites</td> + <td><a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> combining <a href='#SkCanvas_drawAtlas_colors'>colors</a> and sprites</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_cullRect'><code><strong>cullRect</strong></code></a></td> <td>bounds of transformed sprites for efficient clipping; may be nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_paint'><code><strong>paint</strong></code></a></td> - <td><a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='undocumented#Blend_Mode'>Blend Mode</a>, and so on; may be nullptr</td> + <td><a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and so on; may be nullptr</td> </tr> </table> @@ -6704,17 +6689,17 @@ If <a href='#SkCanvas_drawAtlas_cullRect'>cullRect</a> is outside of <a href='#C <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> void <a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='undocumented#sk_sp'>sk sp</a><<a href='SkImage_Reference#SkImage'>SkImage</a>>& atlas, const <a href='undocumented#SkRSXform'>SkRSXform</a> xform[], const <a href='SkRect_Reference#SkRect'>SkRect</a> tex[], - const <a href='SkColor_Reference#SkColor'>SkColor</a> colors[], int count, <a href='undocumented#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, + const <a href='SkColor_Reference#SkColor'>SkColor</a> colors[], int count, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, 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_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='undocumented#Blend_Mode'>Blend Mode</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. <a href='#SkCanvas_drawAtlas_2_xform'>xform</a>, text, and <a href='#SkCanvas_drawAtlas_2_colors'>colors</a> if present, must contain <a href='#SkCanvas_drawAtlas_2_count'>count</a> entries. -Optional <a href='#SkCanvas_drawAtlas_2_colors'>colors</a> is applied for each sprite using <a href='undocumented#Blend_Mode'>Blend Mode</a>. +Optional <a href='#SkCanvas_drawAtlas_2_colors'>colors</a> is applied for each sprite using <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>. Optional <a href='#SkCanvas_drawAtlas_2_cullRect'>cullRect</a> is a conservative bounds of all transformed sprites. If <a href='#SkCanvas_drawAtlas_2_cullRect'>cullRect</a> is outside of <a href='#Clip'>Clip</a>, canvas can skip drawing. @@ -6730,19 +6715,19 @@ If <a href='#SkCanvas_drawAtlas_2_cullRect'>cullRect</a> is outside of <a href=' <td><a href='SkRect_Reference#Rect'>Rect</a> locations of sprites in <a href='#SkCanvas_drawAtlas_2_atlas'>atlas</a></td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_2_colors'><code><strong>colors</strong></code></a></td> - <td>one per sprite, blended with sprite using <a href='undocumented#Blend_Mode'>Blend Mode</a>; may be nullptr</td> + <td>one per sprite, blended with sprite using <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>; may be nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_2_count'><code><strong>count</strong></code></a></td> <td>number of sprites to draw</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_2_mode'><code><strong>mode</strong></code></a></td> - <td><a href='undocumented#Blend_Mode'>Blend Mode</a> combining <a href='#SkCanvas_drawAtlas_2_colors'>colors</a> and sprites</td> + <td><a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a> combining <a href='#SkCanvas_drawAtlas_2_colors'>colors</a> and sprites</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_2_cullRect'><code><strong>cullRect</strong></code></a></td> <td>bounds of transformed sprites for efficient clipping; may be nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_2_paint'><code><strong>paint</strong></code></a></td> - <td><a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='undocumented#Blend_Mode'>Blend Mode</a>, and so on; may be nullptr</td> + <td><a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and so on; may be nullptr</td> </tr> </table> @@ -6764,7 +6749,7 @@ void <a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='SkImage_Referenc </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>. -<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='undocumented#Blend_Mode'>Blend Mode</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. @@ -6790,7 +6775,7 @@ If <a href='#SkCanvas_drawAtlas_3_cullRect'>cullRect</a> is outside of <a href=' <td>bounds of transformed sprites for efficient clipping; may be nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_3_paint'><code><strong>paint</strong></code></a></td> - <td><a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='undocumented#Blend_Mode'>Blend Mode</a>, and so on; may be nullptr</td> + <td><a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and so on; may be nullptr</td> </tr> </table> @@ -6812,7 +6797,7 @@ void <a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='undocumented#sk_ </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>. -<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='undocumented#Blend_Mode'>Blend Mode</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. @@ -6838,7 +6823,7 @@ If <a href='#SkCanvas_drawAtlas_4_cullRect'>cullRect</a> is outside of <a href=' <td>bounds of transformed sprites for efficient clipping; may be nullptr</td> </tr> <tr> <td><a name='SkCanvas_drawAtlas_4_paint'><code><strong>paint</strong></code></a></td> - <td><a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='undocumented#Blend_Mode'>Blend Mode</a>, and so on; may be nullptr</td> + <td><a href='undocumented#Color_Filter'>Color Filter</a>, <a href='undocumented#Image_Filter'>Image Filter</a>, <a href='SkBlendMode_Reference#Blend_Mode'>Blend Mode</a>, and so on; may be nullptr</td> </tr> </table> @@ -6863,7 +6848,7 @@ void <a href='#SkCanvas_drawDrawable'>drawDrawable</a>(<a href='undocumented#SkD optional <a href='#SkCanvas_drawDrawable_matrix'>matrix</a>. If <a href='#Canvas'>Canvas</a> has an asynchronous implementation, as is the case -when it is recording into <a href='undocumented#Picture'>Picture</a>, then <a href='#SkCanvas_drawDrawable_drawable'>drawable</a> will be referenced, +when it is recording into <a href='SkPicture_Reference#Picture'>Picture</a>, then <a href='#SkCanvas_drawDrawable_drawable'>drawable</a> will be referenced, so that <a href='undocumented#SkDrawable_draw'>SkDrawable::draw()</a> can be called when the operation is finalized. To force immediate drawing, call <a href='undocumented#SkDrawable_draw'>SkDrawable::draw()</a> instead. @@ -6896,7 +6881,7 @@ void <a href='#SkCanvas_drawDrawable'>drawDrawable</a>(<a href='undocumented#SkD <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>). If <a href='#Canvas'>Canvas</a> has an asynchronous implementation, as is the case -when it is recording into <a href='undocumented#Picture'>Picture</a>, then <a href='#SkCanvas_drawDrawable_2_drawable'>drawable</a> will be referenced, +when it is recording into <a href='SkPicture_Reference#Picture'>Picture</a>, then <a href='#SkCanvas_drawDrawable_2_drawable'>drawable</a> will be referenced, so that <a href='undocumented#SkDrawable_draw'>SkDrawable::draw()</a> can be called when the operation is finalized. To force immediate drawing, call <a href='undocumented#SkDrawable_draw'>SkDrawable::draw()</a> instead. @@ -6933,7 +6918,7 @@ void <a href='#SkCanvas_drawAnnotation'>drawAnnotation</a>(const <a href='SkRect 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 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='undocumented#Picture'>Picture</a>, or drawing to +Only some canvas implementations, such as recording to <a href='SkPicture_Reference#Picture'>Picture</a>, or drawing to <a href='undocumented#PDF'>Document PDF</a>, use annotations. ### Parameters @@ -6955,7 +6940,7 @@ Only some canvas implementations, such as recording to <a href='undocumented#Pic ### See Also -<a href='undocumented#SkPicture'>SkPicture</a> <a href='undocumented#SkDocument'>SkDocument</a> +<a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='undocumented#SkDocument'>SkDocument</a> --- @@ -6968,7 +6953,7 @@ void <a href='#SkCanvas_drawAnnotation'>drawAnnotation</a>(const <a href='SkRect 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 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='undocumented#Picture'>Picture</a>, or drawing to +Only some canvas implementations, such as recording to <a href='SkPicture_Reference#Picture'>Picture</a>, or drawing to <a href='undocumented#PDF'>Document PDF</a>, use annotations. ### Parameters @@ -6990,7 +6975,7 @@ Only some canvas implementations, such as recording to <a href='undocumented#Pic ### See Also -<a href='undocumented#SkPicture'>SkPicture</a> <a href='undocumented#SkDocument'>SkDocument</a> +<a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='undocumented#SkDocument'>SkDocument</a> --- |