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:
parent
116c0c0ab3
commit
80a9896e83
4 changed files with 7 additions and 6 deletions
|
@ -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();
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue