Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1427)

Unified Diff: src/core/SkPicturePlayback.cpp

Issue 2130643004: drawTextRSXform (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: update util canvases Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/core/SkPicturePlayback.cpp
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp
index 3cbcdbbd2f3f55cf1da6dd23a187d1df36ab9071..6b8930436f1117c2c3bc5ba1ae8fc19cfaf3effa 100644
--- a/src/core/SkPicturePlayback.cpp
+++ b/src/core/SkPicturePlayback.cpp
@@ -501,6 +501,19 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader,
canvas->drawTextOnPath(text.text(), text.length(), path, &matrix, *paint);
}
} break;
+ case DRAW_TEXT_RSXFORM: {
+ const SkPaint* paint = fPictureData->getPaint(reader);
+ int count = reader->readInt();
+ uint32_t flags = reader->read32();
+ TextContainer text;
+ get_text(reader, &text);
+ const SkRSXform* xform = (const SkRSXform*)reader->skip(count * sizeof(SkRSXform));
+ const SkRect* cull = nullptr;
+ if (flags & DRAW_TEXT_RSXFORM_HAS_CULL) {
+ cull = (const SkRect*)reader->skip(sizeof(SkRect));
+ }
+ canvas->drawTextRSXform(text.text(), text.length(), xform, cull, *paint);
+ } break;
case DRAW_VERTICES: {
sk_sp<SkXfermode> xfer;
const SkPaint* paint = fPictureData->getPaint(reader);

Powered by Google App Engine
This is Rietveld 408576698