LibGfx: Remove Painter's "implicit font" concept

Nothing actually needs this, so let's remove it and no longer have to
deal with figuring out its fallback value.
This commit is contained in:
Andreas Kling 2024-06-04 14:34:11 +02:00
commit 10335a07ee
Notes: sideshowbarker 2024-07-17 04:10:16 +09:00
2 changed files with 0 additions and 46 deletions

View file

@ -60,7 +60,6 @@ Painter::Painter(Gfx::Bitmap& bitmap)
VERIFY(bitmap.physical_width() % scale == 0);
VERIFY(bitmap.physical_height() % scale == 0);
m_state_stack.append(State());
state().font = nullptr;
state().clip_rect = { { 0, 0 }, bitmap.size() };
state().scale = scale;
m_clip_origin = state().clip_rect;
@ -1355,11 +1354,6 @@ void Painter::draw_scaled_bitmap(IntRect const& a_dst_rect, Gfx::Bitmap const& s
}
}
ALWAYS_INLINE void Painter::draw_glyph(FloatPoint point, u32 code_point, Color color)
{
draw_glyph(point, code_point, font(), color);
}
FLATTEN void Painter::draw_glyph(FloatPoint point, u32 code_point, Font const& font, Color color)
{
auto top_left = point + FloatPoint(font.glyph_left_bearing(code_point), 0);
@ -1417,11 +1411,6 @@ void Painter::draw_glyph_or_emoji(FloatPoint point, Utf8CodePointIterator& it, F
}
}
void Painter::draw_glyph(IntPoint point, u32 code_point, Color color)
{
draw_glyph(point.to_type<float>(), code_point, font(), color);
}
void Painter::draw_glyph(IntPoint point, u32 code_point, Font const& font, Color color)
{
draw_glyph(point.to_type<float>(), code_point, font, color);
@ -1709,16 +1698,6 @@ void Painter::do_draw_text(FloatRect const& rect, Utf8View const& text, Font con
}
}
void Painter::draw_text(FloatRect const& rect, StringView text, TextAlignment alignment, Color color, TextElision elision, TextWrapping wrapping)
{
draw_text(rect, text, font(), alignment, color, elision, wrapping);
}
void Painter::draw_text(FloatRect const& rect, Utf32View const& text, TextAlignment alignment, Color color, TextElision elision, TextWrapping wrapping)
{
draw_text(rect, text, font(), alignment, color, elision, wrapping);
}
void Painter::draw_text(FloatRect const& rect, StringView raw_text, Font const& font, TextAlignment alignment, Color color, TextElision elision, TextWrapping wrapping)
{
Utf8View text { raw_text };
@ -1772,16 +1751,6 @@ void Painter::draw_text(Function<void(FloatRect const&, Utf8CodePointIterator&)>
});
}
void Painter::draw_text(IntRect const& rect, StringView text, TextAlignment alignment, Color color, TextElision elision, TextWrapping wrapping)
{
draw_text(rect.to_type<float>(), text, font(), alignment, color, elision, wrapping);
}
void Painter::draw_text(IntRect const& rect, Utf32View const& text, TextAlignment alignment, Color color, TextElision elision, TextWrapping wrapping)
{
draw_text(rect.to_type<float>(), text, font(), alignment, color, elision, wrapping);
}
void Painter::draw_text(IntRect const& rect, StringView raw_text, Font const& font, TextAlignment alignment, Color color, TextElision elision, TextWrapping wrapping)
{
draw_text(rect.to_type<float>(), raw_text, font, alignment, color, elision, wrapping);

View file

@ -103,26 +103,20 @@ public:
void blit_disabled(IntPoint, Gfx::Bitmap const&, IntRect const&, Palette const&);
void blit_tiled(IntRect const&, Gfx::Bitmap const&, IntRect const& src_rect);
void draw_text(FloatRect const&, StringView, Font const&, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(FloatRect const&, StringView, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(FloatRect const&, Utf32View const&, Font const&, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(FloatRect const&, Utf32View const&, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(Function<void(FloatRect const&, Utf8CodePointIterator&)>, FloatRect const&, StringView, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(Function<void(FloatRect const&, Utf8CodePointIterator&)>, FloatRect const&, Utf8View const&, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(Function<void(FloatRect const&, Utf8CodePointIterator&)>, FloatRect const&, Utf32View const&, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(IntRect const&, StringView, Font const&, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(IntRect const&, StringView, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(IntRect const&, Utf32View const&, Font const&, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(IntRect const&, Utf32View const&, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(Function<void(FloatRect const&, Utf8CodePointIterator&)>, IntRect const&, StringView, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(Function<void(FloatRect const&, Utf8CodePointIterator&)>, IntRect const&, Utf8View const&, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_text(Function<void(FloatRect const&, Utf8CodePointIterator&)>, IntRect const&, Utf32View const&, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap);
void draw_ui_text(Gfx::IntRect const&, StringView, Gfx::Font const&, TextAlignment, Gfx::Color);
void draw_glyph(IntPoint, u32, Color);
void draw_glyph(IntPoint, u32, Font const&, Color);
void draw_emoji(IntPoint, Gfx::Bitmap const&, Font const&);
void draw_glyph_or_emoji(IntPoint, u32, Font const&, Color);
void draw_glyph_or_emoji(IntPoint, Utf8CodePointIterator&, Font const&, Color);
void draw_glyph(FloatPoint, u32, Color);
void draw_glyph(FloatPoint, u32, Font const&, Color);
void draw_glyph_or_emoji(FloatPoint, u32, Font const&, Color);
void draw_glyph_or_emoji(FloatPoint, Utf8CodePointIterator&, Font const&, Color);
@ -160,14 +154,6 @@ public:
void fill_path(Path const&, Color, WindingRule rule = WindingRule::Nonzero);
void fill_path(Path const&, PaintStyle const& paint_style, float opacity = 1.0f, WindingRule rule = WindingRule::Nonzero);
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 {
Copy,
Xor,
@ -213,7 +199,6 @@ protected:
void set_physical_pixel(IntPoint, Color color, bool blend);
struct State {
Font const* font;
IntPoint translation;
int scale = 1;
IntRect clip_rect;