| #include "rive/text/text_style.hpp" |
| #include "rive/assets/file_asset_referencer.hpp" |
| #include "rive/assets/font_asset.hpp" |
| #include "rive/artboard.hpp" |
| #include "rive/factory.hpp" |
| |
| using namespace rive; |
| |
| bool FontAsset::decode(SimpleArray<uint8_t>& data, Factory* factory) |
| { |
| font(factory->decodeFont(data)); |
| return m_font != nullptr; |
| } |
| std::string FontAsset::fileExtension() const { return "ttf"; } |
| |
| void FontAsset::font(rcp<Font> font) |
| { |
| m_font = std::move(font); |
| |
| // We could try to tie this to some generic FileAssetReferencer callback |
| // but for that we'd need this to be behind a more generic setter like |
| // ::asset(rcp<Asset> asset) |
| for (FileAssetReferencer* fileAssetReferencer : fileAssetReferencers()) |
| { |
| static_cast<TextStyle*>(fileAssetReferencer)->addDirt(ComponentDirt::TextShape); |
| } |
| } |