1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 08:37:45 +00:00

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) ErrorOr<NonnullRefPtr<BitmapFont>> BitmapFont::try_load_from_file(DeprecatedString const& path)
{ {
auto file = TRY(Core::MappedFile::map(path)); auto mapped_file = TRY(Core::MappedFile::map(path));
auto font = TRY(load_from_memory((u8 const*)file->data())); return try_load_from_mapped_file(move(mapped_file));
font->m_mapped_file = 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; return font;
} }

View file

@ -32,6 +32,7 @@ public:
static RefPtr<BitmapFont> load_from_file(DeprecatedString const& path); 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_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); ErrorOr<void> write_to_file(DeprecatedString const& path);
~BitmapFont(); ~BitmapFont();