From 10335a07ee2d72a97babfa66e7374ac72ae465c5 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 4 Jun 2024 14:34:11 +0200 Subject: [PATCH] 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. --- Userland/Libraries/LibGfx/Painter.cpp | 31 --------------------------- Userland/Libraries/LibGfx/Painter.h | 15 ------------- 2 files changed, 46 deletions(-) diff --git a/Userland/Libraries/LibGfx/Painter.cpp b/Userland/Libraries/LibGfx/Painter.cpp index ed28d04bab2..9fca8c8b3e0 100644 --- a/Userland/Libraries/LibGfx/Painter.cpp +++ b/Userland/Libraries/LibGfx/Painter.cpp @@ -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(), code_point, font(), color); -} - void Painter::draw_glyph(IntPoint point, u32 code_point, Font const& font, Color color) { draw_glyph(point.to_type(), 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 Painter::draw_text(IntRect const& rect, StringView text, TextAlignment alignment, Color color, TextElision elision, TextWrapping wrapping) -{ - draw_text(rect.to_type(), 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(), 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(), raw_text, font, alignment, color, elision, wrapping); diff --git a/Userland/Libraries/LibGfx/Painter.h b/Userland/Libraries/LibGfx/Painter.h index 3205fe456b1..73cd00501d3 100644 --- a/Userland/Libraries/LibGfx/Painter.h +++ b/Userland/Libraries/LibGfx/Painter.h @@ -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, FloatRect const&, StringView, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap); void draw_text(Function, FloatRect const&, Utf8View const&, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap); void draw_text(Function, 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, IntRect const&, StringView, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap); void draw_text(Function, IntRect const&, Utf8View const&, Font const&, TextAlignment = TextAlignment::TopLeft, TextElision = TextElision::None, TextWrapping = TextWrapping::DontWrap); void draw_text(Function, 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;