#include "include/core/SkColor.h"
#include "include/core/SkMath.h"
#include "include/private/SkTPin.h"
#include "include/private/SkTo.h"
Go to the source code of this file.
|
static unsigned | SkAlpha255To256 (U8CPU alpha) |
| Turn 0..255 into 0..256 by adding 1 at the half-way point. More...
|
|
static U8CPU | SkUnitScalarClampToByte (SkScalar x) |
|
static SkPMColor | SkPackARGB32 (U8CPU a, U8CPU r, U8CPU g, U8CPU b) |
| Pack the components into a SkPMColor, checking (in the debug version) that the components are 0..255, and are already premultiplied (i.e. More...
|
|
static SkPMColor | SkPackARGB32NoCheck (U8CPU a, U8CPU r, U8CPU g, U8CPU b) |
| Same as SkPackARGB32, but this version guarantees to not check that the values are premultiplied in the debug version. More...
|
|
static SkPMColor | SkPremultiplyARGBInline (U8CPU a, U8CPU r, U8CPU g, U8CPU b) |
|
static SK_ALWAYS_INLINE uint32_t | SkAlphaMulQ (uint32_t c, unsigned scale) |
|
static SkPMColor | SkPMSrcOver (SkPMColor src, SkPMColor dst) |
|
◆ SK_A32_BITS
◆ SK_A32_MASK
◆ SK_B32_BITS
◆ SK_B32_MASK
◆ SK_BGRA_A32_SHIFT
#define SK_BGRA_A32_SHIFT 24 |
◆ SK_BGRA_B32_SHIFT
#define SK_BGRA_B32_SHIFT 0 |
◆ SK_BGRA_G32_SHIFT
#define SK_BGRA_G32_SHIFT 8 |
◆ SK_BGRA_R32_SHIFT
#define SK_BGRA_R32_SHIFT 16 |
◆ SK_G32_BITS
◆ SK_G32_MASK
◆ SK_R32_BITS
◆ SK_R32_MASK
◆ SK_RGBA_A32_SHIFT
#define SK_RGBA_A32_SHIFT 24 |
◆ SK_RGBA_B32_SHIFT
#define SK_RGBA_B32_SHIFT 16 |
◆ SK_RGBA_G32_SHIFT
#define SK_RGBA_G32_SHIFT 8 |
◆ SK_RGBA_R32_SHIFT
#define SK_RGBA_R32_SHIFT 0 |
◆ SkA32Assert
◆ SkAlphaMul
#define SkAlphaMul |
( |
|
value, |
|
|
|
alpha256 |
|
) |
| (((value) * (alpha256)) >> 8) |
Multiplify value by 0..256, and shift the result down 8 (i.e.
return (value * alpha256) >> 8)
◆ SkB32Assert
◆ SkG32Assert
◆ SkGetPackedA32
#define SkGetPackedA32 |
( |
|
packed | ) |
((uint32_t)((packed) << (24 - SK_A32_SHIFT)) >> 24) |
◆ SkGetPackedB32
#define SkGetPackedB32 |
( |
|
packed | ) |
((uint32_t)((packed) << (24 - SK_B32_SHIFT)) >> 24) |
◆ SkGetPackedG32
#define SkGetPackedG32 |
( |
|
packed | ) |
((uint32_t)((packed) << (24 - SK_G32_SHIFT)) >> 24) |
◆ SkGetPackedR32
#define SkGetPackedR32 |
( |
|
packed | ) |
((uint32_t)((packed) << (24 - SK_R32_SHIFT)) >> 24) |
◆ SkR32Assert
◆ SkAlpha255To256()
static unsigned SkAlpha255To256 |
( |
U8CPU |
alpha | ) |
|
|
inlinestatic |
Turn 0..255 into 0..256 by adding 1 at the half-way point.
Used to turn a byte into a scale value, so that we can say scale * value >> 8 instead of alpha * value / 255.
In debugging, asserts that alpha is 0..255
◆ SkAlphaMulQ()
◆ SkPackARGB32()
Pack the components into a SkPMColor, checking (in the debug version) that the components are 0..255, and are already premultiplied (i.e.
alpha >= color)
◆ SkPackARGB32NoCheck()
Same as SkPackARGB32, but this version guarantees to not check that the values are premultiplied in the debug version.
◆ SkPMSrcOver()
◆ SkPremultiplyARGBInline()
◆ SkUnitScalarClampToByte()