Home | History | Annotate | Download | only in core

Lines Matching refs:sc

75 //  kSrc_Mode,      //!< [Sa, Sc]
85 // kSrcOver_Mode, //!< [Sa + Da - Sa*Da, Sc + (1 - Sa)*Dc]
98 // kDstOver_Mode, //!< [Sa + Da - Sa*Da, Dc + (1 - Da)*Sc]
105 // kSrcIn_Mode, //!< [Sa * Da, Sc * Da]
115 // kSrcOut_Mode, //!< [Sa * (1 - Da), Sc * (1 - Da)]
125 // kSrcATop_Mode, //!< [Da, Sc * Da + (1 - Sa) * Dc]
140 // kDstATop_Mode, //!< [Sa, Sa * Dc + Sc * (1 - Da)]
155 // kXor_Mode [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc]
198 static int blendfunc_multiply_byte(int sc, int dc, int sa, int da) {
199 return clamp_div255round(sc * (255 - da) + dc * (255 - sa) + sc * dc);
222 static inline int overlay_byte(int sc, int dc, int sa, int da) {
223 int tmp = sc * (255 - da) + dc * (255 - sa);
226 rc = 2 * sc * dc;
228 rc = sa * da - 2 * (da - dc) * (sa - sc);
243 static inline int darken_byte(int sc, int dc, int sa, int da) {
244 int sd = sc * da;
248 return sc + dc - SkDiv255Round(ds);
251 return dc + sc - SkDiv255Round(sd);
265 static inline int lighten_byte(int sc, int dc, int sa, int da) {
266 int sd = sc * da;
270 return sc + dc - SkDiv255Round(ds);
273 return dc + sc - SkDiv255Round(sd);
287 static inline int colordodge_byte(int sc, int dc, int sa, int da) {
288 int diff = sa - sc;
291 return SkAlphaMulAlpha(sc, 255 - da);
293 rc = sa * da + sc * (255 - da) + dc * (255 - sa);
296 rc = sa * ((da < diff) ? da : diff) + sc * (255 - da) + dc * (255 - sa);
311 static inline int colorburn_byte(int sc, int dc, int sa, int da) {
314 rc = sa * da + sc * (255 - da) + dc * (255 - sa);
315 } else if (0 == sc) {
318 int tmp = (da - dc) * sa / sc;
320 + sc * (255 - da) + dc * (255 - sa);
335 static inline int hardlight_byte(int sc, int dc, int sa, int da) {
337 if (2 * sc <= sa) {
338 rc = 2 * sc * dc;
340 rc = sa * da - 2 * (da - dc) * (sa - sc);
342 return clamp_div255round(rc + sc * (255 - da) + dc * (255 - sa));
360 static inline int softlight_byte(int sc, int dc, int sa, int da) {
363 if (2 * sc <= sa) {
364 rc = dc * (sa + ((2 * sc - sa) * (256 - m) >> 8));
367 rc = dc * sa + (da * (2 * sc - sa) * tmp >> 8);
370 rc = dc * sa + (da * (2 * sc - sa) * tmp >> 8);
372 return clamp_div255round(rc + sc * (255 - da) + dc * (255 - sa));
385 static inline int difference_byte(int sc, int dc, int sa, int da) {
386 int tmp = SkMin32(sc * da, dc * sa);
387 return clamp_signed_byte(sc + dc - 2 * SkDiv255Round(tmp));
400 static inline int exclusion_byte(int sc, int dc, int, int) {
402 //int r = sc * da + dc * sa - 2 * sc * dc + sc * (255 - da) + dc * (255 - sa);
405 int r = 255*(sc + dc) - 2 * sc * dc;
496 #define blendfunc_nonsep_byte(sc, dc, sa, da, blendval) \
497 clamp_div255round(sc * (255 - da) + dc * (255 - sa) + blendval)
1369 bool SkProcCoeffXfermode::asCoeff(Coeff* sc, Coeff* dc) const {
1374 if (sc) {
1375 *sc = fSrcCoeff;
1423 "Zero", "One", "SC", "ISC", "DC", "IDC", "SA", "ISA", "DA", "IDA"
1876 darken = (1 - Sa) * Dc + min(Sc, Dc)
1877 lighten = (1 - Sa) * Dc + max(Sc, Dc)
1884 darken = min(Sc, Dc)
1885 lighten = max(Sc, Dc)