From fcfadd7c7499d74f6ce258064a15510e19529141 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Mon, 5 May 2025 03:12:31 +0300 Subject: [PATCH] LibGUI: Add background color for windows This is used when resizing a window to fill the empty space --- userspace/libraries/LibGUI/Window.cpp | 2 +- userspace/libraries/LibGUI/include/LibGUI/Window.h | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/userspace/libraries/LibGUI/Window.cpp b/userspace/libraries/LibGUI/Window.cpp index 064c02b6..857db9bd 100644 --- a/userspace/libraries/LibGUI/Window.cpp +++ b/userspace/libraries/LibGUI/Window.cpp @@ -355,7 +355,7 @@ namespace LibGUI m_framebuffer_smo = nullptr; BAN::Vector framebuffer; - TRY(framebuffer.resize(event.width * event.height, 0xFFFFFFFF)); + TRY(framebuffer.resize(event.width * event.height, m_bg_color)); void* framebuffer_addr = smo_map(event.smo_key); if (framebuffer_addr == nullptr) diff --git a/userspace/libraries/LibGUI/include/LibGUI/Window.h b/userspace/libraries/LibGUI/include/LibGUI/Window.h index e24a1047..209a884c 100644 --- a/userspace/libraries/LibGUI/include/LibGUI/Window.h +++ b/userspace/libraries/LibGUI/include/LibGUI/Window.h @@ -82,6 +82,9 @@ namespace LibGUI uint32_t width() const { return m_width; } uint32_t height() const { return m_height; } + // used on resize to fill empty space + void set_bg_color(uint32_t bg_color) { m_bg_color = bg_color; } + void poll_events(); void set_socket_error_callback(BAN::Function callback) { m_socket_error_callback = callback; } void set_close_window_event_callback(BAN::Function callback) { m_close_window_event_callback = callback; } @@ -118,6 +121,8 @@ namespace LibGUI uint32_t m_width { 0 }; uint32_t m_height { 0 }; + uint32_t m_bg_color { 0xFFFFFFFF }; + BAN::Function m_socket_error_callback; BAN::Function m_close_window_event_callback; BAN::Function m_resize_window_event_callback;