1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 16:47:44 +00:00

WindowServer+LibGUI: Add a way to force a window to have a drop shadow

This commit is contained in:
Andreas Kling 2021-07-04 23:10:53 +02:00
parent 3368e54224
commit c2dfa9d54c
7 changed files with 41 additions and 6 deletions

View file

@ -146,6 +146,7 @@ void Window::show()
m_resizable,
m_fullscreen,
m_frameless,
m_forced_shadow,
m_accessory,
m_opacity_when_windowless,
m_alpha_hit_threshold,
@ -927,6 +928,16 @@ void Window::set_frameless(bool frameless)
apply_icon();
}
void Window::set_forced_shadow(bool shadow)
{
if (m_forced_shadow == shadow)
return;
m_forced_shadow = shadow;
if (!is_visible())
return;
WindowServerConnection::the().async_set_forced_shadow(m_window_id, shadow);
}
bool Window::is_maximized() const
{
if (!is_visible())

View file

@ -45,6 +45,8 @@ public:
bool is_frameless() const { return m_frameless; }
void set_frameless(bool);
void set_forced_shadow(bool);
bool is_resizable() const { return m_resizable; }
void set_resizable(bool resizable) { m_resizable = resizable; }
@ -266,6 +268,7 @@ private:
bool m_minimizable { true };
bool m_fullscreen { false };
bool m_frameless { false };
bool m_forced_shadow { false };
bool m_layout_pending { false };
bool m_visible_for_timer_purposes { true };
bool m_visible { false };