|  | // Copyright 2020 Google LLC. | 
|  | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. | 
|  | #include "tools/fiddle/examples.h" | 
|  | REG_FIDDLE(SkFontMgr_example, 1280, 512, true, 0) { | 
|  | const char* tostr(SkFontStyle::Slant s) { | 
|  | switch (s) { | 
|  | case SkFontStyle::kUpright_Slant: return "SkFontStyle::kUpright_Slant"; | 
|  | case SkFontStyle::kItalic_Slant:  return "SkFontStyle::kItalic_Slant"; | 
|  | case SkFontStyle::kOblique_Slant: return "SkFontStyle::kOblique_Slant"; | 
|  | default: return ""; | 
|  | } | 
|  | } | 
|  |  | 
|  | void draw(SkCanvas* canvas) { | 
|  | SkDebugf("Using a platform specific fontMgr;\n\n"); | 
|  |  | 
|  | for (int i = 0; i < fontMgr->countFamilies(); ++i) { | 
|  | SkString familyName; | 
|  | fontMgr->getFamilyName(i, &familyName); | 
|  | sk_sp<SkFontStyleSet> styleSet(fontMgr->createStyleSet(i)); | 
|  | int N = styleSet->count(); | 
|  | for (int j = 0; j < N; ++j) { | 
|  | SkFontStyle fontStyle; | 
|  | SkString style; | 
|  | styleSet->getStyle(j, &fontStyle, &style); | 
|  | SkDebugf( | 
|  | "SkFont font(fontMgr->legacyMakeTypeface(\"%s\",\n" | 
|  | "                                        SkFontStyle(%3d, %1d, %-27s));\n", | 
|  | familyName.c_str(), | 
|  | fontStyle.weight(), | 
|  | fontStyle.width(), | 
|  | tostr(fontStyle.slant())); | 
|  | } | 
|  | SkDebugf("\n"); | 
|  | } | 
|  | } | 
|  | }  // END FIDDLE |