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

Unified Diff: samplecode/SampleTextOnPath.cpp

Issue 933483002: add Method param to drawTextOnPath, supporting SVG spec Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: add guard for android Created 5 years, 10 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: samplecode/SampleTextOnPath.cpp
diff --git a/samplecode/SampleTextOnPath.cpp b/samplecode/SampleTextOnPath.cpp
index ac889c3dae24fa1f9a27b248740fd9870f493742..bb165cf46e607425e444f52bc35bd01b3add7d90 100644
--- a/samplecode/SampleTextOnPath.cpp
+++ b/samplecode/SampleTextOnPath.cpp
@@ -42,9 +42,11 @@ static void textStrokePath(SkCanvas* canvas) {
const char* text = "DRAWING STROKED TEXT WITH A BLUR ON A PATH";
size_t len = strlen(text);
+ SkMatrix matrix;
+ SkCanvas::TextOnPathMethod method = SkCanvas::kStretch_TextOnPathMethod;
- canvas->drawTextOnPathHV(text, len, path, 0,
- -0.025f, paint);
+ matrix.setTranslate(0, -0.025f);
+ canvas->drawTextOnPath(text, len, path, &matrix, method, paint);
canvas->restore();
}
@@ -70,22 +72,23 @@ static void textPathMatrix(SkCanvas* canvas) {
SkPathMeasure meas(path, false);
SkScalar pathLen = meas.getLength();
+ SkCanvas::TextOnPathMethod method = SkCanvas::kStretch_TextOnPathMethod;
- canvas->drawTextOnPath(text, len, path, NULL, paint);
+ canvas->drawTextOnPath(text, len, path, NULL, method, paint);
paint.setColor(SK_ColorRED);
matrix.setScale(-SK_Scalar1, SK_Scalar1);
matrix.postTranslate(pathLen, 0);
- canvas->drawTextOnPath(text, len, path, &matrix, paint);
+ canvas->drawTextOnPath(text, len, path, &matrix, method, paint);
paint.setColor(SK_ColorBLUE);
matrix.setScale(SK_Scalar1, -SK_Scalar1);
- canvas->drawTextOnPath(text, len, path, &matrix, paint);
+ canvas->drawTextOnPath(text, len, path, &matrix, method, paint);
paint.setColor(SK_ColorGREEN);
matrix.setScale(-SK_Scalar1, -SK_Scalar1);
matrix.postTranslate(pathLen, 0);
- canvas->drawTextOnPath(text, len, path, &matrix, paint);
+ canvas->drawTextOnPath(text, len, path, &matrix, method, paint);
}
class TextOnPathView : public SampleView {
@@ -120,21 +123,23 @@ protected:
const char* text = "Hamburgefons";
size_t len = strlen(text);
-
+ SkCanvas::TextOnPathMethod method = SkCanvas::kStretch_TextOnPathMethod;
+ SkMatrix matrix;
+
for (int j = 0; j < REPEAT_COUNT; j++) {
SkScalar x = fHOffset;
paint.setColor(SK_ColorBLACK);
- canvas->drawTextOnPathHV(text, len, fPath,
- x, paint.getTextSize()/2, paint);
+ matrix.setTranslate(x, paint.getTextSize()/2);
+ canvas->drawTextOnPath(text, len, fPath, &matrix, method, paint);
paint.setColor(SK_ColorRED);
- canvas->drawTextOnPathHV(text, len, fPath,
- x + SkIntToScalar(50), 0, paint);
+ matrix.setTranslate(x + 50, 0);
+ canvas->drawTextOnPath(text, len, fPath, &matrix, method, paint);
paint.setColor(SK_ColorBLUE);
- canvas->drawTextOnPathHV(text, len, fPath,
- x + SkIntToScalar(100), -paint.getTextSize()/2, paint);
+ matrix.setTranslate(x + 100, -paint.getTextSize()/2);
+ canvas->drawTextOnPath(text, len, fPath, &matrix, method, paint);
}
paint.setColor(SK_ColorGREEN);

Powered by Google App Engine
This is Rietveld 408576698