mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:28:10 +00:00
WindowServer: Add support for fullscreen windows.
Fullscreen windows are rendered alone and above everything else when they are active, and as part of the regular window stack order when something else is active. Currently windows cannot be made fullscreen after-the-fact, but must have the fullscreen flag included in their CreateWindow message. It should not possible to interact with the menu, taskbar or window frame while the active window is fullscreened. :^)
This commit is contained in:
parent
5babcac289
commit
33d0916d29
11 changed files with 54 additions and 13 deletions
|
@ -16,7 +16,7 @@ class WSMouseEvent;
|
|||
|
||||
class WSWindow final : public CObject, public InlineLinkedListNode<WSWindow> {
|
||||
public:
|
||||
WSWindow(WSClientConnection&, WSWindowType, int window_id, bool modal, bool resizable);
|
||||
WSWindow(WSClientConnection&, WSWindowType, int window_id, bool modal, bool resizable, bool fullscreen);
|
||||
WSWindow(CObject&, WSWindowType);
|
||||
virtual ~WSWindow() override;
|
||||
|
||||
|
@ -32,6 +32,8 @@ public:
|
|||
bool is_maximized() const { return m_maximized; }
|
||||
void set_maximized(bool);
|
||||
|
||||
bool is_fullscreen() const { return m_fullscreen; }
|
||||
|
||||
WSWindowFrame& frame() { return m_frame; }
|
||||
const WSWindowFrame& frame() const { return m_frame; }
|
||||
|
||||
|
@ -63,7 +65,7 @@ public:
|
|||
|
||||
bool is_modal() const { return m_modal; }
|
||||
|
||||
bool is_resizable() const { return m_resizable; }
|
||||
bool is_resizable() const { return m_resizable && !m_fullscreen; }
|
||||
|
||||
Rect rect() const { return m_rect; }
|
||||
void set_rect(const Rect&);
|
||||
|
@ -155,6 +157,7 @@ private:
|
|||
bool m_listens_to_wm_events { false };
|
||||
bool m_minimized { false };
|
||||
bool m_maximized { false };
|
||||
bool m_fullscreen { false };
|
||||
RetainPtr<GraphicsBitmap> m_backing_store;
|
||||
RetainPtr<GraphicsBitmap> m_last_backing_store;
|
||||
int m_window_id { -1 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue