Go to the source code of this file.
|
static uint8_t | div255 (unsigned prod) |
|
static unsigned | u8_lerp (uint8_t a, uint8_t b, uint8_t t) |
|
static uint8_t | srcover_p (uint8_t src, uint8_t dst) |
|
static uint8_t | src_p (uint8_t src, uint8_t dst) |
|
template<typename Mode > |
void | A8_row_bw (uint8_t dst[], uint8_t src, int N, Mode proc) |
|
template<typename Mode > |
void | A8_row_aa (uint8_t dst[], uint8_t src, int N, uint8_t aa, Mode proc, const bool canFoldAA) |
|
static const A8_RowBlitBWPair * | find_a8_rowproc_pair (SkBlendMode bm) |
|
SkBlitter * | SkA8Blitter_Choose (const SkPixmap &dst, const SkMatrix &ctm, const SkPaint &paint, SkArenaAlloc *alloc, bool drawCoverage, sk_sp< SkShader > clipShader, const SkSurfaceProps &) |
|
◆ WRAP_BLIT
#define WRAP_BLIT |
( |
|
proc, |
|
|
|
canFoldAA |
|
) |
| |
Value: proc, \
[](uint8_t
dst[], uint8_t
src,
int N) \
[](uint8_t
dst[], uint8_t
src,
int N, uint8_t aa) \
void A8_row_bw(uint8_t dst[], uint8_t src, int N, Mode proc)
void A8_row_aa(uint8_t dst[], uint8_t src, int N, uint8_t aa, Mode proc, const bool canFoldAA)
Definition at line 140 of file SkBlitter_A8.cpp.
◆ A8_RowBlitAA
◆ A8_RowBlitBW
◆ AlphaProc
using AlphaProc = uint8_t(*)(uint8_t src, uint8_t dst) |
◆ A8_row_aa()
void A8_row_aa |
( |
uint8_t |
dst[], |
|
|
uint8_t |
src, |
|
|
int |
N, |
|
|
uint8_t |
aa, |
|
|
Mode |
proc, |
|
|
const bool |
canFoldAA |
|
) |
| |
Definition at line 126 of file SkBlitter_A8.cpp.
126 {
127 if (canFoldAA) {
129 for (
int i = 0;
i <
N; ++
i) {
131 }
132 } else {
133 for (
int i = 0;
i <
N; ++
i) {
135 }
136 }
137}
static uint8_t div255(unsigned prod)
static unsigned u8_lerp(uint8_t a, uint8_t b, uint8_t t)
◆ A8_row_bw()
void A8_row_bw |
( |
uint8_t |
dst[], |
|
|
uint8_t |
src, |
|
|
int |
N, |
|
|
Mode |
proc |
|
) |
| |
◆ div255()
static uint8_t div255 |
( |
unsigned |
prod | ) |
|
|
inlinestatic |
Definition at line 104 of file SkBlitter_A8.cpp.
104 {
106 return (prod + 128) * 257 >> 16;
107}
◆ find_a8_rowproc_pair()
Definition at line 159 of file SkBlitter_A8.cpp.
159 {
161 if (pair.mode == bm) {
162 return &pair;
163 }
164 }
165 return nullptr;
166}
constexpr A8_RowBlitBWPair gA8_RowBlitPairs[]
◆ SkA8Blitter_Choose()
Definition at line 286 of file SkBlitter_A8.cpp.
292 {
294 return nullptr;
295 }
296 if (
paint.getShader() ||
paint.getColorFilter()) {
297 return nullptr;
298 }
299 if (clipShader) {
300 return nullptr;
301 }
302
303 if (drawCoverage) {
305 } else {
306
310 }
311 }
312 return nullptr;
313}
static const A8_RowBlitBWPair * find_a8_rowproc_pair(SkBlendMode bm)
@ kAlpha_8_SkColorType
pixel with alpha in 8-bit byte
auto make(Ctor &&ctor) -> decltype(ctor(nullptr))
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
◆ src_p()
static uint8_t src_p |
( |
uint8_t |
src, |
|
|
uint8_t |
dst |
|
) |
| |
|
static |
◆ srcover_p()
static uint8_t srcover_p |
( |
uint8_t |
src, |
|
|
uint8_t |
dst |
|
) |
| |
|
static |
◆ u8_lerp()
static unsigned u8_lerp |
( |
uint8_t |
a, |
|
|
uint8_t |
b, |
|
|
uint8_t |
t |
|
) |
| |
|
inlinestatic |
◆ gA8_RowBlitPairs
Initial value:= {
}
@ kSrcOver
r = s + (1-sa)*d
static uint8_t srcover_p(uint8_t src, uint8_t dst)
#define WRAP_BLIT(proc, canFoldAA)
static uint8_t src_p(uint8_t src, uint8_t dst)
Definition at line 153 of file SkBlitter_A8.cpp.