Skia
2DGraphicsLibrary
|
Types and macros for colors. More...
Go to the source code of this file.
Classes | |
struct | SkColor4f |
Macros | |
#define | SkColorSetARGBMacro(a, r, g, b) |
#define | SkColorSetARGB(a, r, g, b) SkColorSetARGBInline(a, r, g, b) |
gcc will generate static initializers for code of this form: static const SkColor kMyColor = SkColorSetARGB(0xFF, 0x01, 0x02, 0x03) if SkColorSetARGB() is a static inline, but not if it's a macro. | |
#define | SkColorSetRGB(r, g, b) SkColorSetARGB(0xFF, r, g, b) |
Return a SkColor value from 8 bit component values, with an implied value of 0xFF for alpha (fully opaque) | |
#define | SkColorGetA(color) (((color) >> 24) & 0xFF) |
return the alpha byte from a SkColor value | |
#define | SkColorGetR(color) (((color) >> 16) & 0xFF) |
return the red byte from a SkColor value | |
#define | SkColorGetG(color) (((color) >> 8) & 0xFF) |
return the green byte from a SkColor value | |
#define | SkColorGetB(color) (((color) >> 0) & 0xFF) |
return the blue byte from a SkColor value | |
#define | SK_AlphaTRANSPARENT 0x00 |
transparent SkAlpha value | |
#define | SK_AlphaOPAQUE 0xFF |
opaque SkAlpha value | |
#define | SK_ColorTRANSPARENT 0x00000000 |
transparent SkColor value | |
#define | SK_ColorBLACK 0xFF000000 |
black SkColor value | |
#define | SK_ColorDKGRAY 0xFF444444 |
dark gray SkColor value | |
#define | SK_ColorGRAY 0xFF888888 |
gray SkColor value | |
#define | SK_ColorLTGRAY 0xFFCCCCCC |
light gray SkColor value | |
#define | SK_ColorWHITE 0xFFFFFFFF |
white SkColor value | |
#define | SK_ColorRED 0xFFFF0000 |
red SkColor value | |
#define | SK_ColorGREEN 0xFF00FF00 |
green SkColor value | |
#define | SK_ColorBLUE 0xFF0000FF |
blue SkColor value | |
#define | SK_ColorYELLOW 0xFFFFFF00 |
yellow SkColor value | |
#define | SK_ColorCYAN 0xFF00FFFF |
cyan SkColor value | |
#define | SK_ColorMAGENTA 0xFFFF00FF |
magenta SkColor value | |
Typedefs | |
typedef uint8_t | SkAlpha |
8-bit type for an alpha value. More... | |
typedef uint32_t | SkColor |
32 bit ARGB color value, not premultiplied. More... | |
typedef uint32_t | SkPMColor |
32 bit ARGB color value, premultiplied. More... | |
typedef SkPMColor(* | SkXfermodeProc )(SkPMColor src, SkPMColor dst) |
Define a function pointer type for combining two premultiplied colors. | |
Functions | |
static SkColor | SkColorSetARGBInline (U8CPU a, U8CPU r, U8CPU g, U8CPU b) |
Return a SkColor value from 8 bit component values. | |
static SkColor | SkColorSetA (SkColor c, U8CPU a) |
SK_API void | SkRGBToHSV (U8CPU red, U8CPU green, U8CPU blue, SkScalar hsv[3]) |
Convert RGB components to HSV. More... | |
static void | SkColorToHSV (SkColor color, SkScalar hsv[3]) |
Convert the argb color to its HSV components. More... | |
SK_API SkColor | SkHSVToColor (U8CPU alpha, const SkScalar hsv[3]) |
Convert HSV components to an ARGB color. More... | |
static SkColor | SkHSVToColor (const SkScalar hsv[3]) |
Convert HSV components to an ARGB color. More... | |
SK_API SkPMColor | SkPreMultiplyARGB (U8CPU a, U8CPU r, U8CPU g, U8CPU b) |
Return a SkPMColor value from unpremultiplied 8 bit component values. | |
SK_API SkPMColor | SkPreMultiplyColor (SkColor c) |
Return a SkPMColor value from a SkColor value. More... | |
Types and macros for colors.
#define SkColorSetARGBMacro | ( | a, | |
r, | |||
g, | |||
b | |||
) |
typedef uint8_t SkAlpha |
8-bit type for an alpha value.
0xFF is 100% opaque, 0x00 is 100% transparent.
typedef uint32_t SkColor |
32 bit ARGB color value, not premultiplied.
The color components are always in a known order. This is different from SkPMColor, which has its bytes in a configuration dependent order, to match the format of kARGB32 bitmaps. SkColor is the type used to specify colors in SkPaint and in gradients.
typedef uint32_t SkPMColor |
32 bit ARGB color value, premultiplied.
The byte order for this value is configuration dependent, matching the format of kARGB32 bitmaps. This is different from SkColor, which is nonpremultiplied, and is always in the same byte order.
|
inlinestatic |
Convert the argb color to its HSV components.
hsv[0] is Hue [0 .. 360) hsv[1] is Saturation [0...1] hsv[2] is Value [0...1]
color | the argb color to convert. Note: the alpha component is ignored. |
hsv | 3 element array which holds the resulting HSV components. |
Convert HSV components to an ARGB color.
The alpha component is passed through unchanged. hsv[0] is Hue [0 .. 360) hsv[1] is Saturation [0...1] hsv[2] is Value [0...1] If hsv values are out of range, they are pinned.
alpha | the alpha component of the returned argb color. |
hsv | 3 element array which holds the input HSV components. |
|
inlinestatic |
Convert HSV components to an ARGB color.
The alpha component set to 0xFF. hsv[0] is Hue [0 .. 360) hsv[1] is Saturation [0...1] hsv[2] is Value [0...1] If hsv values are out of range, they are pinned.
hsv | 3 element array which holds the input HSV components. |
Return a SkPMColor value from a SkColor 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 kARGB32 bitmaps.
Convert RGB components to HSV.
hsv[0] is Hue [0 .. 360) hsv[1] is Saturation [0...1] hsv[2] is Value [0...1]
red | red component value [0..255] |
green | green component value [0..255] |
blue | blue component value [0..255] |
hsv | 3 element array which holds the resulting HSV components. |