aboutsummaryrefslogtreecommitdiffhomepage
path: root/site
diff options
context:
space:
mode:
authorGravatar Cary Clark <caryclark@skia.org>2018-05-17 12:17:28 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-17 16:45:13 +0000
commitffb3d688b0e76ad7d1517657b00e4525cc603f40 (patch)
tree3b48887597f78b47214b2ac3c12b4e4cc2cf6bc6 /site
parent0b82a71c4ca4cd3d5a477ea0293b877132f0a411 (diff)
Color Documentation
- treat Color, ARGB, etc as things not requiring definitions - fix links to Anti-alias, RGB-565 - finish everything marked incomplete, color and elsewhere - add #Code blocks for #Typedef R=caryclark@google.com Docs-Preview: https://skia.org/?cl=128547 Bug: skia:6898 Change-Id: Icf12fe70bc2bf1a8b1a5b31380b2454610949f23 Reviewed-on: https://skia-review.googlesource.com/128547 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')
-rw-r--r--site/user/api/SkBitmap_Reference.md22
-rw-r--r--site/user/api/SkCanvas_Reference.md72
-rw-r--r--site/user/api/SkColor4f_Reference.md174
-rw-r--r--site/user/api/SkColor_Reference.md265
-rw-r--r--site/user/api/SkIPoint_Reference.md2
-rw-r--r--site/user/api/SkImageInfo_Reference.md76
-rw-r--r--site/user/api/SkImage_Reference.md39
-rw-r--r--site/user/api/SkMatrix_Reference.md60
-rw-r--r--site/user/api/SkPaint_Reference.md78
-rw-r--r--site/user/api/SkPoint_Reference.md2
-rw-r--r--site/user/api/SkSurface_Reference.md4
-rw-r--r--site/user/api/catalog.htm186
-rw-r--r--site/user/api/undocumented.md4
13 files changed, 533 insertions, 451 deletions
diff --git a/site/user/api/SkBitmap_Reference.md b/site/user/api/SkBitmap_Reference.md
index 08898bce08..b55f8cc832 100644
--- a/site/user/api/SkBitmap_Reference.md
+++ b/site/user/api/SkBitmap_Reference.md
@@ -219,7 +219,7 @@ SkBitmap member functions read and modify the structure properties.
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkBitmap_allocN32Pixels'>allocN32Pixels</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>allocates compatible <a href='SkColor_Reference#ARGB'>Color ARGB</a> pixels, or aborts</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>allocates compatible ARGB pixels, or aborts</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkBitmap_allocPixels'>allocPixels</a></td>
@@ -439,7 +439,7 @@ SkBitmap 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='#SkBitmap_tryAllocN32Pixels'>tryAllocN32Pixels</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>allocates compatible <a href='SkColor_Reference#ARGB'>Color ARGB</a> pixels if possible</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>allocates compatible ARGB pixels if possible</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkBitmap_tryAllocPixels'>tryAllocPixels</a></td>
@@ -2132,7 +2132,7 @@ Instructs <a href='#SkBitmap_tryAllocPixelsFlags'>tryAllocPixelsFlags</a> and <a
<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='#SkBitmap_allocN32Pixels'>allocN32Pixels</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>allocates compatible <a href='SkColor_Reference#ARGB'>Color ARGB</a> pixels, or aborts</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>allocates compatible ARGB pixels, or aborts</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkBitmap_allocPixels'>allocPixels</a></td>
@@ -2176,7 +2176,7 @@ Instructs <a href='#SkBitmap_tryAllocPixelsFlags'>tryAllocPixelsFlags</a> and <a
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkBitmap_tryAllocN32Pixels'>tryAllocN32Pixels</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>allocates compatible <a href='SkColor_Reference#ARGB'>Color ARGB</a> pixels if possible</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>allocates compatible ARGB pixels if possible</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkBitmap_tryAllocPixels'>tryAllocPixels</a></td>
@@ -3170,8 +3170,8 @@ void <a href='#SkBitmap_eraseColor'>eraseColor</a>(<a href='SkColor_Reference#Sk
Replaces pixel values with <a href='#SkBitmap_eraseColor_c'>c</a>. All pixels contained by <a href='#SkBitmap_bounds'>bounds</a> are affected.
If the <a href='#SkBitmap_colorType'>colorType</a> is <a href='SkImageInfo_Reference#kGray_8_SkColorType'>kGray_8_SkColorType</a> or k565_SkColorType, then <a href='SkColor_Reference#Alpha'>Color Alpha</a>
-is ignored; <a href='SkColor_Reference#RGB'>Color RGB</a> is treated as opaque. If <a href='#SkBitmap_colorType'>colorType</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>,
-then <a href='SkColor_Reference#RGB'>Color RGB</a> is ignored.
+is ignored; RGB is treated as opaque. If <a href='#SkBitmap_colorType'>colorType</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>,
+then RGB is ignored.
### Parameters
@@ -3209,13 +3209,13 @@ then <a href='#SkBitmap_eraseARGB_r'>r</a>, <a href='#SkBitmap_eraseARGB_g'>g</a
<td>amount of <a href='SkColor_Reference#Alpha'>Color Alpha</a>, from fully transparent (0) to fully opaque (255)</td>
</tr>
<tr> <td><a name='SkBitmap_eraseARGB_r'><code><strong>r</strong></code></a></td>
- <td>amount of <a href='SkColor_Reference#RGB_Red'>Color RGB Red</a>, from no red (0) to full red (255)</td>
+ <td>amount of red, from no red (0) to full red (255)</td>
</tr>
<tr> <td><a name='SkBitmap_eraseARGB_g'><code><strong>g</strong></code></a></td>
- <td>amount of <a href='SkColor_Reference#RGB_Green'>Color RGB Green</a>, from no green (0) to full green (255)</td>
+ <td>amount of green, from no green (0) to full green (255)</td>
</tr>
<tr> <td><a name='SkBitmap_eraseARGB_b'><code><strong>b</strong></code></a></td>
- <td>amount of <a href='SkColor_Reference#RGB_Blue'>Color RGB Blue</a>, from no blue (0) to full blue (255)</td>
+ <td>amount of blue, from no blue (0) to full blue (255)</td>
</tr>
</table>
@@ -3251,8 +3251,8 @@ Replaces pixel values inside <a href='#SkBitmap_erase_area'>area</a> with <a hre
call has no effect.
If the <a href='#SkBitmap_colorType'>colorType</a> is <a href='SkImageInfo_Reference#kGray_8_SkColorType'>kGray_8_SkColorType</a> or k565_SkColorType, then <a href='SkColor_Reference#Alpha'>Color Alpha</a>
-is ignored; <a href='SkColor_Reference#RGB'>Color RGB</a> is treated as opaque. If <a href='#SkBitmap_colorType'>colorType</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>,
-then <a href='SkColor_Reference#RGB'>Color RGB</a> is ignored.
+is ignored; RGB is treated as opaque. If <a href='#SkBitmap_colorType'>colorType</a> is <a href='SkImageInfo_Reference#kAlpha_8_SkColorType'>kAlpha_8_SkColorType</a>,
+then RGB is ignored.
### Parameters
diff --git a/site/user/api/SkCanvas_Reference.md b/site/user/api/SkCanvas_Reference.md
index 17f6e37c3c..297c37c9be 100644
--- a/site/user/api/SkCanvas_Reference.md
+++ b/site/user/api/SkCanvas_Reference.md
@@ -1543,7 +1543,7 @@ The copied quarter circles overdraw the original circle.
<div><fiddle-embed name="481e990e923a0ed34654f4361b94f096"><div><a href='#Canvas'>Canvas</a> returned by <a href='undocumented#Raster_Surface'>Raster Surface</a> has <a href='undocumented#Premultiply'>Premultiplied</a> pixel values.
<a href='#SkCanvas_clear'>clear</a> takes <a href='undocumented#Unpremultiply'>Unpremultiplied</a> input with <a href='SkColor_Reference#Alpha'>Color Alpha</a> equal 0x80
-and <a href='SkColor_Reference#RGB'>Color RGB</a> equal 0x55, 0xAA, 0xFF. <a href='SkColor_Reference#RGB'>Color RGB</a> is multiplied by <a href='SkColor_Reference#Alpha'>Color Alpha</a>
+and RGB equal 0x55, 0xAA, 0xFF. RGB is multiplied by <a href='SkColor_Reference#Alpha'>Color Alpha</a>
to generate <a href='undocumented#Premultiply'>Premultiplied</a> value 0x802B5580. <a href='#SkCanvas_readPixels'>readPixels</a> converts pixel back
to <a href='undocumented#Unpremultiply'>Unpremultiplied</a> value 0x8056A9FF, introducing error.
</div>
@@ -1625,7 +1625,7 @@ true if pixels were copied
### Example
<div><fiddle-embed name="85f199032943b6483722c34a91c4e20f"><div><a href='#SkCanvas_clear'>clear</a> takes <a href='undocumented#Unpremultiply'>Unpremultiplied</a> input with <a href='SkColor_Reference#Alpha'>Color Alpha</a> equal 0x80
-and <a href='SkColor_Reference#RGB'>Color RGB</a> equal 0x55, 0xAA, 0xFF. <a href='SkColor_Reference#RGB'>Color RGB</a> is multiplied by <a href='SkColor_Reference#Alpha'>Color Alpha</a>
+and RGB equal 0x55, 0xAA, 0xFF. RGB is multiplied by <a href='SkColor_Reference#Alpha'>Color Alpha</a>
to generate <a href='undocumented#Premultiply'>Premultiplied</a> value 0x802B5580.
</div>
@@ -1705,7 +1705,7 @@ true if pixels were copied
### Example
<div><fiddle-embed name="af6dec8ef974aa67bf102f29915bcd6a"><div><a href='#SkCanvas_clear'>clear</a> takes <a href='undocumented#Unpremultiply'>Unpremultiplied</a> input with <a href='SkColor_Reference#Alpha'>Color Alpha</a> equal 0x80
-and <a href='SkColor_Reference#RGB'>Color RGB</a> equal 0x55, 0xAA, 0xFF. <a href='SkColor_Reference#RGB'>Color RGB</a> is multiplied by <a href='SkColor_Reference#Alpha'>Color Alpha</a>
+and RGB equal 0x55, 0xAA, 0xFF. RGB is multiplied by <a href='SkColor_Reference#Alpha'>Color Alpha</a>
to generate <a href='undocumented#Premultiply'>Premultiplied</a> value 0x802B5580.
</div>
@@ -2275,7 +2275,7 @@ depth of saved stack
typedef uint32_t <a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a>;
</pre>
-# <a name='SkCanvas_SaveLayerFlags'>Typedef SkCanvas::SaveLayerFlags</a>
+## <a name='SkCanvas_SaveLayerFlags'>Typedef SkCanvas::SaveLayerFlags</a>
<a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> provides options that may be used in any combination in <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a>,
defining how <a href='#Layer'>Layer</a> allocated by <a href='#SkCanvas_saveLayer'>saveLayer</a> operates. It may be set to zero,
<a href='#SkCanvas_kPreserveLCDText_SaveLayerFlag'>kPreserveLCDText SaveLayerFlag</a>, <a href='#SkCanvas_kInitWithPrevious_SaveLayerFlag'>kInitWithPrevious SaveLayerFlag</a>, or both flags.
@@ -2433,7 +2433,7 @@ contents of the previous <a href='#Layer'>Layer</a>.
### Example
-<div><fiddle-embed name="ee8c0b120234e27364f8c9a786cf8f89"><div><a href='#Canvas'>Canvas</a> <a href='#Layer'>Layer</a> captures a red Anti-aliased circle and a blue <a href='undocumented#Alias'>Aliased</a> circle scaled
+<div><fiddle-embed name="ee8c0b120234e27364f8c9a786cf8f89"><div><a href='#Canvas'>Canvas</a> <a href='#Layer'>Layer</a> captures a red <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> circle and a blue <a href='undocumented#Alias'>Aliased</a> circle scaled
up by four. After drawing another red circle without scaling on top, the <a href='#Layer'>Layer</a> is
transferred to the main canvas.
</div></fiddle-embed></div>
@@ -2846,9 +2846,9 @@ the result with <a href='#Matrix'>Matrix</a>.
<div><fiddle-embed name="2e2acc21d7774df7e0940a30ad2ca99e"><div>Black text mimics an oblique text style by using a negative skew in x that
shifts the geometry to the right as the y values decrease.
-<a href='SkColor_Reference#RGB_Red'>Red</a> text uses a positive skew in y to shift the geometry down as the x values
+Red text uses a positive skew in y to shift the geometry down as the x values
increase.
-<a href='SkColor_Reference#RGB_Blue'>Blue</a> text combines x and y skew to rotate and scale.
+Blue text combines x and y skew to rotate and scale.
</div></fiddle-embed></div>
### See Also
@@ -2979,14 +2979,14 @@ prior <a href='#Clip'>Clip</a> to form the replacement <a href='#Clip'>Clip</a>.
to subtract <a href='SkPath_Reference#Path'>Path</a> from <a href='#Clip'>Clip</a>; use <a href='undocumented#SkClipOp_kIntersect'>SkClipOp::kIntersect</a> to intersect <a href='SkPath_Reference#Path'>Path</a>
with <a href='#Clip'>Clip</a>.
-A clipping <a href='SkPath_Reference#Path'>Path</a> may be Anti-aliased; if <a href='SkPath_Reference#Path'>Path</a>, after transformation, is
-composed of horizontal and vertical lines, clearing Anti-alias allows whole pixels
+A clipping <a href='SkPath_Reference#Path'>Path</a> may be <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a>; if <a href='SkPath_Reference#Path'>Path</a>, after transformation, is
+composed of horizontal and vertical lines, clearing <a href='SkPaint_Reference#Anti_Alias'>Anti Alias</a> allows whole pixels
to either be inside or outside the clip. The fastest drawing has a <a href='undocumented#Alias'>Aliased</a>,
rectangular clip.
-If clipping <a href='SkPath_Reference#Path'>Path</a> has Anti-alias set, clip may partially clip a pixel, requiring
+If clipping <a href='SkPath_Reference#Path'>Path</a> has <a href='SkPaint_Reference#Anti_Alias'>Anti Alias</a> set, clip may partially clip a pixel, requiring
that drawing blend partially with the destination along the edge. A rotated
-rectangular Anti-aliased clip looks smoother but draws slower.
+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='SkPath_Reference#Path'>Path</a>, these are transformed by <a href='#Matrix'>Matrix</a> before they are combined with <a href='#Clip'>Clip</a>.
@@ -2996,10 +2996,10 @@ and is unaffected by <a href='#Matrix'>Matrix</a>.
### Example
-<div><fiddle-embed name="862cc026601a41a58df49c0b9f0d7777"><div><a href='#Draw'>Draw</a> a red circle with an <a href='undocumented#Alias'>Aliased</a> clip and an Anti-aliased clip.
+<div><fiddle-embed name="862cc026601a41a58df49c0b9f0d7777"><div><a href='#Draw'>Draw</a> a red circle with an <a href='undocumented#Alias'>Aliased</a> clip and an <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip.
Use an image filter to zoom into the pixels drawn.
The edge of the <a href='undocumented#Alias'>Aliased</a> clip fully draws pixels in the red circle.
-The edge of the Anti-aliased clip partially draws pixels in the red circle.
+The edge of the <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip partially draws pixels in the red circle.
</div></fiddle-embed></div>
<a name='SkCanvas_clipRect'></a>
@@ -3010,7 +3010,7 @@ void <a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#S
</pre>
Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipRect_rect'>rect</a>,
-with an <a href='undocumented#Alias'>Aliased</a> or Anti-aliased clip edge. <a href='#SkCanvas_clipRect_rect'>rect</a> is transformed by <a href='#Matrix'>Matrix</a>
+with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip edge. <a href='#SkCanvas_clipRect_rect'>rect</a> is transformed by <a href='#Matrix'>Matrix</a>
before it is combined with <a href='#Clip'>Clip</a>.
### Parameters
@@ -3022,7 +3022,7 @@ before it is combined with <a href='#Clip'>Clip</a>.
<td><a href='undocumented#Clip_Op'>Clip Op</a> to apply to <a href='#Clip'>Clip</a></td>
</tr>
<tr> <td><a name='SkCanvas_clipRect_doAntiAlias'><code><strong>doAntiAlias</strong></code></a></td>
- <td>true if <a href='#Clip'>Clip</a> is to be Anti-aliased</td>
+ <td>true if <a href='#Clip'>Clip</a> is to be <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a></td>
</tr>
</table>
@@ -3083,14 +3083,14 @@ before it is combined with <a href='#Clip'>Clip</a>.
<td><a href='SkRect_Reference#Rect'>Rect</a> to combine with <a href='#Clip'>Clip</a></td>
</tr>
<tr> <td><a name='SkCanvas_clipRect_3_doAntiAlias'><code><strong>doAntiAlias</strong></code></a></td>
- <td>true if <a href='#Clip'>Clip</a> is to be Anti-aliased</td>
+ <td>true if <a href='#Clip'>Clip</a> is to be <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a></td>
</tr>
</table>
### Example
<div><fiddle-embed name="1d4e0632c97e42692775d834fe10aa99"><div>A circle drawn in pieces looks uniform when drawn <a href='undocumented#Alias'>Aliased</a>.
-The same circle pieces blend with pixels more than once when Anti-aliased,
+The same circle pieces blend with pixels more than once when <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a>,
visible as a thin pair of lines through the right circle.
</div></fiddle-embed></div>
@@ -3133,7 +3133,7 @@ void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='undocumented#SkR
</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>,
-with an <a href='undocumented#Alias'>Aliased</a> or Anti-aliased clip edge.
+with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip edge.
<a href='#SkCanvas_clipRRect_rrect'>rrect</a> is transformed by <a href='#Matrix'>Matrix</a>
before it is combined with <a href='#Clip'>Clip</a>.
@@ -3146,7 +3146,7 @@ before it is combined with <a href='#Clip'>Clip</a>.
<td><a href='undocumented#Clip_Op'>Clip Op</a> to apply to <a href='#Clip'>Clip</a></td>
</tr>
<tr> <td><a name='SkCanvas_clipRRect_doAntiAlias'><code><strong>doAntiAlias</strong></code></a></td>
- <td>true if <a href='#Clip'>Clip</a> is to be Anti-aliased</td>
+ <td>true if <a href='#Clip'>Clip</a> is to be <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a></td>
</tr>
</table>
@@ -3197,7 +3197,7 @@ void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='undocumented#SkR
</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>,
-with an <a href='undocumented#Alias'>Aliased</a> or Anti-aliased clip edge.
+with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip edge.
<a href='#SkCanvas_clipRRect_3_rrect'>rrect</a> is transformed by <a href='#Matrix'>Matrix</a> before it is combined with <a href='#Clip'>Clip</a>.
### Parameters
@@ -3206,7 +3206,7 @@ with an <a href='undocumented#Alias'>Aliased</a> or Anti-aliased clip edge.
<td><a href='undocumented#Round_Rect'>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 Anti-aliased</td>
+ <td>true if <a href='#Clip'>Clip</a> is to be <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a></td>
</tr>
</table>
@@ -3228,7 +3228,7 @@ void <a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#S
</pre>
Replace <a href='#Clip'>Clip</a> with the intersection or difference of <a href='#Clip'>Clip</a> and <a href='#SkCanvas_clipPath_path'>path</a>,
-with an <a href='undocumented#Alias'>Aliased</a> or Anti-aliased clip edge. <a href='SkPath_Reference#Fill_Type'>Path Fill Type</a> determines if <a href='#SkCanvas_clipPath_path'>path</a>
+with an <a href='undocumented#Alias'>Aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a> clip edge. <a href='SkPath_Reference#Fill_Type'>Path Fill Type</a> determines if <a href='#SkCanvas_clipPath_path'>path</a>
describes the area inside or outside its contours; and if <a href='SkPath_Reference#Contour'>Path Contour</a> overlaps
itself or another <a href='SkPath_Reference#Contour'>Path Contour</a>, whether the overlaps form part of the area.
<a href='#SkCanvas_clipPath_path'>path</a> is transformed by <a href='#Matrix'>Matrix</a> before it is combined with <a href='#Clip'>Clip</a>.
@@ -3242,7 +3242,7 @@ itself or another <a href='SkPath_Reference#Contour'>Path Contour</a>, whether t
<td><a href='undocumented#Clip_Op'>Clip Op</a> to apply to <a href='#Clip'>Clip</a></td>
</tr>
<tr> <td><a name='SkCanvas_clipPath_doAntiAlias'><code><strong>doAntiAlias</strong></code></a></td>
- <td>true if <a href='#Clip'>Clip</a> is to be Anti-aliased</td>
+ <td>true if <a href='#Clip'>Clip</a> is to be <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a></td>
</tr>
</table>
@@ -3317,7 +3317,7 @@ itself or another <a href='SkPath_Reference#Contour'>Path Contour</a>, whether t
<td><a href='SkPath_Reference#Path'>Path</a> to combine with <a href='#Clip'>Clip</a></td>
</tr>
<tr> <td><a name='SkCanvas_clipPath_3_doAntiAlias'><code><strong>doAntiAlias</strong></code></a></td>
- <td>true if <a href='#Clip'>Clip</a> is to be Anti-aliased</td>
+ <td>true if <a href='#Clip'>Clip</a> is to be <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a></td>
</tr>
</table>
@@ -3475,7 +3475,7 @@ Return bounds of <a href='#Clip'>Clip</a>, transformed by inverse of <a href='#M
return <a href='SkRect_Reference#SkRect_MakeEmpty'>SkRect::MakeEmpty</a>, where all <a href='SkRect_Reference#Rect'>Rect</a> sides equal zero.
<a href='SkRect_Reference#Rect'>Rect</a> returned is outset by one to account for partial pixel coverage if <a href='#Clip'>Clip</a>
-is Anti-aliased.
+is <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a>.
### Return Value
@@ -3514,7 +3514,7 @@ Return <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> of <a href='#C
return false, and set <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> to <a href='SkRect_Reference#SkRect_MakeEmpty'>SkRect::MakeEmpty</a>, where all <a href='SkRect_Reference#Rect'>Rect</a> sides equal zero.
<a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> is outset by one to account for partial pixel coverage if <a href='#Clip'>Clip</a>
-is Anti-aliased.
+is <a href='SkPaint_Reference#Anti_Alias'>Anti Aliased</a>.
### Parameters
@@ -3819,12 +3819,12 @@ void <a href='#SkCanvas_drawColor'>drawColor</a>(<a href='SkColor_Reference#SkCo
</pre>
Fill <a href='#Clip'>Clip</a> with <a href='SkColor_Reference#Color'>Color</a> <a href='#SkCanvas_drawColor_color'>color</a>.
-<a href='#SkCanvas_drawColor_mode'>mode</a> determines how <a href='SkColor_Reference#ARGB'>Color ARGB</a> is combined with destination.
+<a href='#SkCanvas_drawColor_mode'>mode</a> determines how ARGB is combined with destination.
### Parameters
<table> <tr> <td><a name='SkCanvas_drawColor_color'><code><strong>color</strong></code></a></td>
- <td><a href='undocumented#Unpremultiply'>Unpremultiplied</a> <a href='SkColor_Reference#ARGB'>Color ARGB</a></td>
+ <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>
@@ -3854,7 +3854,7 @@ This has the effect of replacing all pixels contained by <a href='#Clip'>Clip</a
### Parameters
<table> <tr> <td><a name='SkCanvas_clear_color'><code><strong>color</strong></code></a></td>
- <td><a href='undocumented#Unpremultiply'>Unpremultiplied</a> <a href='SkColor_Reference#ARGB'>Color ARGB</a></td>
+ <td><a href='undocumented#Unpremultiply'>Unpremultiplied</a> ARGB</td>
</tr>
</table>
@@ -5906,7 +5906,7 @@ ending with a char value of zero</td>
### Example
-<div><fiddle-embed name="65cc4b15cd1a8d067eb1dbfd7e2c17dd"></fiddle-embed></div>
+<div><fiddle-embed name="85442cf8d0bce6b5a777853bc36a4dc4"></fiddle-embed></div>
### See Also
@@ -6242,7 +6242,7 @@ void <a href='#SkCanvas_drawTextBlob'>drawTextBlob</a>(const <a href='undocument
<a href='#SkCanvas_drawTextBlob_blob'>blob</a> contains <a href='undocumented#Glyph'>Glyphs</a>, their positions, and <a href='#SkCanvas_drawTextBlob_paint'>paint</a> attributes specific to text:
<a href='undocumented#Typeface'>Typeface</a>, <a href='SkPaint_Reference#Text_Size'>Paint Text Size</a>, <a href='SkPaint_Reference#Text_Scale_X'>Paint Text Scale X</a>, <a href='SkPaint_Reference#Text_Skew_X'>Paint Text Skew X</a>,
-<a href='SkPaint_Reference#Text_Align'>Paint Text Align</a>, <a href='SkPaint_Reference#Hinting'>Paint Hinting</a>, Anti-alias, <a href='SkPaint_Reference#Fake_Bold'>Paint Fake Bold</a>,
+<a href='SkPaint_Reference#Text_Align'>Paint Text Align</a>, <a href='SkPaint_Reference#Hinting'>Paint Hinting</a>, <a href='SkPaint_Reference#Anti_Alias'>Anti Alias</a>, <a href='SkPaint_Reference#Fake_Bold'>Paint Fake Bold</a>,
<a href='SkPaint_Reference#Font_Embedded_Bitmaps'>Font Embedded Bitmaps</a>, <a href='SkPaint_Reference#Full_Hinting_Spacing'>Full Hinting Spacing</a>, <a href='SkPaint_Reference#LCD_Text'>LCD Text</a>, <a href='SkPaint_Reference#Linear_Text'>Linear Text</a>,
<a href='SkPaint_Reference#Subpixel_Text'>Subpixel Text</a>, and <a href='SkPaint_Reference#Vertical_Text'>Paint Vertical Text</a>.
@@ -6287,7 +6287,7 @@ void <a href='#SkCanvas_drawTextBlob'>drawTextBlob</a>(const <a href='undocument
<a href='#SkCanvas_drawTextBlob_2_blob'>blob</a> contains <a href='undocumented#Glyph'>Glyphs</a>, their positions, and <a href='#SkCanvas_drawTextBlob_2_paint'>paint</a> attributes specific to text:
<a href='undocumented#Typeface'>Typeface</a>, <a href='SkPaint_Reference#Text_Size'>Paint Text Size</a>, <a href='SkPaint_Reference#Text_Scale_X'>Paint Text Scale X</a>, <a href='SkPaint_Reference#Text_Skew_X'>Paint Text Skew X</a>,
-<a href='SkPaint_Reference#Text_Align'>Paint Text Align</a>, <a href='SkPaint_Reference#Hinting'>Paint Hinting</a>, Anti-alias, <a href='SkPaint_Reference#Fake_Bold'>Paint Fake Bold</a>,
+<a href='SkPaint_Reference#Text_Align'>Paint Text Align</a>, <a href='SkPaint_Reference#Hinting'>Paint Hinting</a>, <a href='SkPaint_Reference#Anti_Alias'>Anti Alias</a>, <a href='SkPaint_Reference#Fake_Bold'>Paint Fake Bold</a>,
<a href='SkPaint_Reference#Font_Embedded_Bitmaps'>Font Embedded Bitmaps</a>, <a href='SkPaint_Reference#Full_Hinting_Spacing'>Full Hinting Spacing</a>, <a href='SkPaint_Reference#LCD_Text'>LCD Text</a>, <a href='SkPaint_Reference#Linear_Text'>Linear Text</a>,
<a href='SkPaint_Reference#Subpixel_Text'>Subpixel Text</a>, and <a href='SkPaint_Reference#Vertical_Text'>Paint Vertical Text</a>.
@@ -6644,7 +6644,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_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 Anti-alias, <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='undocumented#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.
@@ -6700,7 +6700,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_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 Anti-alias, <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='undocumented#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.
@@ -6755,7 +6755,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 Anti-alias, <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='undocumented#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.
@@ -6803,7 +6803,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 Anti-alias, <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='undocumented#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.
diff --git a/site/user/api/SkColor4f_Reference.md b/site/user/api/SkColor4f_Reference.md
index 425b8c271c..6b3b01108b 100644
--- a/site/user/api/SkColor4f_Reference.md
+++ b/site/user/api/SkColor4f_Reference.md
@@ -14,22 +14,29 @@ SkColor4f members may be read and written directly without using a member functi
<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='#SkColor4f_fA'>fA</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>alpha component</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_fB'>fB</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>blue component</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_fG'>fG</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>green component</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_fR'>fR</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>red component</td>
</tr>
</table>
-The float values are 0...1 <a href='undocumented#Unpremultiply'>Unpremultiplied</a>
+Each component is stored as a 32-bit single precision floating point float value.
+All values are allowed, but only the range from zero to one is meaningful.
+
+Each component is independent of the others; <a href='#SkColor4f_fA'>fA</a> <a href='SkColor_Reference#Alpha'>Alpha</a> is not <a href='undocumented#Premultiply'>Premultiplied</a>
+with <a href='#SkColor4f_fG'>fG</a> green, <a href='#SkColor4f_fB'>fB</a> blue, or <a href='#SkColor4f_fR'>fR</a> red.
+
+Values smaller than zero or larger than one are allowed. Values out of range
+may be used with <a href='undocumented#Blend_Mode'>Blend Mode</a> so that the final component is in range.
## Overview
@@ -60,11 +67,11 @@ SkColor4f operators inline class member functions with arithmetic equivalents.
<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='#SkColor4f_notequal1_operator'>operator!=(const SkColor4f& other) const</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>compares colors for inequality</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_equal1_operator'>operator==(const SkColor4f& other) const</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>compares <a href='#Color4f'>Color4f</a> for equality</td>
</tr>
</table>
@@ -78,23 +85,23 @@ SkColor4f member functions read and modify the structure properties.
<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_FromColor'>FromColor</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets components from <a href='SkColor_Reference#Color'>Color</a></td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_Pin'>Pin</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets components to valid range</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_pin'>pin</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets components to valid range</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_toSkColor'>toSkColor</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns closest <a href='SkColor_Reference#Color'>Color</a></td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor4f_vec'>vec</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns array of components</td>
</tr>
</table>
@@ -109,25 +116,29 @@ SkColor4f member functions read and modify the structure properties.
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>float</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkColor4f_fR'><code>fR</code></a></td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
-incomplete</td>
+Single precision float for red ranges from no red (0.0) to full red (1.0).
+</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>float</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkColor4f_fG'><code>fG</code></a></td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
-incomplete</td>
+Single precision float for green ranges from no green (0.0) to full green (1.0).
+</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>float</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkColor4f_fB'><code>fB</code></a></td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
-incomplete</td>
+Single precision float for blue ranges from no blue (0.0) to full blue (1.0).
+</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>float</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkColor4f_fA'><code>fA</code></a></td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
-incomplete</td>
+Single precision float for <a href='SkColor_Reference#Alpha'>Alpha</a> ranges from no <a href='SkColor_Reference#Alpha'>Alpha</a> (0.0) to full <a href='SkColor_Reference#Alpha'>Alpha</a> (1.0).
+</td>
</tr>
</table>
@@ -138,24 +149,34 @@ incomplete</td>
bool operator==(const SkColor4f& other) _const
</pre>
+Compares <a href='#Color4f'>Color4f</a> with <a href='#SkColor4f_equal1_operator_other'>other</a>, and returns true if all components are equivalent.
+
### Parameters
<table> <tr> <td><a name='SkColor4f_equal1_operator_other'><code><strong>other</strong></code></a></td>
- <td>incomplete</td>
+ <td><a href='#Color4f'>Color4f</a> to compare</td>
</tr>
</table>
### Return Value
-incomplete
+true if <a href='#Color4f'>Color4f</a> equals <a href='#SkColor4f_equal1_operator_other'>other</a>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="e5b34bcb7f80f2ed890cdacaa059db0d">
+
+#### Example Output
+
+~~~~
+colorRed == colorNamedRed
+~~~~
+
+</fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColor4f_notequal1_operator'>operator!=(const SkColor4f& other) const</a>
---
@@ -166,24 +187,35 @@ incomplete
bool operator!=(const SkColor4f& other) _const
</pre>
+Compares <a href='#Color4f'>Color4f</a> with <a href='#SkColor4f_notequal1_operator_other'>other</a>, and returns true if all components are not
+equivalent.
+
### Parameters
<table> <tr> <td><a name='SkColor4f_notequal1_operator_other'><code><strong>other</strong></code></a></td>
- <td>incomplete</td>
+ <td><a href='#Color4f'>Color4f</a> to compare</td>
</tr>
</table>
### Return Value
-incomplete
+true if <a href='#Color4f'>Color4f</a> is not equal to <a href='#SkColor4f_notequal1_operator_other'>other</a>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="82f1a9b4c2b27aa547061786d1f33dab">
+
+#### Example Output
+
+~~~~
+colorGray != colorNamedGray
+~~~~
+
+</fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColor4f_equal1_operator'>operator==(const SkColor4f& other) const</a>
---
@@ -194,17 +226,28 @@ incomplete
const float* <a href='#SkColor4f_vec'>vec</a>() const
</pre>
+Returns <a href='#Color4f'>Color4f</a> components as a read-only array.
+
### Return Value
-incomplete
+components as read-only array
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="229057023515224358a36acf15508cf6">
+
+#### Example Output
+
+~~~~
+red=0.0578054 green=0.246201 blue=0.603827 alpha=0.533333
+[0]=0.0578054 [1]=0.246201 [2]=0.603827 [3]=0.533333
+~~~~
+
+</fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColor4f'>SkColor4f</a>
---
@@ -214,17 +257,28 @@ incomplete
float* <a href='#SkColor4f_vec'>vec</a>()
</pre>
+Returns <a href='#Color4f'>Color4f</a> components as a writable array.
+
### Return Value
-incomplete
+components as writable array
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="7420bf0a7cae5c6577c4c4a4613e7e7e">
+
+#### Example Output
+
+~~~~
+red=0.0578054 green=0.246201 blue=0.603827 alpha=0.533333
+[0]=0.0578054 [1]=0.246201 [2]=0.603827 [3]=1
+~~~~
+
+</fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColor4f'>SkColor4f</a>
---
@@ -235,33 +289,35 @@ incomplete
static <a href='#SkColor4f'>SkColor4f</a> <a href='#SkColor4f_Pin'>Pin</a>(float r, float g, float b, float a)
</pre>
+Constructs and returns <a href='#Color4f'>Color4f</a> with each component pinned from zero to one.
+
### Parameters
<table> <tr> <td><a name='SkColor4f_Pin_r'><code><strong>r</strong></code></a></td>
- <td>incomplete</td>
+ <td>red component</td>
</tr>
<tr> <td><a name='SkColor4f_Pin_g'><code><strong>g</strong></code></a></td>
- <td>incomplete</td>
+ <td>green component</td>
</tr>
<tr> <td><a name='SkColor4f_Pin_b'><code><strong>b</strong></code></a></td>
- <td>incomplete</td>
+ <td>blue component</td>
</tr>
<tr> <td><a name='SkColor4f_Pin_a'><code><strong>a</strong></code></a></td>
- <td>incomplete</td>
+ <td><a href='SkColor_Reference#Alpha'>Alpha</a> component</td>
</tr>
</table>
### Return Value
-incomplete
+<a href='#Color4f'>Color4f</a> with valid components
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="c989cf16c7f8849874eb008cd701af76"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColor4f_pin'>pin</a> <a href='#SkColor4f_FromColor'>FromColor</a>
---
@@ -272,26 +328,35 @@ incomplete
static <a href='#SkColor4f'>SkColor4f</a> <a href='#SkColor4f_FromColor'>FromColor</a>(<a href='SkColor_Reference#SkColor'>SkColor</a>)
</pre>
-Convert to <a href='#SkColor4f'>SkColor4f</a>, assuming <a href='SkColor_Reference#SkColor'>SkColor</a> is sRGB
+Converts to closest <a href='#Color4f'>Color4f</a>.
### Parameters
<table> <tr> <td><a name='SkColor4f_FromColor_SkColor'><code><strong>SkColor</strong></code></a></td>
- <td>incomplete</td>
+ <td><a href='SkColor_Reference#Color'>Color</a> with <a href='SkColor_Reference#Alpha'>Alpha</a>, red, blue, and green components</td>
</tr>
</table>
### Return Value
-incomplete
+<a href='#Color4f'>Color4f</a> equivalent
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="33b029064e8d1928e42a587c953d0e4e">
+
+#### Example Output
+
+~~~~
+red=0.0742136 green=0.130136 blue=0.318547 alpha=0.168627
+red=77 green=101 blue=153 alpha=43
+~~~~
+
+</fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColor4f_toSkColor'>toSkColor</a>
---
@@ -302,17 +367,28 @@ incomplete
<a href='SkColor_Reference#SkColor'>SkColor</a> <a href='#SkColor4f_toSkColor'>toSkColor</a>() const
</pre>
+Converts to closest <a href='SkColor_Reference#SkColor'>SkColor</a>.
+
### Return Value
-incomplete
+closest <a href='SkColor_Reference#Color'>Color</a>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="edc5fd18d961f7607d2bcbf7f7d427e5">
+
+#### Example Output
+
+~~~~
+red=75 green=101 blue=153 alpha=43
+red=0.0703601 green=0.130136 blue=0.318547 alpha=0.168627
+~~~~
+
+</fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColor4f_FromColor'>FromColor</a>
---
@@ -323,17 +399,19 @@ incomplete
<a href='#SkColor4f'>SkColor4f</a> <a href='#SkColor4f_pin'>pin</a>() const
</pre>
+Returns <a href='#Color4f'>Color4f</a> with all components in the range from zero to one.
+
### Return Value
-incomplete
+<a href='#Color4f'>Color4f</a> with valid components
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="9e349862c5189a44d2acef5da24f2e79"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColor4f_Pin'>Pin</a>
---
diff --git a/site/user/api/SkColor_Reference.md b/site/user/api/SkColor_Reference.md
index f2a1475e1c..7677ebd971 100644
--- a/site/user/api/SkColor_Reference.md
+++ b/site/user/api/SkColor_Reference.md
@@ -40,15 +40,15 @@ SkColor uses preprocessor definitions to inline code and constants, and to abstr
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorGetB'>SkColorGetB</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns blue component</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorGetG'>SkColorGetG</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns green component</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorGetR'>SkColorGetR</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns red component</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorSetRGB'>SkColorSetRGB</a></td>
@@ -133,11 +133,11 @@ SkColor related constants are defined by <code>enum</code>, <code>enum class</co
<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='#SkColorSetA'>SkColorSetA</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns <a href='#Color'>Color</a> with transparency</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorSetARGB'>SkColorSetARGB</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns <a href='#Alpha'>Color Alpha</a> and <a href='#RGB'>Color RGB</a> combined</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns <a href='#Alpha'>Color Alpha</a> and RGB combined</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorToHSV'>SkColorToHSV</a></td>
@@ -153,7 +153,7 @@ SkColor related constants are defined by <code>enum</code>, <code>enum class</co
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPreMultiplyARGB'>SkPreMultiplyARGB</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>converts <a href='undocumented#Unpremultiply'>Unpremultiplied</a> <a href='#ARGB'>ARGB</a> to <a href='undocumented#Premultiply'>Premultiplied</a> <a href='#PMColor'>PMColor</a></td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>converts <a href='undocumented#Unpremultiply'>Unpremultiplied</a> ARGB to <a href='undocumented#Premultiply'>Premultiplied</a> <a href='#PMColor'>PMColor</a></td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPreMultiplyColor'>SkPreMultiplyColor</a></td>
@@ -161,7 +161,7 @@ SkColor related constants are defined by <code>enum</code>, <code>enum class</co
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkRGBToHSV'>SkRGBToHSV</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>converts RGB to <a href='#HSV'>HSV</a></td>
</tr>
</table>
@@ -188,22 +188,6 @@ SkColor <code>typedef</code> define a data type.
</table>
-## <a name='RGB'>RGB</a>
-
-## <a name='RGB_Red'>RGB Red</a>
-
-## <a name='RGB_Blue'>RGB Blue</a>
-
-## <a name='RGB_Green'>RGB Green</a>
-
-## <a name='ARGB'>ARGB</a>
-
-## <a name='RBG'>RBG</a>
-
-## <a name='RGB-565'>RGB-565</a>
-
-## <a name='Gray'>Gray</a>
-
## <a name='Alpha'>Alpha</a>
<a href='#Alpha'>Alpha</a> represents the transparency of <a href='#Color'>Color</a>. <a href='#Color'>Color</a> with <a href='#Alpha'>Alpha</a> of zero is fully
@@ -213,11 +197,21 @@ floating point values. Unsigned integer <a href='#Alpha'>Alpha</a> ranges from z
transparent, to all bits set, fully opaque. Floating point <a href='#Alpha'>Alpha</a> ranges from
zero, fully transparent, to one, fully opaque.
-# <a name='SkAlpha'>Typedef SkAlpha</a>
+## <a name='SkAlpha'>Typedef SkAlpha</a>
+
+<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
+typedef uint8_t <a href='#SkAlpha'>SkAlpha</a>;
+</pre>
+
8-bit type for an alpha value. 0xFF is 100% opaque, 0x00 is 100% transparent.
-# <a name='SkColor'>Typedef SkColor</a>
-32-bit <a href='#ARGB'>ARGB</a> <a href='#Color'>Color</a> value, <a href='undocumented#Unpremultiply'>Unpremultiplied</a>. <a href='#Color'>Color</a> components are always in
+## <a name='SkColor'>Typedef SkColor</a>
+
+<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
+typedef uint32_t <a href='#SkColor'>SkColor</a>;
+</pre>
+
+32-bit ARGB <a href='#Color'>Color</a> value, <a href='undocumented#Unpremultiply'>Unpremultiplied</a>. <a href='#Color'>Color</a> components are always in
a known order. This is different from <a href='#SkPMColor'>SkPMColor</a>, which has its bytes in a configuration
dependent order, to match the format of <a href='SkImageInfo_Reference#kBGRA_8888_SkColorType'>kBGRA_8888_SkColorType</a> bitmaps. <a href='#SkColor'>SkColor</a>
is the type used to specify colors in <a href='SkPaint_Reference#SkPaint'>SkPaint</a> and in gradients.
@@ -247,13 +241,13 @@ than the largest of <a href='#SkColorSetARGB_r'>r</a>, <a href='#SkColorSetARGB_
<td>amount of <a href='#Alpha'>Alpha</a>, from fully transparent (0) to fully opaque (255)</td>
</tr>
<tr> <td><a name='SkColorSetARGB_r'><code><strong>r</strong></code></a></td>
- <td>amount of <a href='#RGB_Red'>RGB Red</a>, from no red (0) to full red (255)</td>
+ <td>amount of red, from no red (0) to full red (255)</td>
</tr>
<tr> <td><a name='SkColorSetARGB_g'><code><strong>g</strong></code></a></td>
- <td>amount of <a href='#RGB_Green'>RGB Green</a>, from no green (0) to full green (255)</td>
+ <td>amount of green, from no green (0) to full green (255)</td>
</tr>
<tr> <td><a name='SkColorSetARGB_b'><code><strong>b</strong></code></a></td>
- <td>amount of <a href='#RGB_Blue'>RGB Blue</a>, from no blue (0) to full blue (255)</td>
+ <td>amount of blue, from no blue (0) to full blue (255)</td>
</tr>
</table>
@@ -267,25 +261,11 @@ color and alpha, <a href='undocumented#Unpremultiply'>Unpremultiplied</a>
### See Also
-<a href='#SkColorSetRGB'>SkColorSetRGB</a> <a href='SkPaint_Reference#SkPaint_setARGB'>SkPaint::setARGB</a> <a href='SkPaint_Reference#SkPaint_setColor'>SkPaint::setColor</a>
+<a href='#SkColorSetRGB'>SkColorSetRGB</a> <a href='SkPaint_Reference#SkPaint_setARGB'>SkPaint::setARGB</a> <a href='SkPaint_Reference#SkPaint_setColor'>SkPaint::setColor</a> <a href='#SkColorSetA'>SkColorSetA</a>
---
-<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
- #define <a href='#SkColorSetARGBInline'>SkColorSetARGBInline</a> <a href='#SkColorSetARGB'>SkColorSetARGB</a>
-</pre>
-
-Deprecated.
-
-soon
-
-<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
- #define <a href='#SkColorSetARGBMacro'>SkColorSetARGBMacro</a> <a href='#SkColorSetARGB'>SkColorSetARGB</a>
-</pre>
-
-Deprecated.
-
-soon
+## <a name='SkColorSetRGB'>Define SkColorSetRGB</a>
<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
#define <a href='#SkColorSetRGB'>SkColorSetRGB(r, g, b)</a> <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, r, g, b)</a>
@@ -297,13 +277,13 @@ fully opaque to 255.
### Parameters
<table> <tr> <td><a name='SkColorSetRGB_r'><code><strong>r</strong></code></a></td>
- <td>amount of <a href='#RGB_Red'>RGB Red</a>, from no red (0) to full red (255)</td>
+ <td>amount of red, from no red (0) to full red (255)</td>
</tr>
<tr> <td><a name='SkColorSetRGB_g'><code><strong>g</strong></code></a></td>
- <td>amount of <a href='#RGB_Green'>RGB Green</a>, from no green (0) to full green (255)</td>
+ <td>amount of green, from no green (0) to full green (255)</td>
</tr>
<tr> <td><a name='SkColorSetRGB_b'><code><strong>b</strong></code></a></td>
- <td>amount of <a href='#RGB_Blue'>RGB Blue</a>, from no blue (0) to full blue (255)</td>
+ <td>amount of blue, from no blue (0) to full blue (255)</td>
</tr>
</table>
@@ -317,7 +297,9 @@ color with opaque alpha
### See Also
-incomplete
+<a href='#SkColorSetARGB'>SkColorSetARGB</a>
+
+## <a name='SkColorGetA'>Define SkColorGetA</a>
<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
#define <a href='#SkColorGetA'>SkColorGetA(color)</a> (((color) >> 24) & 0xFF)
@@ -334,11 +316,13 @@ Returns <a href='#Alpha'>Alpha</a> byte from <a href='#Color'>Color</a> value.
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="896ce0316b489608a95af5439ca2aab1"></fiddle-embed></div>
### See Also
-incomplete
+<a href='SkPaint_Reference#SkPaint_getAlpha'>SkPaint::getAlpha</a>
+
+## <a name='SkColorGetR'>Define SkColorGetR</a>
<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
#define <a href='#SkColorGetR'>SkColorGetR(color)</a> (((color) >> 16) & 0xFF)
@@ -359,11 +343,13 @@ red byte
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="d6da38577f189eaa6d9df75f6c3ed252"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColorGetG'>SkColorGetG</a> <a href='#SkColorGetB'>SkColorGetB</a>
+
+## <a name='SkColorGetG'>Define SkColorGetG</a>
<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
#define <a href='#SkColorGetG'>SkColorGetG(color)</a> (((color) >> 8) & 0xFF)
@@ -384,11 +370,13 @@ green byte
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="535d38b2c019299d915170f7b03d5fea"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColorGetR'>SkColorGetR</a> <a href='#SkColorGetB'>SkColorGetB</a>
+
+## <a name='SkColorGetB'>Define SkColorGetB</a>
<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
#define <a href='#SkColorGetB'>SkColorGetB(color)</a> (((color) >> 0) & 0xFF)
@@ -409,11 +397,11 @@ blue byte
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="9ee27675284faea375611dc88123a2c5"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColorGetR'>SkColorGetR</a> <a href='#SkColorGetG'>SkColorGetG</a>
<a name='SkColorSetA'></a>
## SkColorSetA
@@ -422,29 +410,30 @@ incomplete
static constexpr inline <a href='#SkColor'>SkColor</a> <a href='#SkColorSetA'>SkColorSetA</a>(<a href='#SkColor'>SkColor</a> c, <a href='undocumented#U8CPU'>U8CPU</a> a)
</pre>
-Returns <a href='#Color'>Color</a> with red, blue, and green set from <a href='#SkColorSetA_c'>c</a>; and alpha set from <a href='#SkColorSetA_a'>a</a>.
+Returns <a href='undocumented#Unpremultiply'>Unpremultiplied</a> <a href='#Color'>Color</a> with red, blue, and green set from <a href='#SkColorSetA_c'>c</a>; and alpha set
+from <a href='#SkColorSetA_a'>a</a>. <a href='#Alpha'>Alpha</a> component of <a href='#SkColorSetA_c'>c</a> is ignored and is replaced by <a href='#SkColorSetA_a'>a</a> in result.
### Parameters
<table> <tr> <td><a name='SkColorSetA_c'><code><strong>c</strong></code></a></td>
- <td><a href='undocumented#Unpremultiply'>Unpremultiplied</a> <a href='#ARGB'>Color ARGB</a></td>
+ <td>packed RGB, eight bits per component</td>
</tr>
<tr> <td><a name='SkColorSetA_a'><code><strong>a</strong></code></a></td>
- <td>incomplete</td>
+ <td><a href='#Alpha'>Alpha</a>: transparent at zero, fully opaque at 255</td>
</tr>
</table>
### Return Value
-incomplete
+<a href='#Color'>Color</a> with transparency
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="18f6f376f771f5ffa56d5e5b2ebd20fb"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColorSetARGB'>SkColorSetARGB</a>
---
@@ -459,13 +448,13 @@ incomplete
<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</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='#Color_Alpha_Constants'><code>Alpha_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_AlphaTRANSPARENT'><code>SK_AlphaTRANSPARENT</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x00</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>fully transparent SkAlpha</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Alpha_Constants'><code>Alpha_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_AlphaOPAQUE'><code>SK_AlphaOPAQUE</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>fully opaque SkAlpha</td>
</tr>
</table>
@@ -538,63 +527,63 @@ fully transparent; to 255, fully opaque.
<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</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='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorTRANSPARENT'><code>SK_ColorTRANSPARENT</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x00000000</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>transparent Color</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorBLACK'><code>SK_ColorBLACK</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF000000</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>black Color</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorDKGRAY'><code>SK_ColorDKGRAY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF444444</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>dark gray Color</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorGRAY'><code>SK_ColorGRAY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF888888</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>gray Color</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorLTGRAY'><code>SK_ColorLTGRAY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFFCCCCCC</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>light gray Color</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorWHITE'><code>SK_ColorWHITE</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFFFFFFFF</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>white Color</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorRED'><code>SK_ColorRED</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFFFF0000</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>red Color</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorGREEN'><code>SK_ColorGREEN</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF00FF00</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>green Color</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorBLUE'><code>SK_ColorBLUE</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF0000FF</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>blue Color</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorYELLOW'><code>SK_ColorYELLOW</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFFFFFF00</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>yellow Color</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorCYAN'><code>SK_ColorCYAN</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF00FFFF</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>cyan Color</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Color_Constants'><code>Color_Constants</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorMAGENTA'><code>SK_ColorMAGENTA</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFFFF00FF</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>magenta Color</td>
</tr>
</table>
@@ -737,7 +726,7 @@ Represents fully opaque magenta. HTML_Fuchsia is equivalent.
### Example
-<div><fiddle-embed name="cfda8cd3b435bb28e2f4b9c7f15603a6"></fiddle-embed></div>
+<div><fiddle-embed name="9ca1e2a5b9b4c92ecf4409d0813867d6"></fiddle-embed></div>
### See Also
@@ -778,10 +767,10 @@ modulo 360, where zero degrees is red.
## SkRGBToHSV
<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
-SK_API void <a href='#SkRGBToHSV'>SkRGBToHSV</a>(<a href='undocumented#U8CPU'>U8CPU</a> red, <a href='undocumented#U8CPU'>U8CPU</a> green, <a href='undocumented#U8CPU'>U8CPU</a> blue, <a href='undocumented#SkScalar'>SkScalar</a> hsv[3])
+void <a href='#SkRGBToHSV'>SkRGBToHSV</a>(<a href='undocumented#U8CPU'>U8CPU</a> red, <a href='undocumented#U8CPU'>U8CPU</a> green, <a href='undocumented#U8CPU'>U8CPU</a> blue, <a href='undocumented#SkScalar'>SkScalar</a> hsv[3])
</pre>
-Converts RGB components to <a href='#HSV'>HSV</a>.
+Converts RGB to its <a href='#HSV'>HSV</a> components.
<a href='#SkRGBToHSV_hsv'>hsv</a>[0] contains <a href='#HSV_Hue'>Hue</a>, a value from zero to less than 360.
<a href='#SkRGBToHSV_hsv'>hsv</a>[1] contains <a href='#HSV_Saturation'>Saturation</a>, a value from zero to one.
<a href='#SkRGBToHSV_hsv'>hsv</a>[2] contains <a href='#HSV_Value'>Value</a>, a value from zero to one.
@@ -802,17 +791,13 @@ Converts RGB components to <a href='#HSV'>HSV</a>.
</tr>
</table>
-### Return Value
-
-incomplete
-
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="4fb2da4a3d9b14ca4ac24eefb0f5126a"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColorToHSV'>SkColorToHSV</a> <a href='#SkHSVToColor'>SkHSVToColor</a>
---
@@ -820,10 +805,10 @@ incomplete
## SkColorToHSV
<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
-static inline void <a href='#SkColorToHSV'>SkColorToHSV</a>(<a href='#SkColor'>SkColor</a> color, <a href='undocumented#SkScalar'>SkScalar</a> hsv[3])
+void <a href='#SkColorToHSV'>SkColorToHSV</a>(<a href='#SkColor'>SkColor</a> color, <a href='undocumented#SkScalar'>SkScalar</a> hsv[3])
</pre>
-Converts <a href='#ARGB'>ARGB</a> to its <a href='#HSV'>HSV</a> components. <a href='#Alpha'>Alpha</a> in <a href='#ARGB'>ARGB</a> is ignored.
+Converts ARGB to its <a href='#HSV'>HSV</a> components. <a href='#Alpha'>Alpha</a> in ARGB is ignored.
<a href='#SkColorToHSV_hsv'>hsv</a>[0] contains <a href='#HSV_Hue'>Hue</a>, and is assigned a value from zero to less than 360.
<a href='#SkColorToHSV_hsv'>hsv</a>[1] contains <a href='#HSV_Saturation'>Saturation</a>, a value from zero to one.
<a href='#SkColorToHSV_hsv'>hsv</a>[2] contains <a href='#HSV_Value'>Value</a>, a value from zero to one.
@@ -831,24 +816,20 @@ Converts <a href='#ARGB'>ARGB</a> to its <a href='#HSV'>HSV</a> components. <a h
### Parameters
<table> <tr> <td><a name='SkColorToHSV_color'><code><strong>color</strong></code></a></td>
- <td><a href='#ARGB'>ARGB</a> <a href='#SkColorToHSV_color'>color</a> to convert</td>
+ <td>ARGB <a href='#SkColorToHSV_color'>color</a> to convert</td>
</tr>
<tr> <td><a name='SkColorToHSV_hsv'><code><strong>hsv</strong></code></a></td>
<td>three element array which holds the resulting <a href='#HSV'>HSV</a> components</td>
</tr>
</table>
-### Return Value
-
-incomplete
-
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="7d7e427e2b181c651abad5732bc46cf7"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkRGBToHSV'>SkRGBToHSV</a> <a href='#SkHSVToColor'>SkHSVToColor</a>
---
@@ -856,20 +837,20 @@ incomplete
## SkHSVToColor
<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
-SK_API <a href='#SkColor'>SkColor</a> <a href='#SkHSVToColor'>SkHSVToColor</a>(<a href='undocumented#U8CPU'>U8CPU</a> alpha, const <a href='undocumented#SkScalar'>SkScalar</a> hsv[3])
+<a href='#SkColor'>SkColor</a> <a href='#SkHSVToColor'>SkHSVToColor</a>(<a href='undocumented#U8CPU'>U8CPU</a> alpha, const <a href='undocumented#SkScalar'>SkScalar</a> hsv[3])
</pre>
-Converts <a href='#HSV'>HSV</a> components to an <a href='#ARGB'>ARGB</a> color. The <a href='#SkHSVToColor_alpha'>alpha</a> component is passed through unchanged.
+Converts <a href='#HSV'>HSV</a> components to an ARGB color. <a href='#Alpha'>Alpha</a> is passed through unchanged.
<a href='#SkHSVToColor_hsv'>hsv</a>[0] represents <a href='#HSV_Hue'>Hue</a>, an angle from zero to less than 360.
<a href='#SkHSVToColor_hsv'>hsv</a>[1] represents <a href='#HSV_Saturation'>Saturation</a>, and varies from zero to one.
<a href='#SkHSVToColor_hsv'>hsv</a>[2] represents <a href='#HSV_Value'>Value</a>, and varies from zero to one.
-If <a href='#SkHSVToColor_hsv'>hsv</a> values are out of range, they are pinned.
+Out of range <a href='#SkHSVToColor_hsv'>hsv</a> values are pinned.
### Parameters
<table> <tr> <td><a name='SkHSVToColor_alpha'><code><strong>alpha</strong></code></a></td>
- <td><a href='#Alpha'>Alpha</a> component of the returned <a href='#ARGB'>ARGB</a> color</td>
+ <td><a href='#Alpha'>Alpha</a> component of the returned ARGB color</td>
</tr>
<tr> <td><a name='SkHSVToColor_hsv'><code><strong>hsv</strong></code></a></td>
<td>three element array which holds the input <a href='#HSV'>HSV</a> components</td>
@@ -878,57 +859,61 @@ If <a href='#SkHSVToColor_hsv'>hsv</a> values are out of range, they are pinned.
### Return Value
-<a href='#ARGB'>ARGB</a> equivalent to <a href='#HSV'>HSV</a>
+ARGB equivalent to <a href='#HSV'>HSV</a>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="311a59931ac340b90f202cd6ac399a0a"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColorToHSV'>SkColorToHSV</a> <a href='#SkRGBToHSV'>SkRGBToHSV</a>
---
<a name='SkHSVToColor_2'></a>
<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
-static inline <a href='#SkColor'>SkColor</a> <a href='#SkHSVToColor'>SkHSVToColor</a>(const <a href='undocumented#SkScalar'>SkScalar</a> hsv[3])
+<a href='#SkColor'>SkColor</a> <a href='#SkHSVToColor'>SkHSVToColor</a>(const <a href='undocumented#SkScalar'>SkScalar</a> hsv[3])
</pre>
-Convert <a href='#HSV'>HSV</a> components to an <a href='#ARGB'>ARGB</a> color. The alpha component set to 0xFF.
+Convert <a href='#HSV'>HSV</a> components to an ARGB color. <a href='#Alpha'>Alpha</a> is set to 0xFF.
<a href='#SkHSVToColor_2_hsv'>hsv</a>[0] represents <a href='#HSV_Hue'>Hue</a>, an angle from zero to less than 360.
<a href='#SkHSVToColor_2_hsv'>hsv</a>[1] represents <a href='#HSV_Saturation'>Saturation</a>, and varies from zero to one.
<a href='#SkHSVToColor_2_hsv'>hsv</a>[2] represents <a href='#HSV_Value'>Value</a>, and varies from zero to one.
-If <a href='#SkHSVToColor_2_hsv'>hsv</a> values are out of range, they are pinned.
+Out of range <a href='#SkHSVToColor_2_hsv'>hsv</a> values are pinned.
### Parameters
<table> <tr> <td><a name='SkHSVToColor_2_hsv'><code><strong>hsv</strong></code></a></td>
- <td>3 element array which holds the input <a href='#HSV'>HSV</a> components.
-</td>
+ <td>three element array which holds the input <a href='#HSV'>HSV</a> components</td>
</tr>
</table>
### Return Value
-the resulting <a href='#ARGB'>ARGB</a> color
+RGB equivalent to <a href='#HSV'>HSV</a>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="d355a17547908cdbc2c38720974b5d11"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkColorToHSV'>SkColorToHSV</a> <a href='#SkRGBToHSV'>SkRGBToHSV</a>
---
## <a name='PMColor'>PMColor</a>
-# <a name='SkPMColor'>Typedef SkPMColor</a>
-32-bit <a href='#ARGB'>ARGB</a> color value, <a href='undocumented#Premultiply'>Premultiplied</a>. The byte order for this value is
+## <a name='SkPMColor'>Typedef SkPMColor</a>
+
+<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
+typedef uint32_t <a href='#SkPMColor'>SkPMColor</a>;
+</pre>
+
+32-bit ARGB color value, <a href='undocumented#Premultiply'>Premultiplied</a>. The byte order for this value is
configuration dependent, matching the format of <a href='SkImageInfo_Reference#kBGRA_8888_SkColorType'>kBGRA_8888_SkColorType</a> bitmaps.
This is different from <a href='#SkColor'>SkColor</a>, which is <a href='undocumented#Unpremultiply'>Unpremultiplied</a>, and is always in the
same byte order.
@@ -937,38 +922,38 @@ same byte order.
## SkPreMultiplyARGB
<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
-SK_API <a href='#SkPMColor'>SkPMColor</a> <a href='#SkPreMultiplyARGB'>SkPreMultiplyARGB</a>(<a href='undocumented#U8CPU'>U8CPU</a> a, <a href='undocumented#U8CPU'>U8CPU</a> r, <a href='undocumented#U8CPU'>U8CPU</a> g, <a href='undocumented#U8CPU'>U8CPU</a> b)
+<a href='#SkPMColor'>SkPMColor</a> <a href='#SkPreMultiplyARGB'>SkPreMultiplyARGB</a>(<a href='undocumented#U8CPU'>U8CPU</a> a, <a href='undocumented#U8CPU'>U8CPU</a> r, <a href='undocumented#U8CPU'>U8CPU</a> g, <a href='undocumented#U8CPU'>U8CPU</a> b)
</pre>
-Return <a href='#SkPreMultiplyARGB_a'>a</a> <a href='#SkPMColor'>SkPMColor</a> value from <a href='undocumented#Unpremultiply'>Unpremultiplied</a> 8-bit component values
+Returns <a href='#SkPreMultiplyARGB_a'>a</a> <a href='#SkPMColor'>SkPMColor</a> value from <a href='undocumented#Unpremultiply'>Unpremultiplied</a> 8-bit component values.
### Parameters
<table> <tr> <td><a name='SkPreMultiplyARGB_a'><code><strong>a</strong></code></a></td>
- <td>incomplete</td>
+ <td>amount of <a href='#Alpha'>Alpha</a>, from fully transparent (0) to fully opaque (255)</td>
</tr>
<tr> <td><a name='SkPreMultiplyARGB_r'><code><strong>r</strong></code></a></td>
- <td>incomplete</td>
+ <td>amount of red, from no red (0) to full red (255)</td>
</tr>
<tr> <td><a name='SkPreMultiplyARGB_g'><code><strong>g</strong></code></a></td>
- <td>incomplete</td>
+ <td>amount of green, from no green (0) to full green (255)</td>
</tr>
<tr> <td><a name='SkPreMultiplyARGB_b'><code><strong>b</strong></code></a></td>
- <td>incomplete</td>
+ <td>amount of blue, from no blue (0) to full blue (255)</td>
</tr>
</table>
### Return Value
-incomplete
+<a href='undocumented#Premultiply'>Premultiplied</a> <a href='#Color'>Color</a>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="756345484fd48ca0ea7b6cec350f73b8"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkPreMultiplyColor'>SkPreMultiplyColor</a>
---
@@ -976,7 +961,7 @@ incomplete
## SkPreMultiplyColor
<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
-SK_API <a href='#SkPMColor'>SkPMColor</a> <a href='#SkPreMultiplyColor'>SkPreMultiplyColor</a>(<a href='#SkColor'>SkColor</a> c)
+<a href='#SkPMColor'>SkPMColor</a> <a href='#SkPreMultiplyColor'>SkPreMultiplyColor</a>(<a href='#SkColor'>SkColor</a> c)
</pre>
Returns <a href='#PMColor'>PMColor</a> closest to <a href='#Color'>Color</a> <a href='#SkPreMultiplyColor_c'>c</a>. Multiplies <a href='#SkPreMultiplyColor_c'>c</a> RGB components by the <a href='#SkPreMultiplyColor_c'>c</a> <a href='#Alpha'>Alpha</a>,
@@ -985,21 +970,21 @@ and arranges the bytes to match the format of <a href='SkImageInfo_Reference#kN3
### Parameters
<table> <tr> <td><a name='SkPreMultiplyColor_c'><code><strong>c</strong></code></a></td>
- <td>incomplete</td>
+ <td><a href='undocumented#Unpremultiply'>Unpremultiplied</a> ARGB <a href='#Color'>Color</a></td>
</tr>
</table>
### Return Value
-incomplete
+<a href='undocumented#Premultiply'>Premultiplied</a> <a href='#Color'>Color</a>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="0bcc0f86a2aefc899f3500503dce6968"></fiddle-embed></div>
### See Also
-incomplete
+<a href='#SkPreMultiplyARGB'>SkPreMultiplyARGB</a>
---
diff --git a/site/user/api/SkIPoint_Reference.md b/site/user/api/SkIPoint_Reference.md
index 4648a6ca4b..68125d1348 100644
--- a/site/user/api/SkIPoint_Reference.md
+++ b/site/user/api/SkIPoint_Reference.md
@@ -717,7 +717,7 @@ Can also be used to add <a href='#IVector'>IVector</a> to <a href='#IVector'>IVe
## <a name='IVector'>IVector</a>
-# <a name='SkIVector'>Typedef SkIVector</a>
+## <a name='SkIVector'>Typedef SkIVector</a>
<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
typedef <a href='#SkIPoint'>SkIPoint</a> <a href='#SkIVector'>SkIVector</a>;
diff --git a/site/user/api/SkImageInfo_Reference.md b/site/user/api/SkImageInfo_Reference.md
index eacaa9418a..f6cf52c5d7 100644
--- a/site/user/api/SkImageInfo_Reference.md
+++ b/site/user/api/SkImageInfo_Reference.md
@@ -69,7 +69,7 @@ SkImageInfo related constants are defined by <code>enum</code>, <code>enum class
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#kGray_8_SkColorType'>kGray_8_SkColorType</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>pixel with <a href='SkColor_Reference#Gray'>Color Gray</a> level in 8-bit byte</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>pixel with grayscale level in 8-bit byte</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#kJPEG_SkYUVColorSpace'>kJPEG_SkYUVColorSpace</a></td>
@@ -89,7 +89,7 @@ SkImageInfo related constants are defined by <code>enum</code>, <code>enum class
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#kN32_SkColorType'>kN32_SkColorType</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>native <a href='SkColor_Reference#ARGB'>Color ARGB</a> 32-bit encoding</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>native ARGB 32-bit encoding</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#kOpaque_SkAlphaType'>kOpaque_SkAlphaType</a></td>
@@ -172,8 +172,8 @@ color to create a new color. If alpha describes a weight from zero to one:
In practice alpha is encoded in two or more bits, where 1.0 equals all bits set.
-<a href='SkColor_Reference#RGB'>Color RGB</a> may have <a href='SkColor_Reference#Alpha'>Color Alpha</a> included in each component value; the stored
-value is the original <a href='SkColor_Reference#RGB'>Color RGB</a> multiplied by <a href='SkColor_Reference#Alpha'>Color Alpha</a>. <a href='undocumented#Premultiply'>Premultiplied</a> color
+RGB may have <a href='SkColor_Reference#Alpha'>Color Alpha</a> included in each component value; the stored
+value is the original RGB multiplied by <a href='SkColor_Reference#Alpha'>Color Alpha</a>. <a href='undocumented#Premultiply'>Premultiplied</a> color
components improve performance.
### Constants
@@ -346,10 +346,10 @@ true if <a href='#SkAlphaTypeIsOpaque_at'>at</a> equals <a href='#kOpaque_SkAlph
</pre>
Describes how pixel bits encode color. A pixel may be an alpha mask, a
-gray level, <a href='SkColor_Reference#RGB'>Color RGB</a>, or <a href='SkColor_Reference#ARGB'>Color ARGB</a>.
+grayscale, RGB, or ARGB.
-<a href='#kN32_SkColorType'>kN32_SkColorType</a> selects the native 32-bit <a href='SkColor_Reference#ARGB'>Color ARGB</a> format. On Little_Endian
-processors, pixels containing 8-bit <a href='SkColor_Reference#ARGB'>Color ARGB</a> components pack into 32-bit
+<a href='#kN32_SkColorType'>kN32_SkColorType</a> selects the native 32-bit ARGB format. On Little_Endian
+processors, pixels containing 8-bit ARGB components pack into 32-bit
<a href='#kBGRA_8888_SkColorType'>kBGRA_8888_SkColorType</a>. On Big_Endian processors, pixels pack into 32-bit
<a href='#kRGBA_8888_SkColorType'>kRGBA_8888_SkColorType</a>.
@@ -472,7 +472,7 @@ Used by tests to iterate through all valid values.
<td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>4 or 6</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '></td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
-Encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> as either <a href='#kRGBA_8888_SkColorType'>kRGBA_8888_SkColorType</a> or
+Encodes ARGB as either <a href='#kRGBA_8888_SkColorType'>kRGBA_8888_SkColorType</a> or
<a href='#kBGRA_8888_SkColorType'>kBGRA_8888_SkColorType</a>, whichever is native to the platform.
</td>
</tr>
@@ -498,12 +498,12 @@ with its transparency set to alpha8 pixel value.
### See Also
-incomplete
+<a href='SkColor_Reference#Alpha'>Alpha</a> <a href='#Color_Type_Gray_8'>Gray 8</a>
## <a name='Color_Type_RGB_565'>Color Type RGB 565</a>
-<a href='#kRGB_565_SkColorType'>kRGB_565_SkColorType</a> encodes <a href='SkColor_Reference#RGB'>Color RGB</a> to fit in a 16-bit word. <a href='SkColor_Reference#RGB_Red'>Red</a> and <a href='SkColor_Reference#RGB_Blue'>Blue</a>
-components use five bits describing 32 levels. <a href='SkColor_Reference#RGB_Green'>Green</a> components, more sensitive
+<a href='#kRGB_565_SkColorType'>kRGB_565_SkColorType</a> encodes RGB to fit in a 16-bit word. Red and blue
+components use five bits describing 32 levels. Green components, more sensitive
to the eye, use six bits describing 64 levels. <a href='#kRGB_565_SkColorType'>kRGB_565_SkColorType</a> has no
bits for <a href='SkColor_Reference#Alpha'>Alpha</a>.
Pixels are fully opaque as if its <a href='SkColor_Reference#Alpha'>Color Alpha</a> was set to one, and should
@@ -517,11 +517,11 @@ always be paired with <a href='#kOpaque_SkAlphaType'>kOpaque_SkAlphaType</a>.
### See Also
-incomplete
+<a href='#Color_Type_ARGB_4444'>ARGB 4444</a> <a href='#Color_Type_RGBA_8888'>RGBA 8888</a>
## <a name='Color_Type_ARGB_4444'>Color Type ARGB 4444</a>
-<a href='#kARGB_4444_SkColorType'>kARGB_4444_SkColorType</a> encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> to fit in 16-bit word. Each
+<a href='#kARGB_4444_SkColorType'>kARGB_4444_SkColorType</a> encodes ARGB to fit in 16-bit word. Each
component: alpha, blue, green, and red; use four bits, describing 16 levels.
Note that <a href='#kARGB_4444_SkColorType'>kARGB_4444_SkColorType</a> is misnamed; the acronym does not
describe the actual component order.
@@ -546,11 +546,11 @@ less than 15, the drawn result is undefined.
### See Also
-incomplete
+<a href='#Color_Type_RGBA_8888'>RGBA 8888</a>
## <a name='Color_Type_RGBA_8888'>Color Type RGBA 8888</a>
-<a href='#kRGBA_8888_SkColorType'>kRGBA_8888_SkColorType</a> encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> into a 32-bit word. Each component:
+<a href='#kRGBA_8888_SkColorType'>kRGBA_8888_SkColorType</a> encodes ARGB into a 32-bit word. Each component:
red, green, blue, alpha; use eight bits, describing 256 levels.
![Color_Type_RGBA_8888](https://fiddle.skia.org/i/4ccd35f27fe73dce8cce8c75e18df23c_raster.png "")
@@ -577,11 +577,11 @@ will have the best performance. Use <a href='#kN32_SkColorType'>kN32_SkColorType
### See Also
-incomplete
+<a href='#Color_Type_RGB_888'>RGB 888</a> <a href='#Color_Type_BGRA_8888'>BGRA 8888</a>
## <a name='Color_Type_RGB_888'>Color Type RGB 888</a>
-<a href='#kRGB_888x_SkColorType'>kRGB_888x_SkColorType</a> encodes <a href='SkColor_Reference#RGB'>Color RGB</a> into a 32-bit word. Each component:
+<a href='#kRGB_888x_SkColorType'>kRGB_888x_SkColorType</a> encodes RGB into a 32-bit word. Each component:
red, green, blue; use eight bits, describing 256 levels. Eight bits are
unused. Pixels described by <a href='#kRGB_888x_SkColorType'>kRGB_888x_SkColorType</a> are fully opaque as if
their <a href='SkColor_Reference#Alpha'>Color Alpha</a> was set to one, and should always be paired with
@@ -593,9 +593,13 @@ their <a href='SkColor_Reference#Alpha'>Color Alpha</a> was set to one, and shou
<div><fiddle-embed name="4260d6cc15db2c60c07f6fdc8d9ae425"></fiddle-embed></div>
+### See Also
+
+<a href='#Color_Type_RGBA_8888'>RGBA 8888</a> <a href='#Color_Type_BGRA_8888'>BGRA 8888</a>
+
## <a name='Color_Type_BGRA_8888'>Color Type BGRA 8888</a>
-<a href='#kBGRA_8888_SkColorType'>kBGRA_8888_SkColorType</a> encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> into a 32-bit word. Each component:
+<a href='#kBGRA_8888_SkColorType'>kBGRA_8888_SkColorType</a> encodes ARGB into a 32-bit word. Each component:
blue, green, red, and alpha; use eight bits, describing 256 levels.
![Color_Type_BGRA_8888](https://fiddle.skia.org/i/babd0e12db21a88c74d4e88aa40268ab_raster.png "")
@@ -626,7 +630,7 @@ and will have the best performance. Use <a href='#kN32_SkColorType'>kN32_SkColor
## <a name='Color_Type_RGBA_1010102'>Color Type RGBA 1010102</a>
-<a href='#kRGBA_1010102_SkColorType'>kRGBA_1010102_SkColorType</a> encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> into a 32-bit word. Each
+<a href='#kRGBA_1010102_SkColorType'>kRGBA_1010102_SkColorType</a> encodes ARGB into a 32-bit word. Each
<a href='SkColor_Reference#Color'>Color</a> component: red, green, and blue; use ten bits, describing 1024 levels.
Two bits contain alpha, describing four levels. Possible alpha
values are zero: fully transparent; one: 33% opaque; two: 67% opaque;
@@ -655,11 +659,11 @@ less than three, the drawn result is undefined.
### See Also
-incomplete
+<a href='#Color_Type_RGB_101010'>RGB 101010</a> <a href='#Color_Type_RGBA_8888'>RGBA 8888</a>
## <a name='Color_Type_RGB_101010'>Color Type RGB 101010</a>
-<a href='#kRGB_101010x_SkColorType'>kRGB_101010x_SkColorType</a> encodes <a href='SkColor_Reference#RGB'>Color RGB</a> into a 32-bit word. Each
+<a href='#kRGB_101010x_SkColorType'>kRGB_101010x_SkColorType</a> encodes RGB into a 32-bit word. Each
<a href='SkColor_Reference#Color'>Color</a> component: red, green, and blue; use ten bits, describing 1024 levels.
Two bits are unused. Pixels described by <a href='#kRGB_101010x_SkColorType'>kRGB_101010x_SkColorType</a> are fully
opaque as if its <a href='SkColor_Reference#Alpha'>Color Alpha</a> was set to one, and should always be paired
@@ -676,11 +680,11 @@ draw all colors possible to a <a href='#kRGB_101010x_SkColorType'>kRGB_101010x_S
### See Also
-incomplete
+<a href='#Color_Type_RGBA_1010102'>RGBA 1010102</a>
## <a name='Color_Type_Gray_8'>Color Type Gray 8</a>
-<a href='#kGray_8_SkColorType'>kGray_8_SkColorType</a> encodes <a href='SkColor_Reference#Gray'>Color Gray</a> level in eight bits that is equivalent
+<a href='#kGray_8_SkColorType'>kGray_8_SkColorType</a> encodes grayscale level in eight bits that is equivalent
to equal values for red, blue, and green, representing colors from black to
white. Pixels described by <a href='#kGray_8_SkColorType'>kGray_8_SkColorType</a> are fully
opaque as if its <a href='SkColor_Reference#Alpha'>Color Alpha</a> was set to one, and should always be paired with
@@ -692,11 +696,11 @@ opaque as if its <a href='SkColor_Reference#Alpha'>Color Alpha</a> was set to on
### See Also
-incomplete
+<a href='#Color_Type_Alpha_8'>Alpha 8</a>
## <a name='Color_Type_RGBA_F16'>Color Type RGBA F16</a>
-<a href='#kRGBA_F16_SkColorType'>kRGBA_F16_SkColorType</a> encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> into a 64-bit word. Each component:
+<a href='#kRGBA_F16_SkColorType'>kRGBA_F16_SkColorType</a> encodes ARGB into a 64-bit word. Each component:
blue, green, red, and alpha; use 16 bits, describing a floating point value.
from -65500 to 65000 with 3.31 decimal digits of precision.
@@ -727,7 +731,7 @@ less than 255, the drawn result is undefined.
### See Also
-incomplete
+<a href='SkColor4f_Reference#SkColor4f'>SkColor4f</a>
<a name='SkColorTypeBytesPerPixel'></a>
## SkColorTypeBytesPerPixel
@@ -1130,7 +1134,7 @@ SkImageInfo global, <code>struct</code>, and <code>class</code> related member f
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_ARGB_4444'>Color Type ARGB 4444</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> in 16 bits</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes ARGB in 16 bits</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_Alpha_8'>Color Type Alpha 8</a></td>
@@ -1138,35 +1142,35 @@ SkImageInfo global, <code>struct</code>, and <code>class</code> related member f
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_BGRA_8888'>Color Type BGRA 8888</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> Little_Endian in 32 bits</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes ARGB Little_Endian in 32 bits</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_Gray_8'>Color Type Gray 8</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes level of <a href='SkColor_Reference#Gray'>Color Gray</a> in 8 bits</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes level of grayscale in 8 bits</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGBA_1010102'>Color Type RGBA 1010102</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> ten bits per color component</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes ARGB ten bits per color component</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGBA_8888'>Color Type RGBA 8888</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> Big_Endian in 32 bits</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes ARGB Big_Endian in 32 bits</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGBA_F16'>Color Type RGBA F16</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes <a href='SkColor_Reference#ARGB'>Color ARGB</a> as half floats</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes ARGB as half floats</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGB_101010'>Color Type RGB 101010</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes <a href='SkColor_Reference#RGB'>Color RGB</a> ten bits per color component</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes RGB ten bits per color component</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGB_565'>Color Type RGB 565</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes <a href='SkColor_Reference#RGB'>Color RGB</a> in 16 bits</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes RGB in 16 bits</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Type_RGB_888'>Color Type RGB 888</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes <a href='SkColor_Reference#RGB'>Color RGB</a> in 32 bits</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>encodes RGB in 32 bits</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Property'>Property</a></td>
@@ -2429,7 +2433,7 @@ bool operator!=(const SkImageInfo& other) _const
</pre>
Compares <a href='#Image_Info'>Image Info</a> with <a href='#SkImageInfo_notequal1_operator_other'>other</a>, and returns true if width, height, <a href='#Color_Type'>Color Type</a>,
-<a href='#Alpha_Type'>Alpha Type</a>, and <a href='undocumented#Color_Space'>Color Space</a> are equivalent.
+<a href='#Alpha_Type'>Alpha Type</a>, and <a href='undocumented#Color_Space'>Color Space</a> are not equivalent.
### Parameters
diff --git a/site/user/api/SkImage_Reference.md b/site/user/api/SkImage_Reference.md
index 6403e07b60..ddd4730b89 100644
--- a/site/user/api/SkImage_Reference.md
+++ b/site/user/api/SkImage_Reference.md
@@ -551,14 +551,24 @@ each dimension fits in 29 bits;
---
-# <a name='SkImage_ReleaseContext'>Typedef SkImage::ReleaseContext</a>
+## <a name='SkImage_ReleaseContext'>Typedef SkImage::ReleaseContext</a>
+
+<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
+typedef void* <a href='#SkImage_ReleaseContext'>ReleaseContext</a>;
+</pre>
+
Caller data passed to <a href='#SkImage_RasterReleaseProc'>RasterReleaseProc</a>; may be nullptr.
### See Also
<a href='#SkImage_MakeFromRaster'>MakeFromRaster</a> <a href='#SkImage_RasterReleaseProc'>RasterReleaseProc</a>
-# <a name='SkImage_RasterReleaseProc'>Typedef SkImage::RasterReleaseProc</a>
+## <a name='SkImage_RasterReleaseProc'>Typedef SkImage::RasterReleaseProc</a>
+
+<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
+typedef void (*<a href='#SkImage_RasterReleaseProc'>RasterReleaseProc</a>)(const void* pixels, <a href='#SkImage_ReleaseContext'>ReleaseContext</a>);
+</pre>
+
Function called when <a href='#Image'>Image</a> no longer shares pixels. <a href='#SkImage_ReleaseContext'>ReleaseContext</a> is
provided by caller when <a href='#Image'>Image</a> is created, and may be nullptr.
@@ -750,7 +760,12 @@ created <a href='#Image'>Image</a>, or nullptr
---
-# <a name='SkImage_TextureReleaseProc'>Typedef SkImage::TextureReleaseProc</a>
+## <a name='SkImage_TextureReleaseProc'>Typedef SkImage::TextureReleaseProc</a>
+
+<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
+typedef void (*<a href='#SkImage_TextureReleaseProc'>TextureReleaseProc</a>)(<a href='#SkImage_ReleaseContext'>ReleaseContext</a> releaseContext);
+</pre>
+
User function called when supplied texture may be deleted.
### See Also
@@ -1163,14 +1178,14 @@ created <a href='#Image'>Image</a>, or nullptr
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkImage_BitDepth_kU8'><code>SkImage::BitDepth::kU8</code></a></td>
<td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
-Use 8 bits per <a href='SkColor_Reference#ARGB'>Color ARGB</a> component using unsigned integer format.
+Use 8 bits per ARGB component using unsigned integer format.
</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkImage_BitDepth_kF16'><code>SkImage::BitDepth::kF16</code></a></td>
<td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
-Use 16 bits per <a href='SkColor_Reference#ARGB'>Color ARGB</a> component using half-precision floating point format.
+Use 16 bits per ARGB component using half-precision floating point format.
</td>
</tr>
</table>
@@ -1481,7 +1496,7 @@ or was parsed from encoded data.
### Example
-<div><fiddle-embed name="dac1403132a42459d6881585efbfe74b"></fiddle-embed></div>
+<div><fiddle-embed name="1b9f1f05026ceb14ccb6926a13cdaa83"></fiddle-embed></div>
### See Also
@@ -1504,7 +1519,7 @@ Returns <a href='SkImageInfo_Reference#Color_Type'>Color Type</a> if known; othe
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="50396fad4a128f58e400ca00fe09711f"></fiddle-embed></div>
### See Also
@@ -2499,8 +2514,14 @@ By translating canvas by returned <a href='#SkImage_makeWithFilter_offset'>offse
---
-# <a name='SkImage_BackendTextureReleaseProc'>Typedef SkImage::BackendTextureReleaseProc</a>
-<a href='#SkImage_BackendTextureReleaseProc'>BackendTextureReleaseProc</a>Defines a function take one parameter of type
+## <a name='SkImage_BackendTextureReleaseProc'>Typedef SkImage::BackendTextureReleaseProc</a>
+<a href='#SkImage_BackendTextureReleaseProc'>BackendTextureReleaseProc</a>
+
+<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
+typedef std::function<void(GrBackendTexture)> <a href='#SkImage_BackendTextureReleaseProc'>BackendTextureReleaseProc</a>;
+</pre>
+
+Defines a function take one parameter of type
<a href='undocumented#GrBackendTexture'>GrBackendTexture</a> with no return value.
<a name='SkImage_MakeBackendTextureFromSkImage'></a>
diff --git a/site/user/api/SkMatrix_Reference.md b/site/user/api/SkMatrix_Reference.md
index f7596b414f..3a6852a560 100644
--- a/site/user/api/SkMatrix_Reference.md
+++ b/site/user/api/SkMatrix_Reference.md
@@ -1420,48 +1420,48 @@ Skews are not similar and do not preserve right angles.
<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</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='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMScaleX'><code>SkMatrix::kMScaleX</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>horizontal scale factor</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMSkewX'><code>SkMatrix::kMSkewX</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>horizontal skew factor</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMTransX'><code>SkMatrix::kMTransX</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>horizontal translation</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMSkewY'><code>SkMatrix::kMSkewY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>vertical skew factor</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMScaleY'><code>SkMatrix::kMScaleY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>4</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>vertical scale factor</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMTransY'><code>SkMatrix::kMTransY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>5</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>vertical translation</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMPersp0'><code>SkMatrix::kMPersp0</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>6</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>input x perspective factor</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMPersp1'><code>SkMatrix::kMPersp1</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>7</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>input y perspective factor</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_MemberIndex'><code>MemberIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kMPersp2'><code>SkMatrix::kMPersp2</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>8</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>perspective bias</td>
</tr>
</table>
@@ -1563,33 +1563,33 @@ perspective bias</td>
<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</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='#Matrix_AffineIndex'><code>AffineIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kAScaleX'><code>SkMatrix::kAScaleX</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>horizontal scale factor</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_AffineIndex'><code>AffineIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kASkewY'><code>SkMatrix::kASkewY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>1</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>vertical skew factor</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_AffineIndex'><code>AffineIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kASkewX'><code>SkMatrix::kASkewX</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>2</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>horizontal skew factor</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_AffineIndex'><code>AffineIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kAScaleY'><code>SkMatrix::kAScaleY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>3</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>vertical scale factor</td>
</tr>
<tr style='background-color: #f0f0f0; '>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_AffineIndex'><code>AffineIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kATransX'><code>SkMatrix::kATransX</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>4</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>horizontal translation</td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Matrix_AffineIndex'><code>AffineIndex</code></a></td>
- <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>#In Constant</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkMatrix_kATransY'><code>SkMatrix::kATransY</code></a></td>
+ <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>5</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>vertical translation</td>
</tr>
</table>
diff --git a/site/user/api/SkPaint_Reference.md b/site/user/api/SkPaint_Reference.md
index 122a4d2b2a..66204867f9 100644
--- a/site/user/api/SkPaint_Reference.md
+++ b/site/user/api/SkPaint_Reference.md
@@ -23,7 +23,7 @@ algorithms that alter the drawing geometry, color, and transparency. For instanc
The objects contained by <a href='#Paint'>Paint</a> are opaque, and cannot be edited outside of the <a href='#Paint'>Paint</a>
to affect it. The implementation is free to defer computations associated with the
<a href='#Paint'>Paint</a>, or ignore them altogether. For instance, some GPU implementations draw all
-<a href='SkPath_Reference#Path'>Path</a> geometries with Anti-aliasing, regardless of how <a href='#SkPaint_kAntiAlias_Flag'>SkPaint::kAntiAlias Flag</a>
+<a href='SkPath_Reference#Path'>Path</a> geometries with <a href='#Anti_Alias'>Anti Aliasing</a>, regardless of how <a href='#SkPaint_kAntiAlias_Flag'>SkPaint::kAntiAlias Flag</a>
is set in <a href='#Paint'>Paint</a>.
<a href='#Paint'>Paint</a> describes a single color, a single font, a single image quality, and so on.
@@ -74,7 +74,7 @@ SkPaint global, <code>struct</code>, and <code>class</code> related member funct
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>get and set <a href='SkColor_Reference#Alpha'>Alpha</a></td>
</tr>
<tr>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Anti-alias</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Anti_Alias'>Anti Alias</a></td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>approximating coverage with transparency</td>
</tr>
<tr style='background-color: #f0f0f0; '>
@@ -151,7 +151,7 @@ SkPaint global, <code>struct</code>, and <code>class</code> related member funct
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#LCD_Text'>LCD Text</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>text relying on the order of <a href='SkColor_Reference#RGB'>Color RGB</a> stripes</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>text relying on the order of RGB stripes</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Linear_Text'>Linear Text</a></td>
@@ -301,7 +301,7 @@ SkPaint related constants are defined by <code>enum</code>, <code>enum class</co
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_kAntiAlias_Flag'>kAntiAlias Flag</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>mask for setting Anti-alias</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>mask for setting <a href='#Anti_Alias'>Anti Alias</a></td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_kAutoHinting_Flag'>kAutoHinting Flag</a></td>
@@ -557,7 +557,7 @@ SkPaint member functions read and modify the structure properties.
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_getColor'>getColor</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns <a href='SkColor_Reference#Alpha'>Color Alpha</a> and <a href='SkColor_Reference#RGB'>Color RGB</a>, one drawing color</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns <a href='SkColor_Reference#Alpha'>Color Alpha</a> and RGB, one drawing color</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_getColorFilter'>getColorFilter</a></td>
@@ -693,7 +693,7 @@ SkPaint member functions read and modify the structure properties.
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_isAntiAlias'>isAntiAlias</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns true if Anti-alias is set</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns true if <a href='#Anti_Alias'>Anti Alias</a> is set</td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_isAutohinted'>isAutohinted</a></td>
@@ -781,7 +781,7 @@ SkPaint member functions read and modify the structure properties.
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_setAntiAlias'>setAntiAlias</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets or clears Anti-alias</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets or clears <a href='#Anti_Alias'>Anti Alias</a></td>
</tr>
<tr style='background-color: #f0f0f0; '>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_setAutohinted'>setAutohinted</a></td>
@@ -793,7 +793,7 @@ SkPaint 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='#SkPaint_setColor'>setColor</a></td>
- <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets <a href='SkColor_Reference#Alpha'>Color Alpha</a> and <a href='SkColor_Reference#RGB'>Color RGB</a>, one drawing color</td>
+ <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>sets <a href='SkColor_Reference#Alpha'>Color Alpha</a> and RGB, one drawing color</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPaint_setColorFilter'>setColorFilter</a></td>
@@ -927,7 +927,7 @@ Constructs <a href='#Paint'>Paint</a> with default values.
| attribute | default value |
| --- | --- |
-| Anti-alias | false |
+| <a href='#Anti_Alias'>Anti Alias</a> | false |
| <a href='undocumented#Blend_Mode'>Blend Mode</a> | <a href='undocumented#SkBlendMode_kSrcOver'>SkBlendMode::kSrcOver</a> |
| <a href='SkColor_Reference#Color'>Color</a> | <a href='SkColor_Reference#SK_ColorBLACK'>SK ColorBLACK</a> |
| <a href='SkColor_Reference#Alpha'>Color Alpha</a> | 255 |
@@ -1478,7 +1478,7 @@ multiple settings at once.
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkPaint_kAntiAlias_Flag'><code>SkPaint::kAntiAlias_Flag</code></a></td>
<td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x0001</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>
-mask for setting Anti-alias</td>
+mask for setting Anti_Alias</td>
</tr>
<tr>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkPaint_kDither_Flag'><code>SkPaint::kDither_Flag</code></a></td>
@@ -1634,9 +1634,9 @@ paint.isDither()
---
-## <a name='Anti-alias'>Anti-alias</a>
+## <a name='Anti_Alias'>Anti Alias</a>
-Anti-alias drawing approximates partial pixel coverage with transparency.
+<a href='#Anti_Alias'>Anti Alias</a> drawing approximates partial pixel coverage with transparency.
If <a href='#SkPaint_kAntiAlias_Flag'>kAntiAlias Flag</a> is clear, pixel centers contained by the shape edge are drawn opaque.
If <a href='#SkPaint_kAntiAlias_Flag'>kAntiAlias Flag</a> is set, pixels are drawn with <a href='SkColor_Reference#Alpha'>Color Alpha</a> equal to their coverage.
@@ -1646,14 +1646,14 @@ passing through the pixel center may, but is not required to, draw the pixel.
<a href='undocumented#Raster_Engine'>Raster Engine</a> draws <a href='undocumented#Alias'>Aliased</a> pixels whose centers are on or to the right of the start of an
active <a href='SkPath_Reference#Path'>Path</a> edge, and whose center is to the left of the end of the active <a href='SkPath_Reference#Path'>Path</a> edge.
-A platform may only support Anti-aliased drawing. Some GPU-backed platforms use
-<a href='undocumented#Supersampling'>Supersampling</a> to Anti-alias all drawing, and have no mechanism to selectively
+A platform may only support <a href='#Anti_Alias'>Anti Aliased</a> drawing. Some GPU-backed platforms use
+<a href='undocumented#Supersampling'>Supersampling</a> to <a href='#Anti_Alias'>Anti Alias</a> all drawing, and have no mechanism to selectively
<a href='undocumented#Alias'>Alias</a>.
-The amount of coverage computed for Anti-aliased pixels also varies across platforms.
+The amount of coverage computed for <a href='#Anti_Alias'>Anti Aliased</a> pixels also varies across platforms.
-Anti-alias is disabled by default.
-Anti-alias can be enabled by default by setting <a href='undocumented#SkPaintDefaults_Flags'>SkPaintDefaults Flags</a> to <a href='#SkPaint_kAntiAlias_Flag'>kAntiAlias Flag</a>
+<a href='#Anti_Alias'>Anti Alias</a> is disabled by default.
+<a href='#Anti_Alias'>Anti Alias</a> can be enabled by default by setting <a href='undocumented#SkPaintDefaults_Flags'>SkPaintDefaults Flags</a> to <a href='#SkPaint_kAntiAlias_Flag'>kAntiAlias Flag</a>
at compile time.
### Example
@@ -1829,17 +1829,17 @@ paint1 == paint2
### See Also
-Gradient <a href='SkColor_Reference#RGB'>Color RGB</a>-565
+Gradient <a href='SkImageInfo_Reference#kRGB_565_SkColorType'>kRGB_565_SkColorType</a>
## <a name='Device_Text'>Device Text</a>
<a href='#LCD_Text'>LCD Text</a> and <a href='#Subpixel_Text'>Subpixel Text</a> increase the precision of glyph position.
-When set, <a href='#SkPaint_Flags'>Flags</a> <a href='#SkPaint_kLCDRenderText_Flag'>kLCDRenderText Flag</a> takes advantage of the organization of <a href='SkColor_Reference#RGB'>Color RGB</a> stripes that
+When set, <a href='#SkPaint_Flags'>Flags</a> <a href='#SkPaint_kLCDRenderText_Flag'>kLCDRenderText Flag</a> takes advantage of the organization of RGB stripes that
create a color, and relies
on the small size of the stripe and visual perception to make the color fringing imperceptible.
<a href='#LCD_Text'>LCD Text</a> can be enabled on devices that orient stripes horizontally or vertically, and that order
-the color components as <a href='SkColor_Reference#RGB'>Color RGB</a> or <a href='SkColor_Reference#RBG'>Color RBG</a>.
+the color components as RGB or BGR.
<a href='#SkPaint_Flags'>Flags</a> <a href='#SkPaint_kSubpixelText_Flag'>kSubpixelText Flag</a> uses the pixel transparency to represent a fractional offset.
As the opaqueness
@@ -1989,11 +1989,11 @@ paint1 == paint2
## <a name='LCD_Text'>LCD Text</a>
-When set, <a href='#SkPaint_Flags'>Flags</a> <a href='#SkPaint_kLCDRenderText_Flag'>kLCDRenderText Flag</a> takes advantage of the organization of <a href='SkColor_Reference#RGB'>Color RGB</a> stripes that
+When set, <a href='#SkPaint_Flags'>Flags</a> <a href='#SkPaint_kLCDRenderText_Flag'>kLCDRenderText Flag</a> takes advantage of the organization of RGB stripes that
create a color, and relies
on the small size of the stripe and visual perception to make the color fringing imperceptible.
<a href='#LCD_Text'>LCD Text</a> can be enabled on devices that orient stripes horizontally or vertically, and that order
-the color components as <a href='SkColor_Reference#RGB'>Color RGB</a> or <a href='SkColor_Reference#RBG'>Color RBG</a>.
+the color components as RGB or BGR.
<a name='SkPaint_isLCDRenderText'></a>
## isLCDRenderText
@@ -2544,22 +2544,22 @@ kHigh_SkFilterQuality == paint.getFilterQuality()
| name | description |
| --- | --- |
-| <a href='#SkPaint_getColor'>getColor</a> | returns <a href='SkColor_Reference#Alpha'>Color Alpha</a> and <a href='SkColor_Reference#RGB'>Color RGB</a>, one drawing color |
-| <a href='#SkPaint_setColor'>setColor</a> | sets <a href='SkColor_Reference#Alpha'>Color Alpha</a> and <a href='SkColor_Reference#RGB'>Color RGB</a>, one drawing color |
+| <a href='#SkPaint_getColor'>getColor</a> | returns <a href='SkColor_Reference#Alpha'>Color Alpha</a> and RGB, one drawing color |
+| <a href='#SkPaint_setColor'>setColor</a> | sets <a href='SkColor_Reference#Alpha'>Color Alpha</a> and RGB, one drawing color |
-<a href='SkColor_Reference#Color'>Color</a> specifies the <a href='SkColor_Reference#RGB_Red'>Color RGB Red</a>, <a href='SkColor_Reference#RGB_Blue'>Color RGB Blue</a>, <a href='SkColor_Reference#RGB_Green'>Color RGB Green</a>, and <a href='SkColor_Reference#Alpha'>Color Alpha</a>
+<a href='SkColor_Reference#Color'>Color</a> specifies the red, blue, green, and <a href='SkColor_Reference#Alpha'>Color Alpha</a>
values used to draw a filled or stroked shape in a 32-bit value. Each component
occupies 8-bits, ranging from zero: no contribution; to 255: full intensity.
All values in any combination are valid.
<a href='SkColor_Reference#Color'>Color</a> is not <a href='undocumented#Premultiply'>Premultiplied</a>; <a href='SkColor_Reference#Alpha'>Color Alpha</a> sets the transparency independent of
-<a href='SkColor_Reference#RGB'>Color RGB</a>: <a href='SkColor_Reference#RGB_Red'>Color RGB Red</a>, <a href='SkColor_Reference#RGB_Blue'>Color RGB Blue</a>, and <a href='SkColor_Reference#RGB_Green'>Color RGB Green</a>.
+RGB: red, blue, and green.
-The bit positions of <a href='SkColor_Reference#Alpha'>Color Alpha</a> and <a href='SkColor_Reference#RGB'>Color RGB</a> are independent of the bit
+The bit positions of <a href='SkColor_Reference#Alpha'>Color Alpha</a> and RGB are independent of the bit
positions on the output device, which may have more or fewer bits, and may have
a different arrangement.
-| bit positions | <a href='SkColor_Reference#Alpha'>Color Alpha</a> | <a href='SkColor_Reference#RGB_Red'>Color RGB Red</a> | <a href='SkColor_Reference#RGB_Blue'>Color RGB Blue</a> | <a href='SkColor_Reference#RGB_Green'>Color RGB Green</a> |
+| bit positions | <a href='SkColor_Reference#Alpha'>Color Alpha</a> | red | blue | green |
| --- | --- | --- | --- | --- |
| | 31 - 24 | 23 - 16 | 15 - 8 | 7 - 0 |
@@ -2574,13 +2574,13 @@ a different arrangement.
<a href='SkColor_Reference#SkColor'>SkColor</a> <a href='#SkPaint_getColor'>getColor</a>() const
</pre>
-Retrieves <a href='SkColor_Reference#Alpha'>Alpha</a> and <a href='SkColor_Reference#RGB'>Color RGB</a>, <a href='undocumented#Unpremultiply'>Unpremultiplied</a>, packed into 32 bits.
+Retrieves <a href='SkColor_Reference#Alpha'>Alpha</a> and RGB, <a href='undocumented#Unpremultiply'>Unpremultiplied</a>, packed into 32 bits.
Use helpers <a href='SkColor_Reference#SkColorGetA'>SkColorGetA</a>, <a href='SkColor_Reference#SkColorGetR'>SkColorGetR</a>, <a href='SkColor_Reference#SkColorGetG'>SkColorGetG</a>, and <a href='SkColor_Reference#SkColorGetB'>SkColorGetB</a> to extract
a color component.
### Return Value
-<a href='undocumented#Unpremultiply'>Unpremultiplied</a> <a href='SkColor_Reference#ARGB'>Color ARGB</a>
+<a href='undocumented#Unpremultiply'>Unpremultiplied</a> ARGB
### Example
@@ -2607,13 +2607,13 @@ Yellow is 100% red, 100% green, and 0% blue.
void <a href='#SkPaint_setColor'>setColor</a>(<a href='SkColor_Reference#SkColor'>SkColor</a> color)
</pre>
-Sets <a href='SkColor_Reference#Alpha'>Alpha</a> and <a href='SkColor_Reference#RGB'>Color RGB</a> used when stroking and filling. The <a href='#SkPaint_setColor_color'>color</a> is a 32-bit value,
-<a href='undocumented#Unpremultiply'>Unpremultiplied</a>, packing 8-bit components for <a href='SkColor_Reference#Alpha'>Alpha</a>, <a href='SkColor_Reference#RGB_Red'>Red</a>, <a href='SkColor_Reference#RGB_Blue'>Blue</a>, and <a href='SkColor_Reference#RGB_Green'>Green</a>.
+Sets <a href='SkColor_Reference#Alpha'>Alpha</a> and RGB used when stroking and filling. The <a href='#SkPaint_setColor_color'>color</a> is a 32-bit value,
+<a href='undocumented#Unpremultiply'>Unpremultiplied</a>, packing 8-bit components for <a href='SkColor_Reference#Alpha'>Alpha</a>, red, blue, and green.
### Parameters
<table> <tr> <td><a name='SkPaint_setColor_color'><code><strong>color</strong></code></a></td>
- <td><a href='undocumented#Unpremultiply'>Unpremultiplied</a> <a href='SkColor_Reference#ARGB'>Color ARGB</a></td>
+ <td><a href='undocumented#Unpremultiply'>Unpremultiplied</a> ARGB</td>
</tr>
</table>
@@ -2637,7 +2637,7 @@ green1 == green2
## <a name='Alpha_Methods'>Alpha Methods</a>
-<a href='SkColor_Reference#Alpha'>Color Alpha</a> sets the transparency independent of <a href='SkColor_Reference#RGB'>Color RGB</a>: <a href='SkColor_Reference#RGB_Red'>Color RGB Red</a>, <a href='SkColor_Reference#RGB_Blue'>Color RGB Blue</a>, and <a href='SkColor_Reference#RGB_Green'>Color RGB Green</a>.
+<a href='SkColor_Reference#Alpha'>Color Alpha</a> sets the transparency independent of RGB: red, blue, and green.
<a name='SkPaint_getAlpha'></a>
## getAlpha
@@ -2673,7 +2673,7 @@ Retrieves <a href='SkColor_Reference#Alpha'>Alpha</a> from the <a href='SkColor_
void <a href='#SkPaint_setAlpha'>setAlpha</a>(<a href='undocumented#U8CPU'>U8CPU</a> a)
</pre>
-Replaces <a href='SkColor_Reference#Alpha'>Alpha</a>, leaving <a href='SkColor_Reference#RGB'>Color RGB</a>
+Replaces <a href='SkColor_Reference#Alpha'>Alpha</a>, leaving RGB
unchanged. An out of range value triggers an assert in the debug
build. <a href='#SkPaint_setAlpha_a'>a</a> is <a href='#SkPaint_setAlpha_a'>a</a> value from zero to 255.
<a href='#SkPaint_setAlpha_a'>a</a> set to zero makes <a href='SkColor_Reference#Color'>Color</a> fully transparent; <a href='#SkPaint_setAlpha_a'>a</a> set to 255 makes <a href='SkColor_Reference#Color'>Color</a>
@@ -2708,7 +2708,7 @@ void <a href='#SkPaint_setARGB'>setARGB</a>(<a href='undocumented#U8CPU'>U8CPU</
</pre>
Sets <a href='SkColor_Reference#Color'>Color</a> used when drawing solid fills. The color components range from 0 to 255.
-The color is <a href='undocumented#Unpremultiply'>Unpremultiplied</a>; <a href='SkColor_Reference#Alpha'>Alpha</a> sets the transparency independent of <a href='SkColor_Reference#RGB'>Color RGB</a>.
+The color is <a href='undocumented#Unpremultiply'>Unpremultiplied</a>; <a href='SkColor_Reference#Alpha'>Alpha</a> sets the transparency independent of RGB.
### Parameters
@@ -2716,13 +2716,13 @@ The color is <a href='undocumented#Unpremultiply'>Unpremultiplied</a>; <a href='
<td>amount of <a href='SkColor_Reference#Alpha'>Color Alpha</a>, from fully transparent (0) to fully opaque (255)</td>
</tr>
<tr> <td><a name='SkPaint_setARGB_r'><code><strong>r</strong></code></a></td>
- <td>amount of <a href='SkColor_Reference#RGB_Red'>Color RGB Red</a>, from no red (0) to full red (255)</td>
+ <td>amount of red, from no red (0) to full red (255)</td>
</tr>
<tr> <td><a name='SkPaint_setARGB_g'><code><strong>g</strong></code></a></td>
- <td>amount of <a href='SkColor_Reference#RGB_Green'>Color RGB Green</a>, from no green (0) to full green (255)</td>
+ <td>amount of green, from no green (0) to full green (255)</td>
</tr>
<tr> <td><a name='SkPaint_setARGB_b'><code><strong>b</strong></code></a></td>
- <td>amount of <a href='SkColor_Reference#RGB_Blue'>Color RGB Blue</a>, from no blue (0) to full blue (255)</td>
+ <td>amount of blue, from no blue (0) to full blue (255)</td>
</tr>
</table>
diff --git a/site/user/api/SkPoint_Reference.md b/site/user/api/SkPoint_Reference.md
index 064bfd8068..a8145ed038 100644
--- a/site/user/api/SkPoint_Reference.md
+++ b/site/user/api/SkPoint_Reference.md
@@ -1738,7 +1738,7 @@ product of input magnitudes and cosine of the angle between them
## <a name='Vector'>Vector</a>
-# <a name='SkVector'>Typedef SkVector</a>
+## <a name='SkVector'>Typedef SkVector</a>
<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
typedef <a href='#SkPoint'>SkPoint</a> <a href='#SkVector'>SkVector</a>;
diff --git a/site/user/api/SkSurface_Reference.md b/site/user/api/SkSurface_Reference.md
index 0f38d735cf..559291e944 100644
--- a/site/user/api/SkSurface_Reference.md
+++ b/site/user/api/SkSurface_Reference.md
@@ -1849,7 +1849,7 @@ converting to <a href='#Surface'>Surface</a> colorType() and <a href='#Surface'>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="760793bcf0ef193fa61ea03e6e8fc825"></fiddle-embed></div>
### See Also
@@ -1887,7 +1887,7 @@ converting to <a href='#Surface'>Surface</a> colorType() and <a href='#Surface'>
### Example
-<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div>
+<div><fiddle-embed name="d77790dd3bc9f678fa4f582347fb8fba"></fiddle-embed></div>
### See Also
diff --git a/site/user/api/catalog.htm b/site/user/api/catalog.htm
index 7e6f3599df..698aed4ded 100644
--- a/site/user/api/catalog.htm
+++ b/site/user/api/catalog.htm
@@ -574,6 +574,48 @@
"name": "SkCanvas::restoreToCount",
"stdout": "depth = 1\\ndepth = 3\\ndepth = 1\\n"
},
+ "SkColor4f_FromColor": {
+ "code": "void draw(SkCanvas* canvas) {\n uint8_t red = 77, green = 101, blue = 153, alpha = 43;\n SkColor argb = SkColorSetARGB(alpha, red, green, blue);\n SkColor4f color4f = SkColor4f::FromColor(argb);\n SkDebugf(\"red=%g green=%g blue=%g alpha=%g\\n\", color4f.fR, color4f.fG, color4f.fB, color4f.fA);\n SkColor fromColor4f = color4f.toSkColor();\n SkDebugf(\"red=%d green=%d blue=%d alpha=%d\\n\", SkColorGetR(fromColor4f),\n SkColorGetG(fromColor4f), SkColorGetB(fromColor4f), SkColorGetA(fromColor4f));\n}",
+ "hash": "33b029064e8d1928e42a587c953d0e4e",
+ "file": "SkColor4f_Reference",
+ "name": "SkColor4f::FromColor",
+ "stdout": "red=0.0742136 green=0.130136 blue=0.318547 alpha=0.168627\\nred=77 green=101 blue=153 alpha=43\\n"
+ },
+ "SkColor4f_equal1_operator": {
+ "code": "void draw(SkCanvas* canvas) {\n SkColor4f colorRed = { 1, 0, 0, 1 };\n SkColor4f colorNamedRed = SkColor4f::FromColor(SK_ColorRED);\n SkDebugf(\"colorRed %c= colorNamedRed\", colorRed == colorNamedRed ? '=' : '!');\n}",
+ "hash": "e5b34bcb7f80f2ed890cdacaa059db0d",
+ "file": "SkColor4f_Reference",
+ "name": "SkColor4f::operator==(const SkColor4f& other)_const",
+ "stdout": "colorRed == colorNamedRed"
+ },
+ "SkColor4f_notequal1_operator": {
+ "code": "void draw(SkCanvas* canvas) {\n SkColor4f colorGray = { .5, .5, .5, 1 };\n SkColor4f colorNamedGray = SkColor4f::FromColor(SK_ColorGRAY);\n SkDebugf(\"colorGray %c= colorNamedGray \", colorGray != colorNamedGray ? '!' : '=');\n}",
+ "hash": "82f1a9b4c2b27aa547061786d1f33dab",
+ "file": "SkColor4f_Reference",
+ "name": "SkColor4f::operator!=(const SkColor4f& other)_const",
+ "stdout": "colorGray != colorNamedGray"
+ },
+ "SkColor4f_toSkColor": {
+ "code": "void draw(SkCanvas* canvas) {\n float red = 0.07, green = 0.13, blue = 0.32, alpha = 0.17;\n SkColor4f color4f = { red, green, blue, alpha };\n SkColor argb = color4f.toSkColor();\n SkDebugf(\"red=%d green=%d blue=%d alpha=%d\\n\", SkColorGetR(argb),\n SkColorGetG(argb), SkColorGetB(argb), SkColorGetA(argb));\n SkColor4f fromSkColor = SkColor4f::FromColor(argb);\n SkDebugf(\"red=%g green=%g blue=%g alpha=%g\\n\", fromSkColor.fR, fromSkColor.fG,\n fromSkColor.fB, fromSkColor.fA);\n}",
+ "hash": "edc5fd18d961f7607d2bcbf7f7d427e5",
+ "file": "SkColor4f_Reference",
+ "name": "SkColor4f::toSkColor",
+ "stdout": "red=75 green=101 blue=153 alpha=43\\nred=0.0703601 green=0.130136 blue=0.318547 alpha=0.168627\\n"
+ },
+ "SkColor4f_vec": {
+ "code": "void draw(SkCanvas* canvas) {\n SkColor4f color = SkColor4f::FromColor(0x884488CC);\n SkDebugf(\"red=%g green=%g blue=%g alpha=%g\\n\", color.fR, color.fG, color.fB, color.fA);\n const float* array = color.vec();\n SkDebugf(\"[0]=%g [1]=%g [2]=%g [3]=%g\\n\", array[0], array[1], array[2], array[3]);\n}",
+ "hash": "229057023515224358a36acf15508cf6",
+ "file": "SkColor4f_Reference",
+ "name": "SkColor4f::vec()",
+ "stdout": "red=0.0578054 green=0.246201 blue=0.603827 alpha=0.533333\\n[0]=0.0578054 [1]=0.246201 [2]=0.603827 [3]=0.533333\\n"
+ },
+ "SkColor4f_vec_2": {
+ "code": "void draw(SkCanvas* canvas) {\n SkColor4f color = SkColor4f::FromColor(0x884488CC);\n SkDebugf(\"red=%g green=%g blue=%g alpha=%g\\n\", color.fR, color.fG, color.fB, color.fA);\n float* array = color.vec();\n array[3] = 1;\n SkDebugf(\"[0]=%g [1]=%g [2]=%g [3]=%g\\n\", array[0], array[1], array[2], array[3]);\n}",
+ "hash": "7420bf0a7cae5c6577c4c4a4613e7e7e",
+ "file": "SkColor4f_Reference",
+ "name": "SkColor4f::vec_2",
+ "stdout": "red=0.0578054 green=0.246201 blue=0.603827 alpha=0.533333\\n[0]=0.0578054 [1]=0.246201 [2]=0.603827 [3]=1\\n"
+ },
"SkIPoint_Make": {
"code": "void draw(SkCanvas* canvas) {\n SkIPoint pt1 = {45, 66};\n SkIPoint pt2 = SkIPoint::Make(45, 66);\n SkDebugf(\"pt1 %c= pt2\\n\", pt1 == pt2 ? '=' : '!');\n}",
"hash": "e5cf5159525bd3140f288a95fe641fae",
@@ -3289,7 +3331,7 @@
"code": "void draw(SkCanvas* canvas) {\n std::vector<uint32_t> srcPixels;\n constexpr int width = 256;\n constexpr int height = 256;\n srcPixels.resize(width * height);\n SkImageInfo imageInfo = SkImageInfo::MakeN32Premul(width, height);\n SkPixmap pixmap(imageInfo, &srcPixels.front(), imageInfo.minRowBytes());\n pixmap.erase(SK_ColorTRANSPARENT);\n pixmap.erase(SK_ColorRED, { 24, 24, 192, 192 } );\n pixmap.erase(SK_ColorTRANSPARENT, { 48, 48, 168, 168 } );\n SkBitmap bitmap;\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n canvas->drawBitmap(bitmap, 48, 48);\n}",
"width": 256,
"height": 256,
- "hash": "cfda8cd3b435bb28e2f4b9c7f15603a6",
+ "hash": "9ca1e2a5b9b4c92ecf4409d0813867d6",
"file": "SkColor_Reference",
"name": "Color_Constants_Transparent"
},
@@ -3477,13 +3519,13 @@
"file": "SkMatrix_Reference",
"name": "MemberIndex"
},
- "Paint_Anti_alias": {
+ "Paint_Anti_Alias": {
"code": "void draw(SkCanvas* canvas) {\n SkBitmap bitmap;\n bitmap.allocN32Pixels(50, 50);\n SkCanvas offscreen(bitmap);\n SkPaint paint;\n paint.setStyle(SkPaint::kStroke_Style);\n paint.setStrokeWidth(10);\n for (bool antialias : { false, true }) {\n paint.setColor(antialias ? SK_ColorRED : SK_ColorBLUE);\n paint.setAntiAlias(antialias);\n bitmap.eraseColor(0);\n offscreen.drawLine(5, 5, 15, 30, paint);\n canvas->drawLine(5, 5, 15, 30, paint);\n canvas->save();\n canvas->scale(10, 10);\n canvas->drawBitmap(bitmap, antialias ? 12 : 0, 0);\n canvas->restore();\n canvas->translate(15, 0);\n }\n}\n",
"width": 512,
"height": 256,
"hash": "a6575a49467ce8d28bb01cc7638fa04d",
"file": "SkPaint_Reference",
- "name": "Anti-alias"
+ "name": "Anti_Alias"
},
"Paint_Blend_Mode_Methods": {
"code": "void draw(SkCanvas* canvas) {\n SkPaint normal, blender;\n normal.setColor(0xFF58a889);\n blender.setColor(0xFF8958a8);\n canvas->clear(0);\n for (SkBlendMode m : { SkBlendMode::kSrcOver, SkBlendMode::kSrcIn, SkBlendMode::kSrcOut } ) {\n normal.setBlendMode(SkBlendMode::kSrcOver);\n canvas->drawOval(SkRect::MakeXYWH(30, 30, 30, 80), normal);\n blender.setBlendMode(m);\n canvas->drawOval(SkRect::MakeXYWH(10, 50, 80, 30), blender);\n canvas->translate(70, 70);\n }\n}\n",
@@ -4656,8 +4698,8 @@
"SkCanvas_drawString": {
"code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n canvas->drawString(\"a small hello\", 20, 20, paint);\n}",
"width": 256,
- "height": 256,
- "hash": "65cc4b15cd1a8d067eb1dbfd7e2c17dd",
+ "height": 48,
+ "hash": "85442cf8d0bce6b5a777853bc36a4dc4",
"file": "SkCanvas_Reference",
"name": "SkCanvas::drawString"
},
@@ -4869,107 +4911,59 @@
"file": "SkCanvas_Reference",
"name": "SkCanvas::writePixels_2"
},
- "SkColor4f_FromColor": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
- "width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
- "file": "SkColor4f_Reference",
- "name": "SkColor4f::FromColor"
-},
"SkColor4f_Pin": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[8];\n SkImageInfo info = SkImageInfo::MakeN32Premul(8, 1);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n pixmap.erase(SK_ColorWHITE);\n SkIRect bounds = {0, 0, 1, 1};\n SkColor4f colors[] = { SkColor4f::Pin(1.5, 0.45f, 0.0, 1), \n SkColor4f::Pin(1, 0.45f, -0.25, 1),\n {1.5, 0.45f, 0.0, 1},\n {1, 0.45f, -0.25, 1},\n };\n for (auto color4f : colors) {\n pixmap.erase(color4f, &bounds);\n bounds.offset(2, 0);\n }\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}",
"width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "height": 40,
+ "hash": "c989cf16c7f8849874eb008cd701af76",
"file": "SkColor4f_Reference",
"name": "SkColor4f::Pin"
},
- "SkColor4f_equal1_operator": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
- "width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
- "file": "SkColor4f_Reference",
- "name": "SkColor4f::operator==(const SkColor4f& other)_const"
-},
- "SkColor4f_notequal1_operator": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
- "width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
- "file": "SkColor4f_Reference",
- "name": "SkColor4f::operator!=(const SkColor4f& other)_const"
-},
"SkColor4f_pin": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[8];\n SkImageInfo info = SkImageInfo::MakeN32Premul(8, 1);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n pixmap.erase(SK_ColorWHITE);\n SkIRect bounds = {0, 0, 1, 1};\n SkColor4f colors[] = { {1.5, 0.45f, 0.0, 1},\n {1, 0.45f, -0.25, 1},\n };\n for (auto color4f : colors) {\n pixmap.erase(color4f, &bounds);\n bounds.offset(2, 0);\n pixmap.erase(color4f.pin(), &bounds);\n bounds.offset(2, 0);\n }\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}",
"width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "height": 40,
+ "hash": "9e349862c5189a44d2acef5da24f2e79",
"file": "SkColor4f_Reference",
"name": "SkColor4f::pin()"
},
- "SkColor4f_toSkColor": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
- "width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
- "file": "SkColor4f_Reference",
- "name": "SkColor4f::toSkColor"
-},
- "SkColor4f_vec": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
- "width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
- "file": "SkColor4f_Reference",
- "name": "SkColor4f::vec()"
-},
- "SkColor4f_vec_2": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
- "width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
- "file": "SkColor4f_Reference",
- "name": "SkColor4f::vec_2"
-},
"SkColorGetA": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setAntiAlias(true);\n paint.setColor(SK_ColorRED);\n for (int alpha = 255; alpha >= 0; alpha -= 17) {\n paint.setAlpha(alpha);\n canvas->drawRect({5, 5, 100, 20}, paint);\n SkAlpha alphaInPaint = SkColorGetA(paint.getColor());\n canvas->drawString(std::to_string(alphaInPaint).c_str(), 110, 18, paint);\n canvas->translate(0, 15);\n }\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "896ce0316b489608a95af5439ca2aab1",
"file": "SkColor_Reference",
"name": "SkColorGetA"
},
"SkColorGetB": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n canvas->drawBitmap(source, 0, 0);\n SkPaint bgPaint;\n bgPaint.setColor(0xafffffff);\n canvas->drawRect({20, 50, 80, 70}, bgPaint);\n uint8_t blue = SkColorGetB(source.getColor(168, 170));\n canvas->drawString(std::to_string(blue).c_str(), 40, 65, SkPaint());\n canvas->drawLine(80, 70, 168, 170, SkPaint());\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "9ee27675284faea375611dc88123a2c5",
"file": "SkColor_Reference",
"name": "SkColorGetB"
},
"SkColorGetG": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n canvas->drawBitmap(source, 0, 0);\n SkPaint bgPaint;\n bgPaint.setColor(0xafffffff);\n canvas->drawRect({20, 50, 80, 70}, bgPaint);\n uint8_t green = SkColorGetG(source.getColor(57, 192));\n canvas->drawString(std::to_string(green).c_str(), 40, 65, SkPaint());\n canvas->drawLine(80, 70, 57, 192, SkPaint());\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "535d38b2c019299d915170f7b03d5fea",
"file": "SkColor_Reference",
"name": "SkColorGetG"
},
"SkColorGetR": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n canvas->drawBitmap(source, 0, 0);\n SkPaint bgPaint;\n bgPaint.setColor(0xafffffff);\n canvas->drawRect({20, 50, 80, 70}, bgPaint);\n uint8_t red = SkColorGetR(source.getColor(226, 128));\n canvas->drawString(std::to_string(red).c_str(), 40, 65, SkPaint());\n canvas->drawLine(80, 70, 226, 128, SkPaint());\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "d6da38577f189eaa6d9df75f6c3ed252",
"file": "SkColor_Reference",
"name": "SkColorGetR"
},
"SkColorSetA": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n canvas->drawBitmap(source, 0, 0);\n for (int y = 0; y < 256; y += 16) {\n for (int x = 0; x < 256; x += 16) {\n SkColor color = source.getColor(x + 8, y + 8);\n SkPaint paint;\n paint.setColor(SkColorSetA(color, x + y));\n canvas->drawRect(SkRect::MakeXYWH(x, y, 16, 16), paint);\n }\n }\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "18f6f376f771f5ffa56d5e5b2ebd20fb",
"file": "SkColor_Reference",
"name": "SkColorSetA"
},
@@ -4990,10 +4984,10 @@
"name": "SkColorSetRGB"
},
"SkColorToHSV": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n canvas->drawBitmap(source, 0, 0);\n for (int y = 0; y < 256; ++y) {\n for (int x = 0; x < 256; ++x) {\n SkScalar hsv[3];\n SkColorToHSV(source.getColor(x, y), hsv);\n SkTSwap(hsv[1], hsv[2]);\n SkPaint paint;\n paint.setColor(SkHSVToColor(hsv));\n canvas->drawRect(SkRect::MakeXYWH(x, y, 1, 1), paint);\n }\n }\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "7d7e427e2b181c651abad5732bc46cf7",
"file": "SkColor_Reference",
"name": "SkColorToHSV"
},
@@ -5022,18 +5016,18 @@
"name": "SkColorTypeValidateAlphaType"
},
"SkHSVToColor": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n canvas->drawBitmap(source, 0, 0);\n for (int y = 0; y < 256; ++y) {\n for (int x = 0; x < 256; ++x) {\n SkColor color = source.getColor(x, y);\n SkScalar hsv[3];\n SkColorToHSV(color, hsv);\n hsv[0] = hsv[0] + 90 >= 360 ? hsv[0] - 270 : hsv[0] + 90;\n SkPaint paint;\n paint.setColor(SkHSVToColor(x + y, hsv));\n canvas->drawRect(SkRect::MakeXYWH(x, y, 1, 1), paint);\n }\n }\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "311a59931ac340b90f202cd6ac399a0a",
"file": "SkColor_Reference",
"name": "SkHSVToColor"
},
"SkHSVToColor_2": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n canvas->drawBitmap(source, 0, 0);\n for (int y = 0; y < 256; ++y) {\n for (int x = 0; x < 256; ++x) {\n SkColor color = source.getColor(x, y);\n SkScalar hsv[3];\n SkColorToHSV(color, hsv);\n hsv[0] = hsv[0] + 90 >= 360 ? hsv[0] - 270 : hsv[0] + 90;\n SkPaint paint;\n paint.setColor(SkHSVToColor(hsv));\n canvas->drawRect(SkRect::MakeXYWH(x, y, 1, 1), paint);\n }\n }\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "d355a17547908cdbc2c38720974b5d11",
"file": "SkColor_Reference",
"name": "SkHSVToColor_2"
},
@@ -5326,10 +5320,10 @@
"name": "SkImage::MakeRasterData"
},
"SkImage_alphaType": {
- "code": "void draw(SkCanvas* canvas) {\n const char* alphaTypeStr[] = { \"Unknown\", \"Opaque\", \"Premul\", \"Unpremul\" };\n SkAlphaType alphaType = image->alphaType();\n canvas->drawImage(image, 16, 0);\n SkPaint paint;\n canvas->drawString(alphaTypeStr[(int) alphaType], 20, image->height() + 20, paint);\n}",
+ "code": "void draw(SkCanvas* canvas) {\n const char* alphaTypeStr[] = { \"Unknown\", \"Opaque\", \"Premul\", \"Unpremul\" };\n SkAlphaType alphaType = image->alphaType();\n canvas->drawImage(image, 16, 0);\n canvas->drawString(alphaTypeStr[(int) alphaType], 20, image->height() + 20, SkPaint());\n}",
"width": 256,
"height": 96,
- "hash": "dac1403132a42459d6881585efbfe74b",
+ "hash": "1b9f1f05026ceb14ccb6926a13cdaa83",
"file": "SkImage_Reference",
"name": "SkImage::alphaType"
},
@@ -5358,10 +5352,10 @@
"name": "SkImage::colorSpace"
},
"SkImage_colorType": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n const char* colors[] = { \"Unknown\", \"Alpha_8\", \"RGB_565\", \"ARGB_4444\", \"RGBA_8888\", \"RGB_888x\",\n \"BGRA_8888\", \"RGBA_1010102\", \"RGB_101010x\", \"Gray_8\", \"RGBA_F16\" };\n SkColorType colorType = image->colorType();\n canvas->drawImage(image, 16, 0);\n canvas->drawString(colors[(int) colorType], 20, image->height() + 20, SkPaint());\n}",
"width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "height": 96,
+ "hash": "50396fad4a128f58e400ca00fe09711f",
"file": "SkImage_Reference",
"name": "SkImage::colorType"
},
@@ -7150,26 +7144,26 @@
"name": "SkPoint::operator-=(const SkVector& v)"
},
"SkPreMultiplyARGB": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
- "width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "code": "void draw(SkCanvas* canvas) {\n SkPMColor premultiplied = SkPreMultiplyARGB(160, 128, 160, 192);\n canvas->drawString(\"Unpremultiplied:\", 20, 20, SkPaint());\n canvas->drawString(\"alpha=160 red=128 green=160 blue=192\", 20, 40, SkPaint());\n canvas->drawString(\"Premultiplied:\", 20, 80, SkPaint());\n std::string str = \"alpha=\" + std::to_string(SkColorGetA(premultiplied));\n str += \" red=\" + std::to_string(SkColorGetR(premultiplied));\n str += \" green=\" + std::to_string(SkColorGetG(premultiplied));\n str += \" blue=\" + std::to_string(SkColorGetB(premultiplied));\n canvas->drawString(str.c_str(), 20, 100, SkPaint());\n}",
+ "width": 300,
+ "height": 128,
+ "hash": "756345484fd48ca0ea7b6cec350f73b8",
"file": "SkColor_Reference",
"name": "SkPreMultiplyARGB"
},
"SkPreMultiplyColor": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
- "width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "code": "void draw(SkCanvas* canvas) {\n SkColor unpremultiplied = SkColorSetARGB(160, 128, 160, 192);\n SkPMColor premultiplied = SkPreMultiplyColor(unpremultiplied);\n canvas->drawString(\"Unpremultiplied:\", 20, 20, SkPaint());\n std::string str = \"alpha=\" + std::to_string(SkColorGetA(unpremultiplied));\n str += \" red=\" + std::to_string(SkColorGetR(unpremultiplied));\n str += \" green=\" + std::to_string(SkColorGetG(unpremultiplied));\n str += \" blue=\" + std::to_string(SkColorGetB(unpremultiplied));\n canvas->drawString(str.c_str(), 20, 40, SkPaint());\n canvas->drawString(\"Premultiplied:\", 20, 80, SkPaint());\n str = \"alpha=\" + std::to_string(SkColorGetA(premultiplied));\n str += \" red=\" + std::to_string(SkColorGetR(premultiplied));\n str += \" green=\" + std::to_string(SkColorGetG(premultiplied));\n str += \" blue=\" + std::to_string(SkColorGetB(premultiplied));\n canvas->drawString(str.c_str(), 20, 100, SkPaint());\n}",
+ "width": 300,
+ "height": 128,
+ "hash": "0bcc0f86a2aefc899f3500503dce6968",
"file": "SkColor_Reference",
"name": "SkPreMultiplyColor"
},
"SkRGBToHSV": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n canvas->drawBitmap(source, 0, 0);\n SkPaint bgPaint;\n bgPaint.setColor(0xafffffff);\n canvas->drawRect({20, 30, 110, 90}, bgPaint);\n SkScalar hsv[3];\n SkColor c = source.getColor(226, 128);\n SkRGBToHSV(SkColorGetR(c), SkColorGetG(c), SkColorGetB(c), hsv);\n canvas->drawString((\"h: \" + std::to_string(hsv[0]).substr(0, 6)).c_str(), 27, 45, SkPaint());\n canvas->drawString((\"s: \" + std::to_string(hsv[1]).substr(0, 6)).c_str(), 27, 65, SkPaint());\n canvas->drawString((\"v: \" + std::to_string(hsv[2]).substr(0, 6)).c_str(), 27, 85, SkPaint());\n canvas->drawLine(110, 90, 226, 128, SkPaint());\n}",
"width": 256,
"height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "hash": "4fb2da4a3d9b14ca4ac24eefb0f5126a",
"file": "SkColor_Reference",
"name": "SkRGBToHSV"
},
@@ -7302,18 +7296,18 @@
"name": "SkSurface::readPixels_3"
},
"SkSurface_writePixels": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n sk_sp<SkSurface> surf(SkSurface::MakeRasterN32Premul(64, 64));\n auto surfCanvas = surf->getCanvas();\n surfCanvas->clear(SK_ColorRED);\n SkPaint paint;\n paint.setTextSize(40);\n surfCanvas->drawString(\"&\", 16, 40, paint);\n SkPixmap pixmap;\n if (surf->peekPixels(&pixmap)) {\n surf->writePixels(pixmap, 25, 25);\n sk_sp<SkImage> image(surf->makeImageSnapshot());\n canvas->drawImage(image, 0, 0);\n }\n}",
"width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "height": 96,
+ "hash": "760793bcf0ef193fa61ea03e6e8fc825",
"file": "SkSurface_Reference",
"name": "SkSurface::writePixels"
},
"SkSurface_writePixels_2": {
- "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}",
+ "code": "void draw(SkCanvas* canvas) {\n sk_sp<SkSurface> surf(SkSurface::MakeRasterN32Premul(64, 64));\n auto surfCanvas = surf->getCanvas();\n surfCanvas->clear(SK_ColorGREEN);\n surf->writePixels(source, 25, 25);\n sk_sp<SkImage> image(surf->makeImageSnapshot());\n canvas->drawImage(image, 0, 0);\n}",
"width": 256,
- "height": 256,
- "hash": "882e8e0103048009a25cfc20400492f7",
+ "height": 96,
+ "hash": "d77790dd3bc9f678fa4f582347fb8fba",
"file": "SkSurface_Reference",
"name": "SkSurface::writePixels_2"
}
diff --git a/site/user/api/undocumented.md b/site/user/api/undocumented.md
index b4f83bd4b4..a3034eb73f 100644
--- a/site/user/api/undocumented.md
+++ b/site/user/api/undocumented.md
@@ -504,7 +504,7 @@ void <a href='#SkPixelRef_setImmutable'>setImmutable</a>()
# <a name='SkRasterHandleAllocator'>Class SkRasterHandleAllocator</a>
-# <a name='SkRasterHandleAllocator_Handle'>Typedef SkRasterHandleAllocator::Handle</a>
+## <a name='SkRasterHandleAllocator_Handle'>Typedef SkRasterHandleAllocator::Handle</a>
# <a name='SkRasterHandleAllocator_Rec'>Struct SkRasterHandleAllocator::Rec</a>
@@ -579,7 +579,7 @@ void <a href='#SkRRect_dumpHex'>dumpHex</a>() const
# <a name='Scalar'>Scalar</a>
-# <a name='SkScalar'>Typedef SkScalar</a>
+## <a name='SkScalar'>Typedef SkScalar</a>
# <a name='Shader'>Shader</a>