blob: d588a3f032237f1971b664b424d8491e5124a01b [file] [log] [blame]
Hal Canary6c8422c2020-01-10 15:22:09 -05001// Copyright 2020 Google LLC.
2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3#include "tools/fiddle/examples.h"
4REG_FIDDLE(SkFontMgr_example, 1280, 512, true, 0) {
5const char* tostr(SkFontStyle::Slant s) {
6 switch (s) {
7 case SkFontStyle::kUpright_Slant: return "SkFontStyle::kUpright_Slant";
8 case SkFontStyle::kItalic_Slant: return "SkFontStyle::kItalic_Slant";
9 case SkFontStyle::kOblique_Slant: return "SkFontStyle::kOblique_Slant";
10 default: return "";
11 }
12}
13
14void draw(SkCanvas* canvas) {
15 SkDebugf("sk_sp<SkFontMgr> mgr(SkFontMgr::RefDefault());\n\n");
16
17 sk_sp<SkFontMgr> mgr(SkFontMgr::RefDefault());
18 for (int i = 0; i < mgr->countFamilies(); ++i) {
19 SkString familyName;
20 mgr->getFamilyName(i, &familyName);
21 sk_sp<SkFontStyleSet> styleSet(mgr->createStyleSet(i));
22 int N = styleSet->count();
23 for (int j = 0; j < N; ++j) {
24 SkFontStyle fontStyle;
25 SkString style;
26 styleSet->getStyle(j, &fontStyle, &style);
27 SkDebugf("SkFont font(mgr->legacyMakeTypeface(\"%s\",\n"
28 " SkFontStyle(%3d, %1d, %-27s));\n",
29 familyName.c_str(), fontStyle.weight(), fontStyle.width(),
30 tostr(fontStyle.slant()));
31 }
32 SkDebugf("\n");
33 }
34}
35} // END FIDDLE