diff options
| author | 2017-04-13 19:21:21 +0000 | |
|---|---|---|
| committer | 2017-04-13 19:21:25 +0000 | |
| commit | 729a515e5ebcf38e3472bb8fee4e9400745c400c (patch) | |
| tree | b7763ed1b7b35a151fae87b50f9cde4f0a5141da /libs | |
| parent | e425b366ba5fb2228182b8ac3d3fbaf396194cdc (diff) | |
| parent | 5b6347a6af668ba47b3fab14cefbe03cc440c3a4 (diff) | |
Merge "Introduce setFallbackTypeface" into oc-dev
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/hwui/hwui/Typeface.cpp | 12 | ||||
| -rw-r--r-- | libs/hwui/hwui/Typeface.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libs/hwui/hwui/Typeface.cpp b/libs/hwui/hwui/Typeface.cpp index 4b8575adb32b..86709ee3a1fa 100644 --- a/libs/hwui/hwui/Typeface.cpp +++ b/libs/hwui/hwui/Typeface.cpp @@ -71,6 +71,18 @@ Typeface* Typeface::createFromTypeface(Typeface* src, SkTypeface::Style style) { return result; } +Typeface* Typeface::createFromTypefaceWithStyle(Typeface* base, int weight, bool italic) { + Typeface* resolvedFace = Typeface::resolveDefault(base); + Typeface* result = new Typeface(); + if (result != nullptr) { + result->fFontCollection = resolvedFace->fFontCollection; + result->fBaseWeight = weight; + result->fStyle = minikin::FontStyle(weight / 100, italic); + result->fSkiaStyle = resolvedFace->fSkiaStyle; + } + return result; +} + Typeface* Typeface::createFromTypefaceWithVariation(Typeface* src, const std::vector<minikin::FontVariation>& variations) { Typeface* resolvedFace = Typeface::resolveDefault(src); diff --git a/libs/hwui/hwui/Typeface.h b/libs/hwui/hwui/Typeface.h index 19a4f6c5acd5..27ee4a2a35aa 100644 --- a/libs/hwui/hwui/Typeface.h +++ b/libs/hwui/hwui/Typeface.h @@ -42,6 +42,8 @@ struct ANDROID_API Typeface { static Typeface* createFromTypeface(Typeface* src, SkTypeface::Style style); + static Typeface* createFromTypefaceWithStyle(Typeface* base, int weight, bool italic); + static Typeface* createFromTypefaceWithVariation(Typeface* src, const std::vector<minikin::FontVariation>& variations); |