Home | History | Annotate | Download | only in tests

Lines Matching refs:srcAlpha

13 // We want a single channel blend, src over dst, assuming src is premultiplied by srcAlpha.
14 typedef uint8_t(*Blend)(uint8_t dst, uint8_t src, uint8_t srcAlpha);
17 static uint8_t blend_double_round(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
18 SkASSERT(src <= srcAlpha);
19 return double_to_u8(0.5 + src + dst * (255.0 - srcAlpha) / 255.0);
60 static uint8_t blend_double_trunc(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
61 return double_to_u8(src + dst * (255.0 - srcAlpha) / 255.0);
64 static uint8_t blend_float_trunc(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
65 return double_to_u8(src + dst * (255.0f - srcAlpha) / 255.0f);
68 static uint8_t blend_float_round(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
69 return double_to_u8(0.5f + src + dst * (255.0f - srcAlpha) / 255.0f);
72 static uint8_t blend_255_trunc(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
73 const uint16_t invAlpha = 255 - srcAlpha;
78 static uint8_t blend_255_round(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
79 const uint16_t invAlpha = 255 - srcAlpha;
84 static uint8_t blend_256_trunc(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
85 const uint16_t invAlpha = 256 - (srcAlpha + (srcAlpha >> 7));
90 static uint8_t blend_256_round(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
91 const uint16_t invAlpha = 256 - (srcAlpha + (srcAlpha >> 7));
96 static uint8_t blend_256_round_alt(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
97 const uint8_t invAlpha8 = 255 - srcAlpha;
103 static uint8_t blend_256_plus1_trunc(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
104 const uint16_t invAlpha = 256 - (srcAlpha + 1);
109 static uint8_t blend_256_plus1_round(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
110 const uint16_t invAlpha = 256 - (srcAlpha + 1);
115 static uint8_t blend_perfect(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
116 const uint8_t invAlpha = 255 - srcAlpha;