Fix for issue 1728: raster vs. gpu text draws with the wrong color

The blend mode for LCD text was not set up correctly when using colors with alpha. This takes the color's alpha value
into account when setting up the blending function.

BUG=Skia:1728
R=bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11980 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 6427f77..730dad6 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -1742,7 +1742,8 @@
         if (!skPaint2GrPaintShader(this, paint, true, &grPaint)) {
             return;
         }
-        GrBitmapTextContext context(fContext, grPaint);
+
+        GrBitmapTextContext context(fContext, grPaint, paint.getColor());
         myDraw.fProcs = this->initDrawForText(&context);
         this->INHERITED::drawText(myDraw, text, byteLength, x, y, paint);
     }
@@ -1765,7 +1766,7 @@
         if (!skPaint2GrPaintShader(this, paint, true, &grPaint)) {
             return;
         }
-        GrBitmapTextContext context(fContext, grPaint);
+        GrBitmapTextContext context(fContext, grPaint, paint.getColor());
         myDraw.fProcs = this->initDrawForText(&context);
         this->INHERITED::drawPosText(myDraw, text, byteLength, pos, constY,
                                      scalarsPerPos, paint);