mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 22:37:35 +00:00
WindowServer: Factor out window frame logic into a WSWindowFrame class.
The window frame is an object that contains a window, its title bar and window border. This way WSWindowManager doesn't have to know about all the different types of window borders, titlebar rects, etc.
This commit is contained in:
parent
99b98dc653
commit
47d270b577
8 changed files with 312 additions and 237 deletions
22
Servers/WindowServer/WSWindowFrame.h
Normal file
22
Servers/WindowServer/WSWindowFrame.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
#pragma once
|
||||
|
||||
class Painter;
|
||||
class Rect;
|
||||
class WSMouseEvent;
|
||||
class WSWindow;
|
||||
|
||||
class WSWindowFrame {
|
||||
public:
|
||||
WSWindowFrame(WSWindow&);
|
||||
~WSWindowFrame();
|
||||
|
||||
Rect rect() const;
|
||||
void paint(Painter&);
|
||||
void on_mouse_event(const WSMouseEvent&);
|
||||
void notify_window_rect_changed(const Rect& old_rect, const Rect& new_rect);
|
||||
|
||||
private:
|
||||
void handle_close_button_mouse_event(const WSMouseEvent&);
|
||||
|
||||
WSWindow& m_window;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue