| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SKIA_EXT_FONT_UTILS_H_ |
| #define SKIA_EXT_FONT_UTILS_H_ |
| |
| #include "third_party/skia/include/core/SkFontStyle.h" |
| #include "third_party/skia/include/core/SkRefCnt.h" |
| #include "third_party/skia/include/core/SkTypes.h" |
| |
| class SkFont; |
| class SkFontMgr; |
| class SkTypeface; |
| |
| namespace skia { |
| |
| // Returns the platform specific SkFontMgr, which is a singleton. |
| SK_API sk_sp<SkFontMgr> DefaultFontMgr(); |
| |
| // Allows to override the default SkFontMgr instance (returned from |
| // skia::DefaultFontMgr()). Must be called before skia::DefaultFontMgr() is |
| // called for the first time in the process. |
| SK_API void OverrideDefaultSkFontMgr(sk_sp<SkFontMgr> fontmgr); |
| |
| // Returns a default SkTypeface returned by a platform-specific SkFontMgr. |
| SK_API sk_sp<SkTypeface> DefaultTypeface(); |
| |
| // Returns a Typeface matching the given criteria as returned the |
| // platform-specific SkFontMgr that was compiled in. This Typeface may be |
| // different on different platforms. |
| SK_API sk_sp<SkTypeface> MakeTypefaceFromName(const char* name, |
| SkFontStyle style); |
| |
| // Returns a font using DefaultTypeface() |
| SK_API SkFont DefaultFont(); |
| |
| } // namespace skia |
| |
| #endif // SKIA_EXT_FONT_UTILS_H_ |