| // Copyright 2013 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef FLUTTER_LIB_UI_TEXT_FONT_COLLECTION_H_ | |
| #define FLUTTER_LIB_UI_TEXT_FONT_COLLECTION_H_ | |
| #include <memory> | |
| #include <vector> | |
| #include "flutter/assets/asset_manager.h" | |
| #include "flutter/fml/macros.h" | |
| #include "flutter/fml/memory/ref_ptr.h" | |
| #include "third_party/tonic/typed_data/typed_list.h" | |
| #include "txt/font_collection.h" | |
| namespace flutter { | |
| class FontCollection { | |
| public: | |
| FontCollection(); | |
| ~FontCollection(); | |
| std::shared_ptr<txt::FontCollection> GetFontCollection() const; | |
| void SetupDefaultFontManager(uint32_t font_initialization_data); | |
| void RegisterFonts(const std::shared_ptr<AssetManager>& asset_manager); | |
| void RegisterTestFonts(); | |
| static void LoadFontFromList(Dart_Handle font_data_handle, | |
| Dart_Handle callback, | |
| const std::string& family_name); | |
| private: | |
| std::shared_ptr<txt::FontCollection> collection_; | |
| sk_sp<txt::DynamicFontManager> dynamic_font_manager_; | |
| FML_DISALLOW_COPY_AND_ASSIGN(FontCollection); | |
| }; | |
| } // namespace flutter | |
| #endif // FLUTTER_LIB_UI_TEXT_FONT_COLLECTION_H_ |