LibGfx: Add a MappedFile variant of BitmapFont::try_load_from_file

Let's make it possible to create a BitmapFont directly from a MappedFile
instead of a file path.
This commit is contained in:
Caoimhe 2023-03-24 18:20:27 +00:00 committed by Sam Atkins
parent 74d34134ff
commit 0d2ca125b3
2 changed files with 9 additions and 3 deletions

View file

@ -233,9 +233,14 @@ RefPtr<BitmapFont> BitmapFont::load_from_file(DeprecatedString const& path)
ErrorOr<NonnullRefPtr<BitmapFont>> BitmapFont::try_load_from_file(DeprecatedString const& path)
{
auto file = TRY(Core::MappedFile::map(path));
auto font = TRY(load_from_memory((u8 const*)file->data()));
font->m_mapped_file = file;
auto mapped_file = TRY(Core::MappedFile::map(path));
return try_load_from_mapped_file(move(mapped_file));
}
ErrorOr<NonnullRefPtr<BitmapFont>> BitmapFont::try_load_from_mapped_file(RefPtr<Core::MappedFile> const& mapped_file)
{
auto font = TRY(load_from_memory((u8 const*)mapped_file->data()));
font->m_mapped_file = mapped_file;
return font;
}

View file

@ -32,6 +32,7 @@ public:
static RefPtr<BitmapFont> load_from_file(DeprecatedString const& path);
static ErrorOr<NonnullRefPtr<BitmapFont>> try_load_from_file(DeprecatedString const& path);
static ErrorOr<NonnullRefPtr<BitmapFont>> try_load_from_mapped_file(RefPtr<Core::MappedFile> const&);
ErrorOr<void> write_to_file(DeprecatedString const& path);
~BitmapFont();