aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkCanvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkCanvas.cpp')
-rw-r--r--src/core/SkCanvas.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index c590d77cb7..b297f98156 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -2453,7 +2453,8 @@ void SkCanvas::onDrawText(const void* text, size_t byteLength, SkScalar x, SkSca
while (iter.next()) {
fScratchGlyphRunBuilder->prepareDrawText(
looper.paint(), text, byteLength, SkPoint::Make(x, y));
- fScratchGlyphRunBuilder->draw(iter.fDevice);
+ auto glyphRun = fScratchGlyphRunBuilder->useGlyphRun();
+ iter.fDevice->drawGlyphRun(looper.paint(), glyphRun);
}
LOOPER_END
@@ -2466,7 +2467,8 @@ void SkCanvas::onDrawPosText(const void* text, size_t byteLength, const SkPoint
while (iter.next()) {
fScratchGlyphRunBuilder->prepareDrawPosText(looper.paint(), text, byteLength, pos);
- fScratchGlyphRunBuilder->draw(iter.fDevice);
+ auto glyphRun = fScratchGlyphRunBuilder->useGlyphRun();
+ iter.fDevice->drawGlyphRun(looper.paint(), glyphRun);
}
LOOPER_END
@@ -2480,7 +2482,8 @@ void SkCanvas::onDrawPosTextH(const void* text, size_t byteLength, const SkScala
while (iter.next()) {
fScratchGlyphRunBuilder->prepareDrawPosTextH(
looper.paint(), text, byteLength, xpos, constY);
- fScratchGlyphRunBuilder->draw(iter.fDevice);
+ const auto& glyphRun = fScratchGlyphRunBuilder->useGlyphRun();
+ iter.fDevice->drawGlyphRun(looper.paint(), glyphRun);
}
LOOPER_END
@@ -2533,9 +2536,7 @@ void SkCanvas::onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
LOOPER_BEGIN(paint, SkDrawFilter::kText_Type, bounds)
while (iter.next()) {
- fScratchGlyphRunBuilder->prepareTextBlob(
- looper.paint(), *blob, SkPoint::Make(x, y), drawFilter);
- fScratchGlyphRunBuilder->draw(iter.fDevice);
+ iter.fDevice->drawTextBlob(blob, x, y, looper.paint(), drawFilter);
}
LOOPER_END