From 0d48e4175a69fb6c50ca19f0891558ff829a753d Mon Sep 17 00:00:00 2001 From: fmalita Date: Mon, 4 Jan 2016 08:08:04 -0800 Subject: [PATCH] [SkDebugger] Display run glyph positioning modes R=robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1559883002 Review URL: https://codereview.chromium.org/1559883002 --- src/utils/debugger/SkDrawCommand.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/utils/debugger/SkDrawCommand.cpp b/src/utils/debugger/SkDrawCommand.cpp index bb9f2f831d..17c59e67a6 100644 --- a/src/utils/debugger/SkDrawCommand.cpp +++ b/src/utils/debugger/SkDrawCommand.cpp @@ -675,6 +675,12 @@ void SkDrawPosTextHCommand::execute(SkCanvas* canvas) const { canvas->drawPosTextH(fText, fByteLength, fXpos, fConstY, fPaint); } +static const char* gPositioningLabels[] = { + "kDefault_Positioning", + "kHorizontal_Positioning", + "kFull_Positioning", +}; + SkDrawTextBlobCommand::SkDrawTextBlobCommand(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint) : INHERITED(kDrawTextBlob_OpType) @@ -694,11 +700,15 @@ SkDrawTextBlobCommand::SkDrawTextBlobCommand(const SkTextBlob* blob, SkScalar x, SkPaint runPaint(paint); SkTextBlobRunIterator iter(blob); while (!iter.done()) { - SkAutoTDelete label(new SkString); - label->printf("==== Run [%d] ====", runs++); - fInfo.push(label.release()); + SkAutoTDelete tmpStr(new SkString); + tmpStr->printf("==== Run [%d] ====", runs++); + fInfo.push(tmpStr.release()); fInfo.push(SkObjectParser::IntToString(iter.glyphCount(), "GlyphCount: ")); + tmpStr.reset(new SkString("GlyphPositioning: ")); + tmpStr->append(gPositioningLabels[iter.positioning()]); + fInfo.push(tmpStr.release()); + iter.applyFontToPaint(&runPaint); fInfo.push(SkObjectParser::PaintToString(runPaint));