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