Flutter Engine
 
Loading...
Searching...
No Matches
txt::FontCollection Class Reference

#include <font_collection.h>

Inheritance diagram for txt::FontCollection:

Public Member Functions

 FontCollection ()
 
 ~FontCollection ()
 
size_t GetFontManagersCount () const
 
void SetupDefaultFontManager (uint32_t font_initialization_data)
 
void SetDefaultFontManager (sk_sp< SkFontMgr > font_manager)
 
void SetAssetFontManager (sk_sp< SkFontMgr > font_manager)
 
void SetDynamicFontManager (sk_sp< SkFontMgr > font_manager)
 
void SetTestFontManager (sk_sp< SkFontMgr > font_manager)
 
void DisableFontFallback ()
 
void ClearFontFamilyCache ()
 
sk_sp< skia::textlayout::FontCollection > CreateSktFontCollection ()
 

Detailed Description

Definition at line 23 of file font_collection.h.

Constructor & Destructor Documentation

◆ FontCollection()

txt::FontCollection::FontCollection ( )

◆ ~FontCollection()

txt::FontCollection::~FontCollection ( )

Member Function Documentation

◆ ClearFontFamilyCache()

void txt::FontCollection::ClearFontFamilyCache ( )

Definition at line 85 of file font_collection.cc.

85 {
86 if (skt_collection_) {
87 skt_collection_->clearCaches();
88 }
89}

Referenced by SetupDefaultFontManager().

◆ CreateSktFontCollection()

sk_sp< skia::textlayout::FontCollection > txt::FontCollection::CreateSktFontCollection ( )

Definition at line 92 of file font_collection.cc.

92 {
93 if (!skt_collection_) {
94 skt_collection_ = sk_make_sp<skia::textlayout::FontCollection>();
95
96 std::vector<SkString> default_font_families;
97 for (const std::string& family : GetDefaultFontFamilies()) {
98 default_font_families.emplace_back(family);
99 }
100 skt_collection_->setDefaultFontManager(default_font_manager_,
101 default_font_families);
102 skt_collection_->setAssetFontManager(asset_font_manager_);
103 skt_collection_->setDynamicFontManager(dynamic_font_manager_);
104 skt_collection_->setTestFontManager(test_font_manager_);
105 if (!enable_font_fallback_) {
106 skt_collection_->disableFontFallback();
107 }
108 }
109
110 return skt_collection_;
111}
std::vector< std::string > GetDefaultFontFamilies()
Definition platform.cc:13

References txt::GetDefaultFontFamilies().

Referenced by SetupDefaultFontManager().

◆ DisableFontFallback()

void txt::FontCollection::DisableFontFallback ( )

Definition at line 78 of file font_collection.cc.

78 {
79 enable_font_fallback_ = false;
80 if (skt_collection_) {
81 skt_collection_->disableFontFallback();
82 }
83}

Referenced by SetupDefaultFontManager().

◆ GetFontManagersCount()

size_t txt::FontCollection::GetFontManagersCount ( ) const

Definition at line 30 of file font_collection.cc.

30 {
31 return GetFontManagerOrder().size();
32}

Referenced by ~FontCollection().

◆ SetAssetFontManager()

void txt::FontCollection::SetAssetFontManager ( sk_sp< SkFontMgr >  font_manager)

Definition at line 45 of file font_collection.cc.

45 {
46 asset_font_manager_ = std::move(font_manager);
47 skt_collection_.reset();
48}

Referenced by SetupDefaultFontManager().

◆ SetDefaultFontManager()

void txt::FontCollection::SetDefaultFontManager ( sk_sp< SkFontMgr >  font_manager)

Definition at line 40 of file font_collection.cc.

40 {
41 default_font_manager_ = std::move(font_manager);
42 skt_collection_.reset();
43}

Referenced by SetupDefaultFontManager().

◆ SetDynamicFontManager()

void txt::FontCollection::SetDynamicFontManager ( sk_sp< SkFontMgr >  font_manager)

Definition at line 50 of file font_collection.cc.

50 {
51 dynamic_font_manager_ = std::move(font_manager);
52 skt_collection_.reset();
53}

Referenced by SetupDefaultFontManager().

◆ SetTestFontManager()

void txt::FontCollection::SetTestFontManager ( sk_sp< SkFontMgr >  font_manager)

Definition at line 55 of file font_collection.cc.

55 {
56 test_font_manager_ = std::move(font_manager);
57 skt_collection_.reset();
58}

Referenced by SetupDefaultFontManager().

◆ SetupDefaultFontManager()

void txt::FontCollection::SetupDefaultFontManager ( uint32_t  font_initialization_data)

The documentation for this class was generated from the following files: