Lines Matching refs:src

69 static SkPMColor clear_modeproc(SkPMColor src, SkPMColor dst) {
74 static SkPMColor src_modeproc(SkPMColor src, SkPMColor dst) {
75 return src;
79 static SkPMColor dst_modeproc(SkPMColor src, SkPMColor dst) {
84 static SkPMColor srcover_modeproc(SkPMColor src, SkPMColor dst) {
88 return src + SkAlphaMulQ(dst, SkAlpha255To256(255 - SkGetPackedA32(src)));
92 return src + SkAlphaMulQ(dst, 256 - SkGetPackedA32(src));
97 static SkPMColor dstover_modeproc(SkPMColor src, SkPMColor dst) {
98 // this is the reverse of srcover, just flipping src and dst
100 return dst + SkAlphaMulQ(src, 256 - SkGetPackedA32(dst));
104 static SkPMColor srcin_modeproc(SkPMColor src, SkPMColor dst) {
105 return SkAlphaMulQ(src, SkAlpha255To256(SkGetPackedA32(dst)));
109 static SkPMColor dstin_modeproc(SkPMColor src, SkPMColor dst) {
110 return SkAlphaMulQ(dst, SkAlpha255To256(SkGetPackedA32(src)));
114 static SkPMColor srcout_modeproc(SkPMColor src, SkPMColor dst) {
115 return SkAlphaMulQ(src, SkAlpha255To256(255 - SkGetPackedA32(dst)));
119 static SkPMColor dstout_modeproc(SkPMColor src, SkPMColor dst) {
120 return SkAlphaMulQ(dst, SkAlpha255To256(255 - SkGetPackedA32(src)));
124 static SkPMColor srcatop_modeproc(SkPMColor src, SkPMColor dst) {
125 unsigned sa = SkGetPackedA32(src);
130 SkAlphaMulAlpha(da, SkGetPackedR32(src)) +
132 SkAlphaMulAlpha(da, SkGetPackedG32(src)) +
134 SkAlphaMulAlpha(da, SkGetPackedB32(src)) +
139 static SkPMColor dstatop_modeproc(SkPMColor src, SkPMColor dst) {
140 unsigned sa = SkGetPackedA32(src);
145 SkAlphaMulAlpha(ida, SkGetPackedR32(src)) +
147 SkAlphaMulAlpha(ida, SkGetPackedG32(src)) +
149 SkAlphaMulAlpha(ida, SkGetPackedB32(src)) +
154 static SkPMColor xor_modeproc(SkPMColor src, SkPMColor dst) {
155 unsigned sa = SkGetPackedA32(src);
161 SkAlphaMulAlpha(ida, SkGetPackedR32(src)) +
163 SkAlphaMulAlpha(ida, SkGetPackedG32(src)) +
165 SkAlphaMulAlpha(ida, SkGetPackedB32(src)) +
172 static SkPMColor plus_modeproc(SkPMColor src, SkPMColor dst) {
173 unsigned b = saturated_add(SkGetPackedB32(src), SkGetPackedB32(dst));
174 unsigned g = saturated_add(SkGetPackedG32(src), SkGetPackedG32(dst));
175 unsigned r = saturated_add(SkGetPackedR32(src), SkGetPackedR32(dst));
176 unsigned a = saturated_add(SkGetPackedA32(src), SkGetPackedA32(dst));
181 static SkPMColor multiply_modeproc(SkPMColor src, SkPMColor dst) {
182 int a = SkAlphaMulAlpha(SkGetPackedA32(src), SkGetPackedA32(dst));
183 int r = SkAlphaMulAlpha(SkGetPackedR32(src), SkGetPackedR32(dst));
184 int g = SkAlphaMulAlpha(SkGetPackedG32(src), SkGetPackedG32(dst));
185 int b = SkAlphaMulAlpha(SkGetPackedB32(src), SkGetPackedB32(dst));
193 static SkPMColor screen_modeproc(SkPMColor src, SkPMColor dst) {
194 int a = srcover_byte(SkGetPackedA32(src), SkGetPackedA32(dst));
195 int r = srcover_byte(SkGetPackedR32(src), SkGetPackedR32(dst));
196 int g = srcover_byte(SkGetPackedG32(src), SkGetPackedG32(dst));
197 int b = srcover_byte(SkGetPackedB32(src), SkGetPackedB32(dst));
212 static SkPMColor overlay_modeproc(SkPMColor src, SkPMColor dst) {
213 int sa = SkGetPackedA32(src);
216 int r = overlay_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
217 int g = overlay_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
218 int b = overlay_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
234 static SkPMColor darken_modeproc(SkPMColor src, SkPMColor dst) {
235 int sa = SkGetPackedA32(src);
238 int r = darken_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
239 int g = darken_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
240 int b = darken_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
256 static SkPMColor lighten_modeproc(SkPMColor src, SkPMColor dst) {
257 int sa = SkGetPackedA32(src);
260 int r = lighten_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
261 int g = lighten_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
262 int b = lighten_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
280 static SkPMColor colordodge_modeproc(SkPMColor src, SkPMColor dst) {
283 return src;
286 int sa = SkGetPackedA32(src);
289 int r = colordodge_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
290 int g = colordodge_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
291 int b = colordodge_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
315 static SkPMColor colorburn_modeproc(SkPMColor src, SkPMColor dst) {
318 return src;
321 int sa = SkGetPackedA32(src);
324 int r = colorburn_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
325 int g = colorburn_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
326 int b = colorburn_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
340 static SkPMColor hardlight_modeproc(SkPMColor src, SkPMColor dst) {
341 int sa = SkGetPackedA32(src);
344 int r = hardlight_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
345 int g = hardlight_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
346 int b = hardlight_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
370 static SkPMColor softlight_modeproc(SkPMColor src, SkPMColor dst) {
371 int sa = SkGetPackedA32(src);
374 int r = softlight_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
375 int g = softlight_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
376 int b = softlight_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
385 static SkPMColor difference_modeproc(SkPMColor src, SkPMColor dst) {
386 int sa = SkGetPackedA32(src);
389 int r = difference_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
390 int g = difference_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
391 int b = difference_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
401 static SkPMColor exclusion_modeproc(SkPMColor src, SkPMColor dst) {
402 int sa = SkGetPackedA32(src);
405 int r = exclusion_byte(SkGetPackedR32(src), SkGetPackedR32(dst), sa, da);
406 int g = exclusion_byte(SkGetPackedG32(src), SkGetPackedG32(dst), sa, da);
407 int b = exclusion_byte(SkGetPackedB32(src), SkGetPackedB32(dst), sa, da);
449 bool SkXfermode::asCoeff(Coeff* src, Coeff* dst) {
457 SkPMColor SkXfermode::xferColor(SkPMColor src, SkPMColor dst) {
463 const SkPMColor* SK_RESTRICT src, int count,
465 SkASSERT(dst && src && count >= 0);
469 dst[i] = this->xferColor(src[i], dst[i]);
476 SkPMColor C = this->xferColor(src[i], dstC);
487 const SkPMColor* SK_RESTRICT src, int count,
489 SkASSERT(dst && src && count >= 0);
494 dst[i] = SkPixel32ToPixel16_ToU16(this->xferColor(src[i], dstC));
501 SkPMColor C = this->xferColor(src[i], dstC);
512 const SkPMColor* SK_RESTRICT src, int count,
515 SkASSERT(dst && src && count >= 0);
520 dst[i] = SkPixel32ToPixel4444(this->xferColor(src[i], dstC));
527 SkPMColor C = this->xferColor(src[i], dstC);
538 const SkPMColor src[], int count,
541 SkASSERT(dst && src && count >= 0);
545 SkPMColor res = this->xferColor(src[i], (dst[i] << SK_A32_SHIFT));
553 unsigned A = SkGetPackedA32(this->xferColor(src[i],
567 const SkPMColor* SK_RESTRICT src, int count,
569 SkASSERT(dst && src && count >= 0);
576 dst[i] = proc(src[i], dst[i]);
583 SkPMColor C = proc(src[i], dstC);
595 const SkPMColor* SK_RESTRICT src, int count,
597 SkASSERT(dst && src && count >= 0);
605 dst[i] = SkPixel32ToPixel16_ToU16(proc(src[i], dstC));
612 SkPMColor C = proc(src[i], dstC);
624 const SkPMColor* SK_RESTRICT src, int count,
626 SkASSERT(dst && src && count >= 0);
634 dst[i] = SkPixel32ToPixel4444(proc(src[i], dstC));
641 SkPMColor C = proc(src[i], dstC);
653 const SkPMColor* SK_RESTRICT src, int count,
655 SkASSERT(dst && src && count >= 0);
662 SkPMColor res = proc(src[i], dst[i] << SK_A32_SHIFT);
670 SkPMColor res = proc(src[i], dstA << SK_A32_SHIFT);
847 const SkPMColor* SK_RESTRICT src, int count,
849 SkASSERT(dst && src && count >= 0);
852 memcpy(dst, src, count << 2);
857 dst[i] = src[i];
859 dst[i] = SkFourByteInterp(src[i], dst[i], a);
866 const SkPMColor* SK_RESTRICT src, int count,
868 SkASSERT(dst && src && count >= 0);
872 dst[i] = SkToU8(SkGetPackedA32(src[i]));
878 unsigned srcA = SkGetPackedA32(src[i]);
909 const SkPMColor* SK_RESTRICT src, int count,
911 SkASSERT(dst && src);
917 return this->INHERITED::xfer32(dst, src, count, aa);
921 unsigned a = SkGetPackedA32(*src);
924 src++;
949 const SkPMColor* SK_RESTRICT src, int count,
951 SkASSERT(dst && src);
957 return this->INHERITED::xfer32(dst, src, count, aa);
961 unsigned a = SkGetPackedA32(*src);
964 src++;
1000 bool SkXfermode::ModeAsCoeff(Mode mode, Coeff* src, Coeff* dst) {
1015 if (src) {
1016 *src = rec.fSC;
1034 bool SkXfermode::AsCoeff(SkXfermode* xfer, Coeff* src, Coeff* dst) {
1036 return ModeAsCoeff(kSrcOver_Mode, src, dst);
1038 return xfer->asCoeff(src, dst);
1054 static bool require_255(SkPMColor src) { return SkGetPackedA32(src) == 0xFF; }
1055 static bool require_0(SkPMColor src) { return SkGetPackedA32(src) == 0; }
1058 static uint16_t src_modeproc16_255(SkPMColor src, uint16_t dst) {
1059 SkASSERT(require_255(src));
1060 return SkPixel32ToPixel16(src);
1063 static uint16_t dst_modeproc16(SkPMColor src, uint16_t dst) {
1067 static uint16_t srcover_modeproc16_0(SkPMColor src, uint16_t dst) {
1068 SkASSERT(require_0(src));
1072 static uint16_t srcover_modeproc16_255(SkPMColor src, uint16_t dst) {
1073 SkASSERT(require_255(src));
1074 return SkPixel32ToPixel16(src);
1077 static uint16_t dstover_modeproc16_0(SkPMColor src, uint16_t dst) {
1078 SkASSERT(require_0(src));
1082 static uint16_t dstover_modeproc16_255(SkPMColor src, uint16_t dst) {
1083 SkASSERT(require_255(src));
1087 static uint16_t srcin_modeproc16_255(SkPMColor src, uint16_t dst) {
1088 SkASSERT(require_255(src));
1089 return SkPixel32ToPixel16(src);
1092 static uint16_t dstin_modeproc16_255(SkPMColor src, uint16_t dst) {
1093 SkASSERT(require_255(src));
1097 static uint16_t dstout_modeproc16_0(SkPMColor src, uint16_t dst) {
1098 SkASSERT(require_0(src));
1102 static uint16_t srcatop_modeproc16(SkPMColor src, uint16_t dst) {
1103 unsigned isa = 255 - SkGetPackedA32(src);
1106 SkPacked32ToR16(src) + SkAlphaMulAlpha(SkGetPackedR16(dst), isa),
1107 SkPacked32ToG16(src) + SkAlphaMulAlpha(SkGetPackedG16(dst), isa),
1108 SkPacked32ToB16(src) + SkAlphaMulAlpha(SkGetPackedB16(dst), isa));
1111 static uint16_t srcatop_modeproc16_0(SkPMColor src, uint16_t dst) {
1112 SkASSERT(require_0(src));
1116 static uint16_t srcatop_modeproc16_255(SkPMColor src, uint16_t dst) {
1117 SkASSERT(require_255(src));
1118 return SkPixel32ToPixel16(src);
1121 static uint16_t dstatop_modeproc16_255(SkPMColor src, uint16_t dst) {
1122 SkASSERT(require_255(src));
1141 static uint16_t darken_modeproc16_0(SkPMColor src, uint16_t dst) {
1142 SkASSERT(require_0(src));
1146 static uint16_t darken_modeproc16_255(SkPMColor src, uint16_t dst) {
1147 SkASSERT(require_255(src));
1148 unsigned r = SkFastMin32(SkPacked32ToR16(src), SkGetPackedR16(dst));
1149 unsigned g = SkFastMin32(SkPacked32ToG16(src), SkGetPackedG16(dst));
1150 unsigned b = SkFastMin32(SkPacked32ToB16(src), SkGetPackedB16(dst));
1154 static uint16_t lighten_modeproc16_0(SkPMColor src, uint16_t dst) {
1155 SkASSERT(require_0(src));
1159 static uint16_t lighten_modeproc16_255(SkPMColor src, uint16_t dst) {
1160 SkASSERT(require_255(src));
1161 unsigned r = SkMax32(SkPacked32ToR16(src), SkGetPackedR16(dst));
1162 unsigned g = SkMax32(SkPacked32ToG16(src), SkGetPackedG16(dst));
1163 unsigned b = SkMax32(SkPacked32ToB16(src), SkGetPackedB16(dst));