diff options
author | Hal Canary <halcanary@google.com> | 2018-06-06 13:29:51 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-06 13:29:57 +0000 |
commit | 74b390d6b136a60f1df15ac5ecd19bd8ad5a394b (patch) | |
tree | afba5f9d8d8d802e9b6873c5f4c7948a94f76762 /src/svg/SkSVGDevice.cpp | |
parent | 102c8cf26e2886ba783a2b54827e1f5d1cf0a774 (diff) |
Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device"
This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59.
Reason for revert: made valgrind unhappy.
Original change's description:
> Have draw(Text|PosText|PosTextH) use a single entry on the device
>
> Handle the positioning of drawText at the canvas layer. Simplify
> the code by removing similar implementations.
>
> Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2
> Reviewed-on: https://skia-review.googlesource.com/127131
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
TBR=jvanverth@google.com,bungeman@google.com,herb@google.com
Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/132403
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'src/svg/SkSVGDevice.cpp')
-rw-r--r-- | src/svg/SkSVGDevice.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/svg/SkSVGDevice.cpp b/src/svg/SkSVGDevice.cpp index 3462f7cd6b..e777f60e9f 100644 --- a/src/svg/SkSVGDevice.cpp +++ b/src/svg/SkSVGDevice.cpp @@ -936,6 +936,17 @@ void SkSVGDevice::drawBitmapRect(const SkBitmap& bm, const SkRect* srcOrNull, drawBitmapCommon(MxCp(&adjustedMatrix, cs), bm, paint); } +void SkSVGDevice::drawText(const void* text, size_t len, + SkScalar x, SkScalar y, const SkPaint& paint) { + AutoElement elem("text", fWriter, fResourceBucket.get(), MxCp(this), paint); + elem.addTextAttributes(paint); + + SVGTextBuilder builder(text, len, paint, SkPoint::Make(x, y), 0); + elem.addAttribute("x", builder.posX()); + elem.addAttribute("y", builder.posY()); + elem.addText(builder.text()); +} + void SkSVGDevice::drawPosText(const void* text, size_t len, const SkScalar pos[], int scalarsPerPos, const SkPoint& offset, const SkPaint& paint) { |