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

WindowServer: Let the window switcher render itself as a WSWindow.

Much better than drawing directly into the back buffer.
This commit is contained in:
Andreas Kling 2019-03-06 10:03:10 +01:00
parent f3ff402cf3
commit b85fe0bd07
8 changed files with 89 additions and 59 deletions

View file

@ -13,7 +13,7 @@ class WSMenu;
class WSWindow final : public WSMessageReceiver, public InlineLinkedListNode<WSWindow> {
public:
WSWindow(WSClientConnection&, int window_id);
explicit WSWindow(WSMenu&);
WSWindow(WSMessageReceiver&, WSWindowType);
virtual ~WSWindow() override;
WSClientConnection* client() { return m_client; }
@ -85,6 +85,7 @@ public:
private:
WSClientConnection* m_client { nullptr };
WSMessageReceiver* m_internal_owner { nullptr };
String m_title;
Rect m_rect;
WSWindowType m_type { WSWindowType::Normal };
@ -92,7 +93,6 @@ private:
bool m_visible { true };
bool m_has_alpha_channel { false };
bool m_has_painted_since_last_resize { false };
WSMenu* m_menu { nullptr };
RetainPtr<GraphicsBitmap> m_backing_store;
int m_window_id { -1 };
float m_opacity { 1 };