8 #ifndef SkColor_DEFINED
9 #define SkColor_DEFINED
34 SkASSERT(a <= 255 && r <= 255 && g <= 255 && b <= 255);
36 return (a << 24) | (r << 16) | (g << 8) | (b << 0);
39 #define SkColorSetARGBMacro(a, r, g, b) \
40 static_cast<SkColor>( \
41 (static_cast<U8CPU>(a) << 24) | \
42 (static_cast<U8CPU>(r) << 16) | \
43 (static_cast<U8CPU>(g) << 8) | \
44 (static_cast<U8CPU>(b) << 0))
51 #define SkColorSetARGB(a, r, g, b) SkColorSetARGBMacro(a, r, g, b)
53 #define SkColorSetARGB(a, r, g, b) SkColorSetARGBInline(a, r, g, b)
59 #define SkColorSetRGB(r, g, b) SkColorSetARGB(0xFF, r, g, b)
62 #define SkColorGetA(color) (((color) >> 24) & 0xFF)
64 #define SkColorGetR(color) (((color) >> 16) & 0xFF)
66 #define SkColorGetG(color) (((color) >> 8) & 0xFF)
68 #define SkColorGetB(color) (((color) >> 0) & 0xFF)
71 return (c & 0x00FFFFFF) | (a << 24);
76 #define SK_AlphaTRANSPARENT 0x00
77 #define SK_AlphaOPAQUE 0xFF
79 #define SK_ColorTRANSPARENT 0x00000000
81 #define SK_ColorBLACK 0xFF000000
82 #define SK_ColorDKGRAY 0xFF444444
83 #define SK_ColorGRAY 0xFF888888
84 #define SK_ColorLTGRAY 0xFFCCCCCC
85 #define SK_ColorWHITE 0xFFFFFFFF
87 #define SK_ColorRED 0xFFFF0000
88 #define SK_ColorGREEN 0xFF00FF00
89 #define SK_ColorBLUE 0xFF0000FF
90 #define SK_ColorYELLOW 0xFFFFFF00
91 #define SK_ColorCYAN 0xFF00FFFF
92 #define SK_ColorMAGENTA 0xFFFF00FF
175 bool operator==(
const SkColor4f& other)
const {
176 return fA == other.fA && fR == other.fR && fG == other.fG && fB == other.fB;
178 bool operator!=(
const SkColor4f& other)
const {
179 return !(*
this == other);
182 const float* vec()
const {
return &fR; }
183 float* vec() {
return &fR; }
185 static SkColor4f Pin(
float r,
float g,
float b,
float a);
192 return Pin(fR, fG, fB, fA);
195 SkPM4f premul()
const;
Definition: SkPoint3.h:13
SK_API SkColor SkHSVToColor(U8CPU alpha, const SkScalar hsv[3])
Convert HSV components to an ARGB color.
SK_API void SkRGBToHSV(U8CPU red, U8CPU green, U8CPU blue, SkScalar hsv[3])
Convert RGB components to HSV.
uint8_t SkAlpha
8-bit type for an alpha value.
Definition: SkColor.h:22
Definition: SkColor.h:169
SK_API SkPMColor SkPreMultiplyColor(SkColor c)
Return a SkPMColor value from a SkColor value.
#define SkColorGetG(color)
return the green byte from a SkColor value
Definition: SkColor.h:66
SkPMColor(* SkXfermodeProc)(SkPMColor src, SkPMColor dst)
Define a function pointer type for combining two premultiplied colors.
Definition: SkColor.h:160
static SkColor SkColorSetARGBInline(U8CPU a, U8CPU r, U8CPU g, U8CPU b)
Return a SkColor value from 8 bit component values.
Definition: SkColor.h:32
SK_API SkPMColor SkPreMultiplyARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b)
Return a SkPMColor value from unpremultiplied 8 bit component values.
uint32_t SkPMColor
32 bit ARGB color value, premultiplied.
Definition: SkColor.h:147
uint32_t SkColor
32 bit ARGB color value, not premultiplied.
Definition: SkColor.h:28
static void SkColorToHSV(SkColor color, SkScalar hsv[3])
Convert the argb color to its HSV components.
Definition: SkColor.h:114
#define SkColorGetB(color)
return the blue byte from a SkColor value
Definition: SkColor.h:68
#define SkColorGetR(color)
return the red byte from a SkColor value
Definition: SkColor.h:64
unsigned U8CPU
Fast type for unsigned 8 bits.
Definition: SkTypes.h:251