diff options
Diffstat (limited to 'site/user/api/SkColor_Reference.md')
-rw-r--r-- | site/user/api/SkColor_Reference.md | 940 |
1 files changed, 632 insertions, 308 deletions
diff --git a/site/user/api/SkColor_Reference.md b/site/user/api/SkColor_Reference.md index 42de657ae3..f2a1475e1c 100644 --- a/site/user/api/SkColor_Reference.md +++ b/site/user/api/SkColor_Reference.md @@ -1,187 +1,334 @@ SkColor Reference === -# <a name="Color"></a> Color +# <a name='Color'>Color</a> -## <a name="Overview"></a> Overview +## Overview -## <a name="Overview_Subtopic"></a> Overview Subtopic - -| name | description | -| --- | --- | - -## <a name="Define"></a> Define +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Topic</th> +<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Define'>Defines</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>preprocessor definitions of functions, values</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Member_Function'>Functions</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>global and class member functions</td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Related_Function'>Related Functions</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>similar member functions grouped together</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Typedef'>Typedef Declarations</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>types defined by other types</td> + </tr> +</table> -| name | description | -| --- | --- | -## <a name="Function"></a> Function +## <a name='Define'>Define</a> -| name | description | -| --- | --- | -## <a name="Typedef"></a> Typedef +SkColor uses preprocessor definitions to inline code and constants, and to abstract platform-specific functionality. +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Topic</th> +<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorGetA'>SkColorGetA</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns <a href='#Alpha'>Alpha</a> component</td> + </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> + </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> + </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> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorSetRGB'>SkColorSetRGB</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>returns opaque <a href='#Color'>Color</a></td> + </tr> +</table> +<a href='#Color'>Color</a> constants can be helpful to write code, documenting the meaning of values +the represent transparency and color values. The use of <a href='#Color'>Color</a> constants is not +required. -| name | description | -| --- | --- | +## <a name='Constant'>Constant</a> -## <a name="Alpha"></a> Alpha -## <a name="RGB"></a> RGB +SkColor related constants are defined by <code>enum</code>, <code>enum class</code>, <code>#define</code>, <code>const</code>, and <code>constexpr</code>. +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Topic</th> +<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_AlphaOPAQUE'>SK AlphaOPAQUE</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>fully opaque <a href='#SkAlpha'>SkAlpha</a></td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_AlphaTRANSPARENT'>SK AlphaTRANSPARENT</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>fully transparent <a href='#SkAlpha'>SkAlpha</a></td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorBLACK'>SK ColorBLACK</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>black <a href='#Color'>Color</a></td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorBLUE'>SK ColorBLUE</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>blue <a href='#Color'>Color</a></td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorCYAN'>SK ColorCYAN</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>cyan <a href='#Color'>Color</a></td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorDKGRAY'>SK ColorDKGRAY</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>dark gray <a href='#Color'>Color</a></td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorGRAY'>SK ColorGRAY</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>gray <a href='#Color'>Color</a></td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorGREEN'>SK ColorGREEN</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>green <a href='#Color'>Color</a></td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorLTGRAY'>SK ColorLTGRAY</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>light gray <a href='#Color'>Color</a></td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorMAGENTA'>SK ColorMAGENTA</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>magenta <a href='#Color'>Color</a></td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorRED'>SK ColorRED</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>red <a href='#Color'>Color</a></td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorTRANSPARENT'>SK ColorTRANSPARENT</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>transparent <a href='#Color'>Color</a></td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorWHITE'>SK ColorWHITE</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>white <a href='#Color'>Color</a></td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SK_ColorYELLOW'>SK ColorYELLOW</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>yellow <a href='#Color'>Color</a></td> + </tr> +</table> -## <a name="RGB_Red"></a> RGB Red -## <a name="RGB_Blue"></a> RGB Blue +## <a name='Function'>Function</a> -## <a name="RGB_Green"></a> RGB Green -## <a name="ARGB"></a> ARGB +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Topic</th> +<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorSetA'>SkColorSetA</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>incomplete</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> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColorToHSV'>SkColorToHSV</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>converts RGB to <a href='#HSV'>HSV</a></td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkHSVToColor'>SkHSVToColor</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>converts <a href='#HSV'>HSV</a> with <a href='#Alpha'>Alpha</a> to RGB</td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkHSVToColor'>SkHSVToColor(U8CPU alpha, const SkScalar hsv[3])</a></td> + </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> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPreMultiplyColor'>SkPreMultiplyColor</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>converts <a href='undocumented#Unpremultiply'>Unpremultiplied</a> <a href='#Color'>Color</a> to <a href='undocumented#Premultiply'>Premultiplied</a> <a href='#PMColor'>PMColor</a></td> + </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> + </tr> +</table> -## <a name="RBG"></a> RBG -## <a name="RGB-565"></a> RGB-565 +## <a name='Typedef'>Typedef</a> -## <a name="Gray"></a> Gray -<a href="undocumented#Types">Types</a> and macros for colors -8-bit type for an alpha value. 0xFF is 100% opaque, 0x00 is 100% transparent. -32 bit <a href="#ARGB">ARGB</a> color value, not premultiplied. The color 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. +SkColor <code>typedef</code> define a data type. +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Topic</th> +<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Description</th></tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkAlpha'>SkAlpha</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>defines <a href='#Alpha'>Alpha</a> as eight bits</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkColor'>SkColor</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>defines <a href='#Color'>Color</a> as 32 bits</td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#SkPMColor'>SkPMColor</a></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>defines <a href='undocumented#Premultiply'>Premultiplied</a> <a href='#Color'>Color</a> as 32 bits</td> + </tr> +</table> -<a name="SkColorSetARGB"></a> -## SkColorSetARGB -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> -static constexpr inline SkColor SkColorSetARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b) -</pre> +## <a name='RGB'>RGB</a> -Return <a href="#SkColorSetARGB_a">a</a> <a href="#SkColor">SkColor</a> value from 8 bit component values +## <a name='RGB_Red'>RGB Red</a> -### Parameters +## <a name='RGB_Blue'>RGB Blue</a> -<table> <tr> <td><a name="SkColorSetARGB_a"> <code><strong>a </strong></code> </a></td> <td> -incomplete</td> - </tr> <tr> <td><a name="SkColorSetARGB_r"> <code><strong>r </strong></code> </a></td> <td> -incomplete</td> - </tr> <tr> <td><a name="SkColorSetARGB_g"> <code><strong>g </strong></code> </a></td> <td> -incomplete</td> - </tr> <tr> <td><a name="SkColorSetARGB_b"> <code><strong>b </strong></code> </a></td> <td> -incomplete</td> - </tr> -</table> +## <a name='RGB_Green'>RGB Green</a> -### Return Value +## <a name='ARGB'>ARGB</a> -incomplete +## <a name='RBG'>RBG</a> -### Example +## <a name='RGB-565'>RGB-565</a> -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +## <a name='Gray'>Gray</a> -### See Also +## <a name='Alpha'>Alpha</a> -incomplete +<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 +transparent. <a href='#Color'>Color</a> with <a href='#Alpha'>Alpha</a> of 255 is fully opaque. Some, but not all pixel +formats contain <a href='#Alpha'>Alpha</a>. Pixels with <a href='#Alpha'>Alpha</a> may store it as unsigned integers or +floating point values. Unsigned integer <a href='#Alpha'>Alpha</a> ranges from zero, fully +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> +8-bit type for an alpha value. 0xFF is 100% opaque, 0x00 is 100% transparent. -<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> +# <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 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. -Legacy aliases. +<a href='#Color'>Color</a> that is <a href='undocumented#Premultiply'>Premultiplied</a> has the same component values as <a href='#Color'>Color</a> +that is <a href='undocumented#Unpremultiply'>Unpremultiplied</a> if <a href='#Alpha'>Alpha</a> is 255, fully opaque, although may have the +component values in a different order. ### See Also -incomplete - -<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> +<a href='#SkPMColor'>SkPMColor</a> -### See Also - -incomplete +<a name='SkColorSetARGB'></a> +## SkColorSetARGB -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define SkColorSetRGB(r, g, b) <a href="#SkColorSetARGB">SkColorSetARGB(0xFF, r, g, b)</a> +<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> +static constexpr inline <a href='#SkColor'>SkColor</a> <a href='#SkColorSetARGB'>SkColorSetARGB</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 <a href="#SkColor">SkColor</a> value from 8 bit component values, with an implied value -of 0xFF for alpha (fully opaque) +Returns <a href='#Color'>Color</a> value from 8-bit component values. Asserts if SK_DEBUG is defined +if <a href='#SkColorSetARGB_a'>a</a>, <a href='#SkColorSetARGB_r'>r</a>, <a href='#SkColorSetARGB_g'>g</a>, or <a href='#SkColorSetARGB_b'>b</a> exceed 255. Since <a href='#Color'>Color</a> is <a href='undocumented#Unpremultiply'>Unpremultiplied</a>, <a href='#SkColorSetARGB_a'>a</a> may be smaller +than the largest of <a href='#SkColorSetARGB_r'>r</a>, <a href='#SkColorSetARGB_g'>g</a>, and <a href='#SkColorSetARGB_b'>b</a>. ### Parameters -<table> <tr> <td><a name="SkColorSetRGB_r"> <code><strong>r </strong></code> </a></td> <td> -incomplete</td> - </tr> <tr> <td><a name="SkColorSetRGB_g"> <code><strong>g </strong></code> </a></td> <td> -incomplete</td> - </tr> <tr> <td><a name="SkColorSetRGB_b"> <code><strong>b </strong></code> </a></td> <td> -incomplete</td> +<table> <tr> <td><a name='SkColorSetARGB_a'><code><strong>a</strong></code></a></td> + <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> + </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> + </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> </tr> </table> +### Return Value + +color and alpha, <a href='undocumented#Unpremultiply'>Unpremultiplied</a> + ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="35888f0869e01a6e03b5b93bba563734"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkColorSetRGB'>SkColorSetRGB</a> <a href='SkPaint_Reference#SkPaint_setARGB'>SkPaint::setARGB</a> <a href='SkPaint_Reference#SkPaint_setColor'>SkPaint::setColor</a> + +--- <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define SkColorGetA(color) (((color) >> 24) & 0xFF) + #define <a href='#SkColorSetARGBInline'>SkColorSetARGBInline</a> <a href='#SkColorSetARGB'>SkColorSetARGB</a> </pre> -return the alpha byte from a <a href="#SkColor">SkColor</a> value - -### Parameters - -<table> <tr> <td><a name="SkColorGetA_color"> <code><strong>color </strong></code> </a></td> <td> -incomplete</td> - </tr> -</table> +Deprecated. -### Example +soon -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<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> -### See Also +Deprecated. -incomplete +soon <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define SkColorGetR(color) (((color) >> 16) & 0xFF) + #define <a href='#SkColorSetRGB'>SkColorSetRGB(r, g, b)</a> <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, r, g, b)</a> </pre> -return the red byte from a <a href="#SkColor">SkColor</a> value +Returns <a href='#Color'>Color</a> value from 8-bit component values, with <a href='#Alpha'>Alpha</a> set +fully opaque to 255. ### Parameters -<table> <tr> <td><a name="SkColorGetR_color"> <code><strong>color </strong></code> </a></td> <td> -incomplete</td> +<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> + </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> + </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> </tr> </table> +### Return Value + +color with opaque alpha + ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="dad12dd912197cd5edd789ac0801bf8a"></fiddle-embed></div> ### See Also incomplete <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define SkColorGetG(color) (((color) >> 8) & 0xFF) + #define <a href='#SkColorGetA'>SkColorGetA(color)</a> (((color) >> 24) & 0xFF) </pre> -return the green byte from a <a href="#SkColor">SkColor</a> value +Returns <a href='#Alpha'>Alpha</a> byte from <a href='#Color'>Color</a> value. ### Parameters -<table> <tr> <td><a name="SkColorGetG_color"> <code><strong>color </strong></code> </a></td> <td> -incomplete</td> +<table> <tr> <td><a name='SkColorGetA_color'><code><strong>color</strong></code></a></td> + <td><a href='#SkColor'>SkColor</a>, a 32-bit unsigned int, in 0xAARRGGBB format</td> </tr> </table> @@ -194,18 +341,22 @@ incomplete</td> incomplete <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define SkColorGetB(color) (((color) >> 0) & 0xFF) + #define <a href='#SkColorGetR'>SkColorGetR(color)</a> (((color) >> 16) & 0xFF) </pre> -return the blue byte from a <a href="#SkColor">SkColor</a> value +Returns red component of <a href='#Color'>Color</a>, from zero to 255. ### Parameters -<table> <tr> <td><a name="SkColorGetB_color"> <code><strong>color </strong></code> </a></td> <td> -incomplete</td> +<table> <tr> <td><a name='SkColorGetR_color'><code><strong>color</strong></code></a></td> + <td><a href='#SkColor'>SkColor</a>, a 32-bit unsigned int, in 0xAARRGGBB format</td> </tr> </table> +### Return Value + +red byte + ### Example <div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> @@ -214,25 +365,22 @@ incomplete</td> incomplete -<a name="SkColorSetA"></a> -## SkColorSetA - <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> -static constexpr inline SkColor SkColorSetA(SkColor c, U8CPU a) + #define <a href='#SkColorGetG'>SkColorGetG(color)</a> (((color) >> 8) & 0xFF) </pre> +Returns green component of <a href='#Color'>Color</a>, from zero to 255. + ### Parameters -<table> <tr> <td><a name="SkColorSetA_c"> <code><strong>c </strong></code> </a></td> <td> -incomplete</td> - </tr> <tr> <td><a name="SkColorSetA_a"> <code><strong>a </strong></code> </a></td> <td> -incomplete</td> +<table> <tr> <td><a name='SkColorGetG_color'><code><strong>color</strong></code></a></td> + <td><a href='#SkColor'>SkColor</a>, a 32-bit unsigned int, in 0xAARRGGBB format</td> </tr> </table> ### Return Value -incomplete +green byte ### Example @@ -242,28 +390,22 @@ incomplete incomplete ---- - <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_AlphaTRANSPARENT">SK AlphaTRANSPARENT</a> static_cast<<a href="#SkAlpha">SkAlpha</a>>(0x00) + #define <a href='#SkColorGetB'>SkColorGetB(color)</a> (((color) >> 0) & 0xFF) </pre> -common colors -transparent <a href="#SkAlpha">SkAlpha</a> value - -### Example - -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +Returns blue component of <a href='#Color'>Color</a>, from zero to 255. -### See Also +### Parameters -incomplete +<table> <tr> <td><a name='SkColorGetB_color'><code><strong>color</strong></code></a></td> + <td><a href='#SkColor'>SkColor</a>, a 32-bit unsigned int, in 0xAARRGGBB format</td> + </tr> +</table> -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_AlphaOPAQUE">SK AlphaOPAQUE</a> static_cast<<a href="#SkAlpha">SkAlpha</a>>(0xFF) -</pre> +### Return Value -opaque <a href="#SkAlpha">SkAlpha</a> value +blue byte ### Example @@ -273,40 +415,29 @@ opaque <a href="#SkAlpha">SkAlpha</a> value incomplete -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorTRANSPARENT">SK ColorTRANSPARENT</a> static_cast<<a href="#SkColor">SkColor</a>>(0x00000000) -</pre> - -transparent <a href="#SkColor">SkColor</a> value - -### Example - -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> - -### See Also - -incomplete +<a name='SkColorSetA'></a> +## SkColorSetA -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorBLACK">SK ColorBLACK</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFF000000) +<pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0"> +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> -black <a href="#SkColor">SkColor</a> value +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>. -### Example +### Parameters -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<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> + </tr> + <tr> <td><a name='SkColorSetA_a'><code><strong>a</strong></code></a></td> + <td>incomplete</td> + </tr> +</table> -### See Also +### Return Value incomplete -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorDKGRAY">SK ColorDKGRAY</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFF444444) -</pre> - -dark gray <a href="#SkColor">SkColor</a> value - ### Example <div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> @@ -315,169 +446,359 @@ dark gray <a href="#SkColor">SkColor</a> value incomplete -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorGRAY">SK ColorGRAY</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFF888888) -</pre> - -gray <a href="#SkColor">SkColor</a> value - -### Example - -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> - -### See Also - -incomplete +--- -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorLTGRAY">SK ColorLTGRAY</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFFCCCCCC) -</pre> +## <a name='Alpha_Constants'>Alpha Constants</a> -light gray <a href="#SkColor">SkColor</a> value -### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +### Constants -### See Also +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th> +<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; '>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; '>fully opaque SkAlpha</td> + </tr> +</table> -incomplete <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorWHITE">SK ColorWHITE</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFFFFFFFF) + constexpr <a href='#SkAlpha'>SkAlpha</a> <a href='#SK_AlphaTRANSPARENT'>SK AlphaTRANSPARENT</a> = 0x00; + constexpr <a href='#SkAlpha'>SkAlpha</a> <a href='#SK_AlphaOPAQUE'>SK AlphaOPAQUE</a> = 0xFF; </pre> -white <a href="#SkColor">SkColor</a> value +<a href='#Alpha'>Alpha</a> constants are conveniences to represent fully transparent and fully +opaque colors and masks. Their use is not required. + +### Constants + +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th> +<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th> +<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Details</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 name='SK_AlphaTRANSPARENT'><code>SK_AlphaTRANSPARENT</code></a></td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x00</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Alpha_Constants_Transparent'>Alpha Constants Transparent</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully transparent <a href='#SkAlpha'>SkAlpha</a> value. <a href='#SkAlpha'>SkAlpha</a> ranges from zero, +fully transparent; to 255, fully opaque. +</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SK_AlphaOPAQUE'><code>SK_AlphaOPAQUE</code></a></td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Alpha_Constants_Opaque'>Alpha Constants Opaque</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque <a href='#SkAlpha'>SkAlpha</a> value. <a href='#SkAlpha'>SkAlpha</a> ranges from zero, +fully transparent; to 255, fully opaque. +</td> + </tr> +</table> + +## <a name='Alpha_Constants_Transparent'>Alpha Constants Transparent</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="bc9c7ea424d10bbcd1e5a88770d4794e"><div><a href='#Color'>Color</a> the parts of the bitmap red if they mostly contain transparent pixels. +</div></fiddle-embed></div> ### See Also -incomplete - -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorRED">SK ColorRED</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFFFF0000) -</pre> +<a href='#SkAlpha'>SkAlpha</a> <a href='#SK_ColorTRANSPARENT'>SK ColorTRANSPARENT</a> <a href='#SK_AlphaOPAQUE'>SK AlphaOPAQUE</a> -red <a href="#SkColor">SkColor</a> value +## <a name='Alpha_Constants_Opaque'>Alpha Constants Opaque</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="0424f67ebc2858e8fd04ae3367b115ff"></fiddle-embed></div> ### See Also -incomplete +<a href='#SkAlpha'>SkAlpha</a> <a href='#SK_AlphaTRANSPARENT'>SK AlphaTRANSPARENT</a> -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorGREEN">SK ColorGREEN</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFF00FF00) -</pre> +## <a name='Color_Constants'>Color Constants</a> -green <a href="#SkColor">SkColor</a> value -### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +### Constants -### See Also +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th> +<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; '>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; '>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; '>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; '>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; '>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; '>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; '>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; '>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; '>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; '>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; '>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; '>magenta Color</td> + </tr> +</table> -incomplete <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorBLUE">SK ColorBLUE</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFF0000FF) + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorTRANSPARENT'>SK ColorTRANSPARENT</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0x00, 0x00, 0x00, 0x00)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorBLACK'>SK ColorBLACK</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0x00, 0x00, 0x00)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorDKGRAY'>SK ColorDKGRAY</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0x44, 0x44, 0x44)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorGRAY'>SK ColorGRAY</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0x88, 0x88, 0x88)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorLTGRAY'>SK ColorLTGRAY</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0xCC, 0xCC, 0xCC)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorWHITE'>SK ColorWHITE</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0xFF, 0xFF, 0xFF)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorRED'>SK ColorRED</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0xFF, 0x00, 0x00)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorGREEN'>SK ColorGREEN</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0x00, 0xFF, 0x00)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorBLUE'>SK ColorBLUE</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0x00, 0x00, 0xFF)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorYELLOW'>SK ColorYELLOW</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0xFF, 0xFF, 0x00)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorCYAN'>SK ColorCYAN</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0x00, 0xFF, 0xFF)</a>; + constexpr <a href='#SkColor'>SkColor</a> <a href='#SK_ColorMAGENTA'>SK ColorMAGENTA</a> = <a href='#SkColorSetARGB'>SkColorSetARGB(0xFF, 0xFF, 0x00, 0xFF)</a>; </pre> -blue <a href="#SkColor">SkColor</a> value +<a href='#Color'>Color</a> names are provided as conveniences, but are not otherwise special. +The values chosen for names may not be the same as values used by +<a href='undocumented#SVG'>SVG</a>, HTML, CSS, or colors named by a platform. ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> - -### See Also - -incomplete - -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorYELLOW">SK ColorYELLOW</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFFFFFF00) -</pre> +<div><fiddle-embed name="1c2e38321464818847f953ddd45cb5a1"></fiddle-embed></div> + +### Constants + +<table style='border-collapse: collapse; width: 62.5em'> + <tr><th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Const</th> +<th style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>Value</th> +<th style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>Details</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 name='SK_ColorTRANSPARENT'><code>SK_ColorTRANSPARENT</code></a></td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0x00000000</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Constants_Transparent'>Color Constants Transparent</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully transparent <a href='#SkColor'>SkColor</a>. May be used to initialize a destination +containing a mask or a non-rectangular image. +</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SK_ColorBLACK'><code>SK_ColorBLACK</code></a></td> + <td style='text-align: center; border: 2px solid #dddddd; padding: 8px; '>0xFF000000</td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a href='#Color_Constants_Black'>Color Constants Black</a> </td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque black. +</td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque dark gray. +Note that SVG_darkgray is equivalent to 0xFFA9A9A9. +</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque gray. +Note that HTML_Gray is equivalent to 0xFF808080. +</td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque light gray. HTML_Silver is equivalent to 0xFFC0C0C0. +Note that SVG_lightgray is equivalent to 0xFFD3D3D3. +</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque white. +</td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque red. +</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque green. HTML_Lime is equivalent. +Note that HTML_Green is equivalent to 0xFF008000. +</td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque blue. +</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque yellow. +</td> + </tr> + <tr style='background-color: #f0f0f0; '> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque cyan. HTML_Aqua is equivalent. +</td> + </tr> + <tr> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='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; '></td> + <td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '> +Represents fully opaque magenta. HTML_Fuchsia is equivalent. +</td> + </tr> +</table> -yellow <a href="#SkColor">SkColor</a> value +## <a name='Color_Constants_Transparent'>Color Constants Transparent</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="cfda8cd3b435bb28e2f4b9c7f15603a6"></fiddle-embed></div> ### See Also -incomplete +<a href='#SK_AlphaTRANSPARENT'>SK AlphaTRANSPARENT</a> <a href='SkCanvas_Reference#SkCanvas_clear'>SkCanvas::clear</a> -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorCYAN">SK ColorCYAN</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFF00FFFF) -</pre> - -cyan <a href="#SkColor">SkColor</a> value +## <a name='Color_Constants_Black'>Color Constants Black</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="6971489f28291f08e429cc6ccc73b09b"></fiddle-embed></div> ### See Also -incomplete - -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> - #define <a href="#SK_ColorMAGENTA">SK ColorMAGENTA</a> static_cast<<a href="#SkColor">SkColor</a>>(0xFFFF00FF) -</pre> +<a href='#SK_ColorTRANSPARENT'>SK ColorTRANSPARENT</a> -magenta <a href="#SkColor">SkColor</a> value +## <a name='Color_Constants_White'>Color Constants White</a> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="fce650f997e802d4e55edf62b8437a2d"></fiddle-embed></div> ### See Also -incomplete +<a href='#SK_ColorTRANSPARENT'>SK ColorTRANSPARENT</a> -## <a name="HSV"></a> HSV +## <a name='HSV'>HSV</a> -## <a name="HSV_Hue"></a> HSV Hue +## <a name='HSV_Hue'>HSV Hue</a> -<a href="#HSV_Hue">Hue</a> represents an angle, in degrees, on a color wheel. <a href="#HSV_Hue">Hue</a> has a positive value +<a href='#HSV_Hue'>Hue</a> represents an angle, in degrees, on a color wheel. <a href='#HSV_Hue'>Hue</a> has a positive value modulo 360, where zero degrees is red. -## <a name="HSV_Saturation"></a> HSV Saturation +## <a name='HSV_Saturation'>HSV Saturation</a> -## <a name="HSV_Value"></a> HSV Value +## <a name='HSV_Value'>HSV Value</a> -<a name="SkRGBToHSV"></a> +<a name='SkRGBToHSV'></a> ## SkRGBToHSV -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> -SK_API void SkRGBToHSV(U8CPU red, U8CPU green, U8CPU blue, SkScalar hsv[3]) +<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]) </pre> -Convert RGB components to <a href="#HSV">HSV</a>. -<a href="#SkRGBToHSV_hsv">hsv</a>[0] is <a href="#HSV_Hue">Hue</a> [0 .. 360) -<a href="#SkRGBToHSV_hsv">hsv</a>[1] is <a href="#HSV_Saturation">Saturation</a> [0...1] -<a href="#SkRGBToHSV_hsv">hsv</a>[2] is <a href="#HSV_Value">Value</a> [0...1] +Converts RGB components to <a href='#HSV'>HSV</a>. +<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. ### Parameters -<table> <tr> <td><a name="SkRGBToHSV_red"> <code><strong>red </strong></code> </a></td> <td> -<a href="#SkRGBToHSV_red">red</a> component value [0..255] -</td> - </tr> <tr> <td><a name="SkRGBToHSV_green"> <code><strong>green </strong></code> </a></td> <td> -<a href="#SkRGBToHSV_green">green</a> component value [0..255] -</td> - </tr> <tr> <td><a name="SkRGBToHSV_blue"> <code><strong>blue </strong></code> </a></td> <td> -<a href="#SkRGBToHSV_blue">blue</a> component value [0..255] -</td> - </tr> <tr> <td><a name="SkRGBToHSV_hsv"> <code><strong>hsv </strong></code> </a></td> <td> -3 element array which holds the resulting <a href="#HSV">HSV</a> components. -</td> +<table> <tr> <td><a name='SkRGBToHSV_red'><code><strong>red</strong></code></a></td> + <td><a href='#SkRGBToHSV_red'>red</a> component value from zero to 255</td> + </tr> + <tr> <td><a name='SkRGBToHSV_green'><code><strong>green</strong></code></a></td> + <td><a href='#SkRGBToHSV_green'>green</a> component value from zero to 255</td> + </tr> + <tr> <td><a name='SkRGBToHSV_blue'><code><strong>blue</strong></code></a></td> + <td><a href='#SkRGBToHSV_blue'>blue</a> component value from zero to 255</td> + </tr> + <tr> <td><a name='SkRGBToHSV_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> @@ -495,26 +816,25 @@ incomplete --- -<a name="SkColorToHSV"></a> +<a name='SkColorToHSV'></a> ## SkColorToHSV -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> -static inline void SkColorToHSV(SkColor color, SkScalar hsv[3]) +<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]) </pre> -Convert the argb <a href="#SkColorToHSV_color">color</a> to its <a href="#HSV">HSV</a> components. -<a href="#SkColorToHSV_hsv">hsv</a>[0] represents <a href="#HSV_Hue">Hue</a>, and is assigned a value from zero to less than 360. -<a href="#SkColorToHSV_hsv">hsv</a>[1] is <a href="#HSV_Saturation">Saturation</a> [0...1] -<a href="#SkColorToHSV_hsv">hsv</a>[2] is <a href="#HSV_Value">Value</a> [0...1] +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. +<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. ### Parameters -<table> <tr> <td><a name="SkColorToHSV_color"> <code><strong>color </strong></code> </a></td> <td> -the argb <a href="#SkColorToHSV_color">color</a> to convert. Note: the alpha component is ignored. -</td> - </tr> <tr> <td><a name="SkColorToHSV_hsv"> <code><strong>hsv </strong></code> </a></td> <td> -3 element array which holds the resulting <a href="#HSV">HSV</a> components. -</td> +<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> + </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> @@ -532,34 +852,33 @@ incomplete --- -<a name="SkHSVToColor"></a> +<a name='SkHSVToColor'></a> ## SkHSVToColor -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> -SK_API SkColor SkHSVToColor(U8CPU alpha, const SkScalar hsv[3]) +<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]) </pre> -Convert <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. -<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. +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. +<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. +If <a href='#SkHSVToColor_hsv'>hsv</a> values are out of range, they are pinned. ### Parameters -<table> <tr> <td><a name="SkHSVToColor_alpha"> <code><strong>alpha </strong></code> </a></td> <td> -the <a href="#SkHSVToColor_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> -3 element array which holds the input <a href="#HSV">HSV</a> components. -</td> +<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> + </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> </tr> </table> ### Return Value -the resulting argb color +<a href='#ARGB'>ARGB</a> equivalent to <a href='#HSV'>HSV</a> ### Example @@ -571,30 +890,30 @@ incomplete --- -<a name="SkHSVToColor_2"></a> +<a name='SkHSVToColor_2'></a> -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> -static inline SkColor SkHSVToColor(const SkScalar hsv[3]) +<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]) </pre> -Convert <a href="#HSV">HSV</a> components to an <a href="#ARGB">ARGB</a> color. The alpha component 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. +Convert <a href='#HSV'>HSV</a> components to an <a href='#ARGB'>ARGB</a> color. The alpha component 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. +If <a href='#SkHSVToColor_2_hsv'>hsv</a> values are out of range, they 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. +<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> </tr> </table> ### Return Value -the resulting argb color +the resulting <a href='#ARGB'>ARGB</a> color ### Example @@ -606,30 +925,36 @@ incomplete --- -32 bit <a href="#ARGB">ARGB</a> color value, premultiplied. 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 nonpremultiplied, and is always in the +## <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 +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. -<a name="SkPreMultiplyARGB"></a> +<a name='SkPreMultiplyARGB'></a> ## SkPreMultiplyARGB -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> -SK_API SkPMColor SkPreMultiplyARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b) +<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) </pre> -Return <a href="#SkPreMultiplyARGB_a">a</a> <a href="#SkPMColor">SkPMColor</a> value from unpremultiplied 8 bit component values +Return <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> - </tr> <tr> <td><a name="SkPreMultiplyARGB_r"> <code><strong>r </strong></code> </a></td> <td> -incomplete</td> - </tr> <tr> <td><a name="SkPreMultiplyARGB_g"> <code><strong>g </strong></code> </a></td> <td> -incomplete</td> - </tr> <tr> <td><a name="SkPreMultiplyARGB_b"> <code><strong>b </strong></code> </a></td> <td> -incomplete</td> +<table> <tr> <td><a name='SkPreMultiplyARGB_a'><code><strong>a</strong></code></a></td> + <td>incomplete</td> + </tr> + <tr> <td><a name='SkPreMultiplyARGB_r'><code><strong>r</strong></code></a></td> + <td>incomplete</td> + </tr> + <tr> <td><a name='SkPreMultiplyARGB_g'><code><strong>g</strong></code></a></td> + <td>incomplete</td> + </tr> + <tr> <td><a name='SkPreMultiplyARGB_b'><code><strong>b</strong></code></a></td> + <td>incomplete</td> </tr> </table> @@ -647,21 +972,20 @@ incomplete --- -<a name="SkPreMultiplyColor"></a> +<a name='SkPreMultiplyColor'></a> ## SkPreMultiplyColor -<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> -SK_API SkPMColor SkPreMultiplyColor(SkColor c) +<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) </pre> -Return a <a href="#SkPMColor">SkPMColor</a> value from a <a href="#SkColor">SkColor</a> value. This is done by multiplying the color -components by the color's alpha, and by arranging the bytes in a configuration -dependent order, to match the format of <a href="SkImageInfo_Reference#kBGRA_8888_SkColorType">kBGRA_8888_SkColorType</a> bitmaps. +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>, +and arranges the bytes to match the format of <a href='SkImageInfo_Reference#kN32_SkColorType'>kN32_SkColorType</a>. ### Parameters -<table> <tr> <td><a name="SkPreMultiplyColor_c"> <code><strong>c </strong></code> </a></td> <td> -incomplete</td> +<table> <tr> <td><a name='SkPreMultiplyColor_c'><code><strong>c</strong></code></a></td> + <td>incomplete</td> </tr> </table> |