1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-26 01:45:06 +00:00

LibGfx+WindowServer: Simplify WindowTheme::paint_normal_frame() API

Don't require passing in the outer frame rect since the theme can
compute that itself, based on the window rect.
This commit is contained in:
Andreas Kling 2020-08-21 19:35:34 +02:00
parent 116c0c0ab3
commit 80a9896e83
4 changed files with 7 additions and 6 deletions

View file

@ -67,9 +67,11 @@ Gfx::IntRect ClassicWindowTheme::title_bar_text_rect(WindowType window_type, con
}; };
} }
void ClassicWindowTheme::paint_normal_frame(Painter& painter, WindowState window_state, const IntRect& outer_rect, const IntRect& window_rect, const StringView& title_text, const Bitmap& icon, const Palette& palette, const IntRect& leftmost_button_rect) const void ClassicWindowTheme::paint_normal_frame(Painter& painter, WindowState window_state, const IntRect& window_rect, const StringView& title_text, const Bitmap& icon, const Palette& palette, const IntRect& leftmost_button_rect) const
{ {
Gfx::StylePainter::paint_window_frame(painter, outer_rect, palette); auto frame_rect = frame_rect_for_window(WindowType::Normal, window_rect, palette);
frame_rect.set_location({ 0, 0 });
Gfx::StylePainter::paint_window_frame(painter, frame_rect, palette);
auto& title_font = Font::default_bold_font(); auto& title_font = Font::default_bold_font();

View file

@ -36,7 +36,7 @@ public:
ClassicWindowTheme(); ClassicWindowTheme();
virtual ~ClassicWindowTheme() override; virtual ~ClassicWindowTheme() override;
virtual void paint_normal_frame(Painter&, WindowState, const IntRect& outer_rect, const IntRect& window_rect, const StringView& title, const Bitmap& icon, const Palette&, const IntRect& leftmost_button_rect) const override; virtual void paint_normal_frame(Painter&, WindowState, const IntRect& window_rect, const StringView& title, const Bitmap& icon, const Palette&, const IntRect& leftmost_button_rect) const override;
virtual void paint_notification_frame(Painter&, const IntRect& outer_rect, const IntRect& window_rect, const Palette&, const IntRect& close_button_rect) const override; virtual void paint_notification_frame(Painter&, const IntRect& outer_rect, const IntRect& window_rect, const Palette&, const IntRect& close_button_rect) const override;
virtual IntRect title_bar_rect(WindowType, const IntRect& window_rect, const Palette&) const override; virtual IntRect title_bar_rect(WindowType, const IntRect& window_rect, const Palette&) const override;

View file

@ -50,7 +50,7 @@ public:
static WindowTheme& current(); static WindowTheme& current();
virtual void paint_normal_frame(Painter&, WindowState, const IntRect& outer_rect, const IntRect& window_rect, const StringView& title, const Bitmap& icon, const Palette&, const IntRect& leftmost_button_rect) const = 0; virtual void paint_normal_frame(Painter&, WindowState, const IntRect& window_rect, const StringView& title, const Bitmap& icon, const Palette&, const IntRect& leftmost_button_rect) const = 0;
virtual void paint_notification_frame(Painter&, const IntRect& outer_rect, const IntRect& window_rect, const Palette&, const IntRect& close_button_rect) const = 0; virtual void paint_notification_frame(Painter&, const IntRect& outer_rect, const IntRect& window_rect, const Palette&, const IntRect& close_button_rect) const = 0;
virtual IntRect title_bar_rect(WindowType, const IntRect& window_rect, const Palette&) const = 0; virtual IntRect title_bar_rect(WindowType, const IntRect& window_rect, const Palette&) const = 0;

View file

@ -180,7 +180,6 @@ void WindowFrame::paint_normal_frame(Gfx::Painter& painter)
{ {
auto palette = WindowManager::the().palette(); auto palette = WindowManager::the().palette();
auto& window = m_window; auto& window = m_window;
Gfx::IntRect outer_rect = { {}, rect().size() };
String title_text; String title_text;
if (window.client() && window.client()->is_unresponsive()) { if (window.client() && window.client()->is_unresponsive()) {
StringBuilder builder; StringBuilder builder;
@ -192,7 +191,7 @@ void WindowFrame::paint_normal_frame(Gfx::Painter& painter)
} }
auto leftmost_button_rect = m_buttons.is_empty() ? Gfx::IntRect() : m_buttons.last().relative_rect(); auto leftmost_button_rect = m_buttons.is_empty() ? Gfx::IntRect() : m_buttons.last().relative_rect();
Gfx::WindowTheme::current().paint_normal_frame(painter, window_state_for_theme(), outer_rect, m_window.rect(), title_text, m_window.icon(), palette, leftmost_button_rect); Gfx::WindowTheme::current().paint_normal_frame(painter, window_state_for_theme(), m_window.rect(), title_text, m_window.icon(), palette, leftmost_button_rect);
} }
void WindowFrame::paint(Gfx::Painter& painter) void WindowFrame::paint(Gfx::Painter& painter)