add drawString helper to canvas
Many tests and examples use drawText with
a guess of how long the text is in bytes,
or a call to strlen(). Add a helper to
SkCanvas to simplify these examples.
Add another helper for SkString.
R=reed@google.com
Change-Id: I0204a31e938f065606f08ee7cd9a6b36db791ee2
Reviewed-on: https://skia-review.googlesource.com/13642
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
diff --git a/gm/shadertext2.cpp b/gm/shadertext2.cpp
index 9b585bf..d23409a 100644
--- a/gm/shadertext2.cpp
+++ b/gm/shadertext2.cpp
@@ -107,14 +107,14 @@
canvas->translate(0, bmp.height() + labelPaint.getTextSize() + 15.f);
constexpr char kLabelLabel[] = "localM / canvasM";
- canvas->drawText(kLabelLabel, strlen(kLabelLabel), 0, 0, labelPaint);
+ canvas->drawString(kLabelLabel, 0, 0, labelPaint);
canvas->translate(0, 15.f);
canvas->save();
SkScalar maxLabelW = 0;
canvas->translate(0, kPadY / 2 + kPointSize);
for (int lm = 0; lm < localMatrices.count(); ++lm) {
- canvas->drawText(matrices[lm].fLabel, strlen(matrices[lm].fLabel),
+ canvas->drawString(matrices[lm].fLabel,
0, labelPaint.getTextSize() - 1, labelPaint);
SkScalar labelW = labelPaint.measureText(matrices[lm].fLabel,
strlen(matrices[lm].fLabel));
@@ -132,7 +132,7 @@
for (int m = 0; m < matrices.count(); ++m) {
columnH = 0;
canvas->save();
- canvas->drawText(matrices[m].fLabel, strlen(matrices[m].fLabel),
+ canvas->drawString(matrices[m].fLabel,
0, labelPaint.getTextSize() - 1, labelPaint);
canvas->translate(0, kPadY / 2 + kPointSize);
columnH += kPadY / 2 + kPointSize;
@@ -178,8 +178,8 @@
SkScalar y = columnH + kPadY / 2;
SkScalar fillX = -outlinePaint.measureText(kFillLabel, strlen(kFillLabel)) - kPadX;
SkScalar strokeX = kPadX;
- canvas->drawText(kFillLabel, strlen(kFillLabel), fillX, y, labelPaint);
- canvas->drawText(kStrokeLabel, strlen(kStrokeLabel), strokeX, y, labelPaint);
+ canvas->drawString(kFillLabel, fillX, y, labelPaint);
+ canvas->drawString(kStrokeLabel, strokeX, y, labelPaint);
}
}
}