| Index: src/gpu/text/GrStencilAndCoverTextContext.cpp
|
| diff --git a/src/gpu/text/GrStencilAndCoverTextContext.cpp b/src/gpu/text/GrStencilAndCoverTextContext.cpp
|
| index 661f22512d41ecdf592e6452b5de97d1eb377be1..4c2a615a663f0d318de04e70b782b400b5bc4279 100644
|
| --- a/src/gpu/text/GrStencilAndCoverTextContext.cpp
|
| +++ b/src/gpu/text/GrStencilAndCoverTextContext.cpp
|
| @@ -457,8 +457,8 @@ void GrStencilAndCoverTextContext::TextRun::setText(const char text[], size_t by
|
|
|
| // Measure first if needed.
|
| if (fFont.getTextAlign() != SkPaint::kLeft_Align) {
|
| - SkFixed stopX = 0;
|
| - SkFixed stopY = 0;
|
| + SkScalar stopX = 0;
|
| + SkScalar stopY = 0;
|
|
|
| const char* textPtr = text;
|
| while (textPtr < stop) {
|
| @@ -466,13 +466,13 @@ void GrStencilAndCoverTextContext::TextRun::setText(const char text[], size_t by
|
| // same advance.
|
| const SkGlyph& glyph = glyphCacheProc(glyphCache, &textPtr);
|
|
|
| - stopX += glyph.fAdvanceX;
|
| - stopY += glyph.fAdvanceY;
|
| + stopX += SkFloatToScalar(glyph.fAdvanceX);
|
| + stopY += SkFloatToScalar(glyph.fAdvanceY);
|
| }
|
| SkASSERT(textPtr == stop);
|
|
|
| - SkScalar alignX = SkFixedToScalar(stopX) * fTextRatio;
|
| - SkScalar alignY = SkFixedToScalar(stopY) * fTextRatio;
|
| + SkScalar alignX = stopX * fTextRatio;
|
| + SkScalar alignY = stopY * fTextRatio;
|
|
|
| if (fFont.getTextAlign() == SkPaint::kCenter_Align) {
|
| alignX = SkScalarHalf(alignX);
|
| @@ -485,21 +485,16 @@ void GrStencilAndCoverTextContext::TextRun::setText(const char text[], size_t by
|
|
|
| SkAutoKern autokern;
|
|
|
| - SkFixed fixedSizeRatio = SkScalarToFixed(fTextRatio);
|
| -
|
| - SkFixed fx = SkScalarToFixed(x);
|
| - SkFixed fy = SkScalarToFixed(y);
|
| FallbackBlobBuilder fallback;
|
| while (text < stop) {
|
| const SkGlyph& glyph = glyphCacheProc(glyphCache, &text);
|
| - fx += SkFixedMul(autokern.adjust(glyph), fixedSizeRatio);
|
| + x += autokern.adjust(glyph) * fTextRatio;
|
| if (glyph.fWidth) {
|
| - this->appendGlyph(glyph, SkPoint::Make(SkFixedToScalar(fx), SkFixedToScalar(fy)),
|
| - &fallback);
|
| + this->appendGlyph(glyph, SkPoint::Make(x, y), &fallback);
|
| }
|
|
|
| - fx += SkFixedMul(glyph.fAdvanceX, fixedSizeRatio);
|
| - fy += SkFixedMul(glyph.fAdvanceY, fixedSizeRatio);
|
| + x += SkFloatToScalar(glyph.fAdvanceX) * fTextRatio;
|
| + y += SkFloatToScalar(glyph.fAdvanceY) * fTextRatio;
|
| }
|
|
|
| fFallbackTextBlob.reset(fallback.buildIfNeeded(&fFallbackGlyphCount));
|
|
|