diff options
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) { |