| Index: src/core/SkDraw.cpp
|
| diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp
|
| index 24c80557168c8019adfb54f62e361520960b2c15..1739fefcc47f9ce99ee342d0068a8c8f7a2d84f7 100644
|
| --- a/src/core/SkDraw.cpp
|
| +++ b/src/core/SkDraw.cpp
|
| @@ -1896,6 +1896,10 @@ void SkDraw::drawPosText_asPaths(const char text[], size_t byteLength,
|
| SkMatrix matrix;
|
| matrix.setScale(matrixScale, matrixScale);
|
|
|
| + // Temporarily jam in kFill, so we only ever ask for the raw outline from the cache.
|
| + paint.setStyle(SkPaint::kFill_Style);
|
| + paint.setPathEffect(NULL);
|
| +
|
| SkDrawCacheProc glyphCacheProc = paint.getDrawCacheProc();
|
| SkAutoGlyphCache autoCache(paint, NULL, NULL);
|
| SkGlyphCache* cache = autoCache.getCache();
|
| @@ -1905,6 +1909,10 @@ void SkDraw::drawPosText_asPaths(const char text[], size_t byteLength,
|
| TextMapState tms(SkMatrix::I(), constY);
|
| TextMapState::Proc tmsProc = tms.pickProc(scalarsPerPosition);
|
|
|
| + // Now restore the original settings, so we "draw" with whatever style/stroking.
|
| + paint.setStyle(origPaint.getStyle());
|
| + paint.setPathEffect(origPaint.getPathEffect());
|
| +
|
| while (text < stop) {
|
| const SkGlyph& glyph = glyphCacheProc(cache, &text, 0, 0);
|
| if (glyph.fWidth) {
|
|
|