Index: src/gpu/SkGpuDevice.cpp |
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp |
index db440c149af74b8d4d137d908eaeb4988177f22c..f15b93e732543fff8e6dd31715c3660b17125007 100644 |
--- a/src/gpu/SkGpuDevice.cpp |
+++ b/src/gpu/SkGpuDevice.cpp |
@@ -1755,7 +1755,9 @@ void SkGpuDevice::drawText(const SkDraw& draw, const void* text, |
if (!skPaint2GrPaintShader(this, paint, true, &grPaint)) { |
return; |
} |
- GrBitmapTextContext context(fContext, grPaint); |
+ |
+ GrColor paintColorNoPreMultAlpha = SkColor2GrColorNoPremultiply(paint.getColor()); |
+ GrBitmapTextContext context(fContext, grPaint, paintColorNoPreMultAlpha); |
myDraw.fProcs = this->initDrawForText(&context); |
this->INHERITED::drawText(myDraw, text, byteLength, x, y, paint); |
} |
@@ -1778,7 +1780,8 @@ void SkGpuDevice::drawPosText(const SkDraw& draw, const void* text, |
if (!skPaint2GrPaintShader(this, paint, true, &grPaint)) { |
return; |
} |
- GrBitmapTextContext context(fContext, grPaint); |
+ GrColor paintColorNoPreMultAlpha = SkColor2GrColorNoPremultiply(paint.getColor()); |
+ GrBitmapTextContext context(fContext, grPaint, paintColorNoPreMultAlpha); |
myDraw.fProcs = this->initDrawForText(&context); |
this->INHERITED::drawPosText(myDraw, text, byteLength, pos, constY, |
scalarsPerPos, paint); |