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

WindowServer: Add a window minimization button.

The window is simply ignored in the painting and hit testing traversal
when in minimized state, same as we do for invisible windows.

The WM_SetActiveWindow message (sent by Taskbar) brings it back into the
non-minimized state. :^)
This commit is contained in:
Andreas Kling 2019-04-05 22:32:00 +02:00
parent 0fc3ccaa52
commit f6ca94605c
6 changed files with 49 additions and 3 deletions

View file

@ -19,6 +19,9 @@ public:
WSWindow(WSMessageReceiver&, WSWindowType);
virtual ~WSWindow() override;
bool is_minimized() const { return m_minimized; }
void set_minimized(bool);
WSWindowFrame& frame() { return m_frame; }
const WSWindowFrame& frame() const { return m_frame; }
@ -139,6 +142,7 @@ private:
bool m_modal { false };
bool m_resizable { false };
bool m_listens_to_wm_events { false };
bool m_minimized { false };
RetainPtr<GraphicsBitmap> m_backing_store;
RetainPtr<GraphicsBitmap> m_last_backing_store;
int m_window_id { -1 };