Update SkLumaMaskXfermode partial coverage handling.

Use lerp-to-dst instead of straight coverage scaling to align the behavior with
the other transfer modes.

R=reed@google.com

Review URL: https://codereview.chromium.org/23453004

git-svn-id: http://skia.googlecode.com/svn/trunk@10927 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
fmalita@google.com 2013-08-26 21:46:34 +00:00
parent f272e3554a
commit 3b3ce3bff5

View File

@ -76,7 +76,8 @@ void SkLumaMaskXfermode::xfer32(SkPMColor dst[], const SkPMColor src[],
if (cov) {
unsigned resC = luma_proc(a[i], b[i]);
if (cov < 255) {
resC = SkAlphaMulQ(resC, SkAlpha255To256(cov));
resC = SkFastFourByteInterp256(resC, dst[i],
SkAlpha255To256(cov));
}
dst[i] = resC;
}