| Index: Source/core/platform/graphics/skia/SkiaFontWin.cpp
|
| diff --git a/Source/core/platform/graphics/skia/SkiaFontWin.cpp b/Source/core/platform/graphics/skia/SkiaFontWin.cpp
|
| index 8a0b7ce2a8ce988e37518d1723762db357469b88..d4971aee692e192bc3a5136881c71f30294b2e99 100644
|
| --- a/Source/core/platform/graphics/skia/SkiaFontWin.cpp
|
| +++ b/Source/core/platform/graphics/skia/SkiaFontWin.cpp
|
| @@ -47,6 +47,7 @@ namespace WebCore {
|
|
|
| static void skiaDrawText(PlatformContextSkia* context,
|
| const SkPoint& point,
|
| + const SkRect& textRect,
|
| SkPaint* paint,
|
| const WORD* glyphs,
|
| const int* advances,
|
| @@ -70,7 +71,7 @@ static void skiaDrawText(PlatformContextSkia* context,
|
| y + -SkIntToScalar(offsets[i].dv));
|
| x += SkIntToScalar(advances[i]);
|
| }
|
| - context->drawPosText(glyphs, numGlyphs * sizeof(uint16_t), pos, *paint);
|
| + context->drawPosText(glyphs, numGlyphs * sizeof(uint16_t), pos, textRect, *paint);
|
| } else {
|
| SkAutoSTArray<kLocalGlyphMax * 2, SkScalar> storage(numGlyphs);
|
| SkScalar* xpos = storage.get();
|
| @@ -79,7 +80,7 @@ static void skiaDrawText(PlatformContextSkia* context,
|
| x += SkIntToScalar(advances[i]);
|
| }
|
| context->drawPosTextH(glyphs, numGlyphs * sizeof(uint16_t),
|
| - xpos, y, *paint);
|
| + xpos, y, textRect, *paint);
|
| }
|
| }
|
|
|
| @@ -161,7 +162,8 @@ static void paintSkiaText(GraphicsContext* context, HFONT hfont,
|
| const WORD* glyphs,
|
| const int* advances,
|
| const GOFFSET* offsets,
|
| - const SkPoint* origin)
|
| + const SkPoint& origin,
|
| + const SkRect& textRect)
|
| {
|
| PlatformContextSkia* platformContext = context->platformContext();
|
| TextDrawingModeFlags textMode = platformContext->getTextDrawingMode();
|
| @@ -178,7 +180,7 @@ static void paintSkiaText(GraphicsContext* context, HFONT hfont,
|
| bool didFill = false;
|
|
|
| if ((textMode & TextModeFill) && (SkColorGetA(paint.getColor()) || paint.getLooper())) {
|
| - skiaDrawText(platformContext, *origin, &paint, &glyphs[0], &advances[0], &offsets[0], numGlyphs);
|
| + skiaDrawText(platformContext, origin, textRect, &paint, &glyphs[0], &advances[0], &offsets[0], numGlyphs);
|
| didFill = true;
|
| }
|
|
|
| @@ -205,7 +207,7 @@ static void paintSkiaText(GraphicsContext* context, HFONT hfont,
|
| paint.setLooper(0);
|
| }
|
|
|
| - skiaDrawText(platformContext, *origin, &paint, &glyphs[0], &advances[0], &offsets[0], numGlyphs);
|
| + skiaDrawText(platformContext, origin, textRect, &paint, &glyphs[0], &advances[0], &offsets[0], numGlyphs);
|
| }
|
| }
|
|
|
| @@ -217,10 +219,11 @@ void paintSkiaText(GraphicsContext* context,
|
| const WORD* glyphs,
|
| const int* advances,
|
| const GOFFSET* offsets,
|
| - const SkPoint* origin)
|
| + const SkPoint& origin,
|
| + const SkRect& textRect)
|
| {
|
| paintSkiaText(context, data.hfont(), data.typeface(), data.size(), data.lfQuality(),
|
| - numGlyphs, glyphs, advances, offsets, origin);
|
| + numGlyphs, glyphs, advances, offsets, origin, textRect);
|
| }
|
|
|
| void paintSkiaText(GraphicsContext* context,
|
| @@ -229,14 +232,15 @@ void paintSkiaText(GraphicsContext* context,
|
| const WORD* glyphs,
|
| const int* advances,
|
| const GOFFSET* offsets,
|
| - const SkPoint* origin)
|
| + const SkPoint& origin,
|
| + const SkRect& textRect)
|
| {
|
| int size;
|
| int quality;
|
| SkTypeface* face = CreateTypefaceFromHFont(hfont, &size, &quality);
|
| SkAutoUnref aur(face);
|
|
|
| - paintSkiaText(context, hfont, face, size, quality, numGlyphs, glyphs, advances, offsets, origin);
|
| + paintSkiaText(context, hfont, face, size, quality, numGlyphs, glyphs, advances, offsets, origin, textRect);
|
| }
|
|
|
| } // namespace WebCore
|
|
|