Home | History | Annotate | Download | only in core

Lines Matching defs:da

78 //  kDst_Mode,      //!< [Da, Dc]
83 // kSrcOver_Mode, //!< [Sa + Da - Sa*Da, Sc + (1 - Sa)*Dc]
96 // kDstOver_Mode, //!< [Sa + Da - Sa*Da, Dc + (1 - Da)*Sc]
103 // kSrcIn_Mode, //!< [Sa * Da, Sc * Da]
108 // kDstIn_Mode, //!< [Sa * Da, Sa * Dc]
113 // kSrcOut_Mode, //!< [Sa * (1 - Da), Sc * (1 - Da)]
118 // kDstOut_Mode, //!< [Da * (1 - Sa), Dc * (1 - Sa)]
123 // kSrcATop_Mode, //!< [Da, Sc * Da + (1 - Sa) * Dc]
126 unsigned da = SkGetPackedA32(dst);
129 return SkPackARGB32(da,
130 SkAlphaMulAlpha(da, SkGetPackedR32(src)) +
132 SkAlphaMulAlpha(da, SkGetPackedG32(src)) +
134 SkAlphaMulAlpha(da, SkGetPackedB32(src)) +
138 // kDstATop_Mode, //!< [Sa, Sa * Dc + Sc * (1 - Da)]
141 unsigned da = SkGetPackedA32(dst);
142 unsigned ida = 255 - da;
153 // kXor_Mode [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc]
156 unsigned da = SkGetPackedA32(dst);
158 unsigned ida = 255 - da;
160 return SkPackARGB32(sa + da - (SkAlphaMulAlpha(sa, da) << 1),
202 static inline int overlay_byte(int sc, int dc, int sa, int da) {
203 int tmp = sc * (255 - da) + dc * (255 - sa);
205 if (2 * dc <= da) {
208 rc = sa * da - 2 * (da - dc) * (sa - sc);
214 int da = SkGetPackedA32(dst);
215 int a = srcover_byte(sa, da);
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);
223 static inline int darken_byte(int sc, int dc, int sa, int da) {
224 int sd = sc * da;
236 int da = SkGetPackedA32(dst);
237 int a = srcover_byte(sa, da);
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);
245 static inline int lighten_byte(int sc, int dc, int sa, int da) {
246 int sd = sc * da;
258 int da = SkGetPackedA32(dst);
259 int a = srcover_byte(sa, da);
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);
267 static inline int colordodge_byte(int sc, int dc, int sa, int da) {
271 rc = sa * da + sc * (255 - da) + dc * (255 - sa);
274 int tmp = (dc * sa << 15) / (da * diff);
275 rc = SkDiv255Round(sa * da) * tmp >> 15;
287 int da = SkGetPackedA32(dst);
288 int a = srcover_byte(sa, da);
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);
299 static inline int colorburn_byte(int sc, int dc, int sa, int da) {
301 if (dc == da && 0 == sc) {
302 rc = sa * da + dc * (255 - sa);
306 int tmp = (sa * (da - dc) * 256) / (sc * da);
310 int tmp2 = sa * da;
311 rc = tmp2 - (tmp2 * tmp >> 8) + sc * (255 - da) + dc * (255 - sa);
322 int da = SkGetPackedA32(dst);
323 int a = srcover_byte(sa, da);
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);
331 static inline int hardlight_byte(int sc, int dc, int sa, int da) {
336 rc = sa * da - 2 * (da - dc) * (sa - sc);
338 return clamp_div255round(rc + sc * (255 - da) + dc * (255 - sa));
342 int da = SkGetPackedA32(dst);
343 int a = srcover_byte(sa, da);
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);
356 static inline int softlight_byte(int sc, int dc, int sa, int da) {
357 int m = da ? dc * 256 / da : 0;
361 } else if (4 * dc <= da) {
363 rc = dc * sa + (da * (2 * sc - sa) * tmp >> 8);
366 rc = dc * sa + (da * (2 * sc - sa) * tmp >> 8);
368 return clamp_div255round(rc + sc * (255 - da) + dc * (255 - sa));
372 int da = SkGetPackedA32(dst);
373 int a = srcover_byte(sa, da);
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);
381 static inline int difference_byte(int sc, int dc, int sa, int da) {
382 int tmp = SkMin32(sc * da, dc * sa);
387 int da = SkGetPackedA32(dst);
388 int a = srcover_byte(sa, da);
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);
396 static inline int exclusion_byte(int sc, int dc, int sa, int da) {
398 int r = sc * da + dc * sa - 2 * sc * dc + sc * (255 - da) + dc * (255 - sa);
403 int da = SkGetPackedA32(dst);
404 int a = srcover_byte(sa, da);
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);