diff options
author | Hendiadyoin1 <leon2002.la@gmail.com> | 2021-11-28 16:09:38 +0100 |
---|---|---|
committer | Ali Mohammad Pur <Ali.mpfard@gmail.com> | 2021-11-29 23:17:05 +0330 |
commit | 9e7c16d0a44052e5981038d6b7cd79723fe78e24 (patch) | |
tree | 5d689ab6792130e8c9d5cb13d30818d4653832ae /Userland/Libraries/LibGfx | |
parent | e69276e704b4c3eb56d0ad6108a3de16cc8dd175 (diff) | |
download | serenity-9e7c16d0a44052e5981038d6b7cd79723fe78e24.zip |
LibGfx: Load default font lazily
This is required when trying to use a Painter from lagom, due to
/res/font not being present
Diffstat (limited to 'Userland/Libraries/LibGfx')
-rw-r--r-- | Userland/Libraries/LibGfx/Painter.cpp | 2 | ||||
-rw-r--r-- | Userland/Libraries/LibGfx/Painter.h | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/Userland/Libraries/LibGfx/Painter.cpp b/Userland/Libraries/LibGfx/Painter.cpp index 1ade80691d..cdf399c5e5 100644 --- a/Userland/Libraries/LibGfx/Painter.cpp +++ b/Userland/Libraries/LibGfx/Painter.cpp @@ -64,7 +64,7 @@ Painter::Painter(Gfx::Bitmap& bitmap) VERIFY(bitmap.physical_width() % scale == 0); VERIFY(bitmap.physical_height() % scale == 0); m_state_stack.append(State()); - state().font = &FontDatabase::default_font(); + state().font = nullptr; state().clip_rect = { { 0, 0 }, bitmap.size() }; state().scale = scale; m_clip_origin = state().clip_rect; diff --git a/Userland/Libraries/LibGfx/Painter.h b/Userland/Libraries/LibGfx/Painter.h index 1f26afeab2..8b9e407846 100644 --- a/Userland/Libraries/LibGfx/Painter.h +++ b/Userland/Libraries/LibGfx/Painter.h @@ -10,6 +10,7 @@ #include <AK/NonnullRefPtr.h> #include <AK/Vector.h> #include <LibGfx/Color.h> +#include <LibGfx/FontDatabase.h> #include <LibGfx/Forward.h> #include <LibGfx/Point.h> #include <LibGfx/Rect.h> @@ -108,7 +109,12 @@ public: }; void fill_path(Path const&, Color, WindingRule rule = WindingRule::Nonzero); - Font const& font() const { return *state().font; } + Font const& font() const + { + if (!state().font) + return FontDatabase::default_font(); + return *state().font; + } void set_font(Font const& font) { state().font = &font; } enum class DrawOp { |