diff options
author | robertphillips <robertphillips@google.com> | 2016-07-19 07:59:22 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-07-19 07:59:22 -0700 |
commit | e34f17d23699abfc672289f51319b37294b3c257 (patch) | |
tree | eef74fb1356491c4a23c31e32ead9a275a8fa09c /src/core/SkFont.cpp | |
parent | b117ff194ff888ef9107a4797aad053b0d76be30 (diff) |
Make SkFont a bit more useable
Split out of https://codereview.chromium.org/2163483002/ (Use SkFont in GrStencilAndCoverTextContext)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163633002
Review-Url: https://codereview.chromium.org/2163633002
Diffstat (limited to 'src/core/SkFont.cpp')
-rw-r--r-- | src/core/SkFont.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/core/SkFont.cpp b/src/core/SkFont.cpp index 1300011ec4..aa7fe366c8 100644 --- a/src/core/SkFont.cpp +++ b/src/core/SkFont.cpp @@ -48,6 +48,10 @@ sk_sp<SkFont> SkFont::makeWithSize(SkScalar newSize) const { this->getSkewX(), this->getMaskType(), this->getFlags()); } +sk_sp<SkFont> SkFont::makeWithFlags(uint32_t newFlags) const { + return SkFont::Make(sk_ref_sp(this->getTypeface()), this->getSize(), this->getScaleX(), + this->getSkewX(), this->getMaskType(), newFlags); +} /////////////////////////////////////////////////////////////////////////////////////////////////// int SkFont::textToGlyphs(const void* text, size_t byteLength, SkTextEncoding encoding, @@ -74,21 +78,21 @@ int SkFont::textToGlyphs(const void* text, size_t byteLength, SkTextEncoding enc count = SkToInt(byteLength >> 1); break; } - if (nullptr == glyphs) { + if (!glyphs) { return count; } // TODO: unify/eliminate SkTypeface::Encoding with SkTextEncoding - SkTypeface::Encoding typeface_encoding; + SkTypeface::Encoding typefaceEncoding; switch (encoding) { case kUTF8_SkTextEncoding: - typeface_encoding = SkTypeface::kUTF8_Encoding; + typefaceEncoding = SkTypeface::kUTF8_Encoding; break; case kUTF16_SkTextEncoding: - typeface_encoding = SkTypeface::kUTF16_Encoding; + typefaceEncoding = SkTypeface::kUTF16_Encoding; break; case kUTF32_SkTextEncoding: - typeface_encoding = SkTypeface::kUTF32_Encoding; + typefaceEncoding = SkTypeface::kUTF32_Encoding; break; default: SkASSERT(kGlyphID_SkTextEncoding == encoding); @@ -97,7 +101,7 @@ int SkFont::textToGlyphs(const void* text, size_t byteLength, SkTextEncoding enc return count; } - (void)fTypeface->charsToGlyphs(text, typeface_encoding, glyphs, count); + (void)fTypeface->charsToGlyphs(text, typefaceEncoding, glyphs, count); return count; } |