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()"); |