blob: 3ae9b067fa7bcbbde08b4618ae8ce45907720d38 [file] [log] [blame]
Mike Reed331ccfd2018-10-25 12:36:06 -04001/*
2 * Copyright 2018 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "SkTextUtils.h"
Mike Reed34c9b6d2018-12-12 15:48:16 -05009#include "SkTextBlob.h"
Mike Reed331ccfd2018-10-25 12:36:06 -040010
Mike Reeddc5863c2018-12-23 23:19:14 -050011void SkTextUtils::Draw(SkCanvas* canvas, const void* text, size_t size, SkTextEncoding encoding,
12 SkScalar x, SkScalar y, const SkFont& font, const SkPaint& paint,
13 Align align) {
Mike Reed3a42ec02018-10-30 12:53:21 -040014 if (align != kLeft_Align) {
Mike Reeddc5863c2018-12-23 23:19:14 -050015 SkScalar width = font.measureText(text, size, encoding);
Mike Reed3a42ec02018-10-30 12:53:21 -040016 if (align == kCenter_Align) {
Mike Reed34c9b6d2018-12-12 15:48:16 -050017 width *= 0.5f;
Mike Reed331ccfd2018-10-25 12:36:06 -040018 }
Mike Reed34c9b6d2018-12-12 15:48:16 -050019 x -= width;
Mike Reed331ccfd2018-10-25 12:36:06 -040020 }
21
Mike Reeddc5863c2018-12-23 23:19:14 -050022 canvas->drawTextBlob(SkTextBlob::MakeFromText(text, size, font, encoding), x, y, paint);
Mike Reed331ccfd2018-10-25 12:36:06 -040023}
24