| Index: src/gpu/GrDistanceFieldTextContext.cpp
|
| diff --git a/src/gpu/GrDistanceFieldTextContext.cpp b/src/gpu/GrDistanceFieldTextContext.cpp
|
| index 66c97c7dc0dc8e5eed6aaa2ffe0a7758e584eaa2..1fe43200c2ba6a88c12293eda86817244a289af6 100755
|
| --- a/src/gpu/GrDistanceFieldTextContext.cpp
|
| +++ b/src/gpu/GrDistanceFieldTextContext.cpp
|
| @@ -271,12 +271,6 @@
|
| fSkPaint.setAutohinted(false);
|
| fSkPaint.setHinting(SkPaint::kNormal_Hinting);
|
| fSkPaint.setSubpixelText(true);
|
| -
|
| - // fix for skia:3528
|
| - // if we're scaling up, include any scaling to match text size in the view matrix
|
| - if (fTextRatio > 1.0f) {
|
| - fViewMatrix.preScale(fTextRatio, fTextRatio);
|
| - }
|
| }
|
|
|
| void GrDistanceFieldTextContext::onDrawText(GrRenderTarget* rt, const GrClip& clip,
|
| @@ -489,24 +483,13 @@
|
| kRectToRect_DistanceFieldEffectFlag : 0;
|
| bool useBGR = SkPixelGeometryIsBGR(fDeviceProperties.pixelGeometry());
|
| flags |= fUseLCDText && useBGR ? kBGR_DistanceFieldEffectFlag : 0;
|
| -
|
| - // fix for skia:3528
|
| - // set the local matrix to correct any text size scaling for gradients et al.
|
| - SkMatrix localMatrix;
|
| - if (fTextRatio > 1.0f) {
|
| - localMatrix.setScale(fTextRatio, fTextRatio);
|
| - } else {
|
| - localMatrix.reset();
|
| - }
|
| -
|
| +
|
| // see if we need to create a new effect
|
| if (textureUniqueID != fEffectTextureUniqueID ||
|
| filteredColor != fEffectColor ||
|
| flags != fEffectFlags ||
|
| - !fCachedGeometryProcessor->viewMatrix().cheapEqualTo(fViewMatrix) ||
|
| - !fCachedGeometryProcessor->localMatrix().cheapEqualTo(localMatrix)) {
|
| + !fCachedGeometryProcessor->viewMatrix().cheapEqualTo(fViewMatrix)) {
|
| GrColor color = fPaint.getColor();
|
| -
|
| if (fUseLCDText) {
|
| GrColor colorNoPreMul = skcolor_to_grcolor_nopremultiply(filteredColor);
|
|
|
| @@ -522,7 +505,6 @@
|
| blueCorrection);
|
| fCachedGeometryProcessor.reset(GrDistanceFieldLCDTextureEffect::Create(color,
|
| fViewMatrix,
|
| - localMatrix,
|
| fCurrTexture,
|
| params,
|
| widthAdjust,
|
| @@ -536,7 +518,6 @@
|
| float correction = fDistanceAdjustTable[lum >> kDistanceAdjustLumShift];
|
| fCachedGeometryProcessor.reset(GrDistanceFieldTextureEffect::Create(color,
|
| fViewMatrix,
|
| - localMatrix,
|
| fCurrTexture,
|
| params,
|
| correction,
|
| @@ -545,7 +526,6 @@
|
| #else
|
| fCachedGeometryProcessor.reset(GrDistanceFieldTextureEffect::Create(color,
|
| fViewMatrix,
|
| - localMatrix,
|
| fCurrTexture,
|
| params,
|
| flags,
|
| @@ -624,18 +604,12 @@
|
| SkScalar height = SkIntToScalar(glyph->fBounds.height() - 2*SK_DistanceFieldInset);
|
|
|
| SkScalar scale = fTextRatio;
|
| - // if we're scaling up, using fix for skia:3528
|
| - if (scale > 1.0f) {
|
| - sx /= scale;
|
| - sy /= scale;
|
| - } else {
|
| - dx *= scale;
|
| - dy *= scale;
|
| - width *= scale;
|
| - height *= scale;
|
| - }
|
| + dx *= scale;
|
| + dy *= scale;
|
| sx += dx;
|
| sy += dy;
|
| + width *= scale;
|
| + height *= scale;
|
| SkRect glyphRect = SkRect::MakeXYWH(sx, sy, width, height);
|
|
|
| // check if we clipped out
|
| @@ -669,6 +643,7 @@
|
| this->flush();
|
|
|
| SkMatrix ctm;
|
| + ctm.setScale(fTextRatio, fTextRatio);
|
| ctm.postTranslate(sx - dx, sy - dy);
|
|
|
| SkPath tmpPath(*glyph->fPath);
|
|
|