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);
77 #define SK_AlphaTRANSPARENT static_cast<SkAlpha>(0x00)
79 #define SK_AlphaOPAQUE static_cast<SkAlpha>(0xFF)
82 #define SK_ColorTRANSPARENT static_cast<SkColor>(0x00000000)
85 #define SK_ColorBLACK static_cast<SkColor>(0xFF000000)
87 #define SK_ColorDKGRAY static_cast<SkColor>(0xFF444444)
89 #define SK_ColorGRAY static_cast<SkColor>(0xFF888888)
91 #define SK_ColorLTGRAY static_cast<SkColor>(0xFFCCCCCC)
93 #define SK_ColorWHITE static_cast<SkColor>(0xFFFFFFFF)
96 #define SK_ColorRED static_cast<SkColor>(0xFFFF0000)
98 #define SK_ColorGREEN static_cast<SkColor>(0xFF00FF00)
100 #define SK_ColorBLUE static_cast<SkColor>(0xFF0000FF)
102 #define SK_ColorYELLOW static_cast<SkColor>(0xFFFFFF00)
104 #define SK_ColorCYAN static_cast<SkColor>(0xFF00FFFF)
106 #define SK_ColorMAGENTA static_cast<SkColor>(0xFFFF00FF)
185 bool operator==(
const SkColor4f& other)
const {
186 return fA == other.fA && fR == other.fR && fG == other.fG && fB == other.fB;
188 bool operator!=(
const SkColor4f& other)
const {
189 return !(*
this == other);
192 const float* vec()
const {
return &fR; }
193 float* vec() {
return &fR; }
195 static SkColor4f Pin(
float r,
float g,
float b,
float a);
203 return Pin(fR, fG, fB, fA);
206 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:179
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
static SkColor SkColorSetARGBInline(U8CPU a, U8CPU r, U8CPU g, U8CPU b)
Return a SkColor value from 8 bit component values.
Definition: SkColor.h:32
static SkColor4f FromColor(SkColor)
Convert to SkColor4f, assuming SkColor is sRGB.
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:161
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:128
#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:191