Correctly linearize Windows AA from ClearType.

http://codereview.appspot.com/6446129/


git-svn-id: http://skia.googlecode.com/svn/trunk@5069 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
bungeman@google.com 2012-08-13 20:01:51 +00:00
parent fdb9b212a8
commit 1bd2d67702

View File

@ -1135,9 +1135,13 @@ void SkScalerContext_Windows::generateImage(const SkGlyph& glyph, SkMaskGamma::P
}
if (!isBW) {
const uint8_t* table = getInverseGammaTableClearType();
if (isAA) {
table = getInverseGammaTableGDI();
const uint8_t* table;
//The offscreen contains a GDI blit if isAA and kGenA8FromLCD_Flag is not set.
//Otherwise the offscreen contains a ClearType blit.
if (isAA && !(fRec.fFlags & SkScalerContext::kGenA8FromLCD_Flag)) {
table = getInverseGammaTableGDI();
} else {
table = getInverseGammaTableClearType();
}
//Note that the following cannot really be integrated into the
//pre-blend, since we may not be applying the pre-blend; when we aren't