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

Unified Diff: src/core/SkCanvas.cpp

Issue 933483002: add Method param to drawTextOnPath, supporting SVG spec Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase 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
« no previous file with comments | « src/animator/SkTextOnPath.cpp ('k') | src/core/SkDevice.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkCanvas.cpp
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index c523ca07dd2c644088706507ac10d824feb60473..b059897bedb7fea9854b7496d5cd76a4cf1a25cc 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -2190,12 +2190,14 @@ void SkCanvas::onDrawPosTextH(const void* text, size_t byteLength, const SkScala
}
void SkCanvas::onDrawTextOnPath(const void* text, size_t byteLength, const SkPath& path,
- const SkMatrix* matrix, const SkPaint& paint) {
+ const SkMatrix* matrix,
+ SK_SUPPORT_LEGACY_DRAWTEXTONPATH_PARAM
+ const SkPaint& paint) {
LOOPER_BEGIN(paint, SkDrawFilter::kText_Type, NULL)
while (iter.next()) {
iter.fDevice->drawTextOnPath(iter, text, byteLength, path,
- matrix, looper.paint());
+ matrix, SK_SUPPORT_LEGACY_DRAWTEXTONPATH_ARG looper.paint());
}
LOOPER_END
@@ -2239,9 +2241,14 @@ void SkCanvas::drawPosTextH(const void* text, size_t byteLength, const SkScalar
this->onDrawPosTextH(text, byteLength, xpos, constY, paint);
}
void SkCanvas::drawTextOnPath(const void* text, size_t byteLength, const SkPath& path,
- const SkMatrix* matrix, const SkPaint& paint) {
+ const SkMatrix* matrix, TextOnPathMethod method,
+ const SkPaint& paint) {
+ if (0 == byteLength || path.isEmpty()) {
+ return;
+ }
TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawTextOnPath()");
- this->onDrawTextOnPath(text, byteLength, path, matrix, paint);
+ this->onDrawTextOnPath(text, byteLength, path, matrix,
+ SK_SUPPORT_LEGACY_DRAWTEXTONPATH_ARG paint);
}
void SkCanvas::drawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
const SkPaint& paint) {
@@ -2423,16 +2430,23 @@ void SkCanvas::drawArc(const SkRect& oval, SkScalar startAngle,
}
}
-void SkCanvas::drawTextOnPathHV(const void* text, size_t byteLength,
+#ifdef SK_SUPPORT_LEGACY_DRAWTEXTONPATH
+void SkCanvas::drawTextOnPathHV(const void* text, size_t length,
const SkPath& path, SkScalar hOffset,
SkScalar vOffset, const SkPaint& paint) {
TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawTextOnPathHV()");
SkMatrix matrix;
-
+
matrix.setTranslate(hOffset, vOffset);
- this->drawTextOnPath(text, byteLength, path, &matrix, paint);
+ this->drawTextOnPath(text, length, path, &matrix, SkCanvas::kStretch_TextOnPathMethod, paint);
}
+void SkCanvas::drawTextOnPath(const void* text, size_t length, const SkPath& path,
+ const SkMatrix* matrix, const SkPaint& paint) {
+ this->drawTextOnPath(text, length, path, matrix, SkCanvas::kStretch_TextOnPathMethod, paint);
+}
+#endif
+
///////////////////////////////////////////////////////////////////////////////
void SkCanvas::drawPicture(const SkPicture* picture) {
TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawPicture()");
« no previous file with comments | « src/animator/SkTextOnPath.cpp ('k') | src/core/SkDevice.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698