mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 22:08:10 +00:00
LibGUI+WindowServer: Add a GResizeCorner widget.
This widget is automatically included in GStatusBar, but can be added in any other place, too. When clicked (with the left button), it initiates a window resize (using a WM request.) In this patch I also fixed up some issues with override cursors being cleared after the WindowServer finishes a drag or resize.
This commit is contained in:
parent
34c5db61aa
commit
ea9a39a9f2
19 changed files with 189 additions and 26 deletions
|
@ -116,14 +116,16 @@ public:
|
|||
void tell_wm_listeners_window_icon_changed(WSWindow&);
|
||||
void tell_wm_listeners_window_rect_changed(WSWindow&);
|
||||
|
||||
void start_window_resize(WSWindow&, const Point&, MouseButton);
|
||||
void start_window_resize(WSWindow&, const WSMouseEvent&);
|
||||
|
||||
private:
|
||||
void process_mouse_event(const WSMouseEvent&, WSWindow*& event_window);
|
||||
bool process_ongoing_window_resize(const WSMouseEvent&, WSWindow*& event_window);
|
||||
bool process_ongoing_window_drag(const WSMouseEvent&, WSWindow*& event_window);
|
||||
void process_mouse_event(const WSMouseEvent&, WSWindow*& hovered_window);
|
||||
bool process_ongoing_window_resize(const WSMouseEvent&, WSWindow*& hovered_window);
|
||||
bool process_ongoing_window_drag(const WSMouseEvent&, WSWindow*& hovered_window);
|
||||
void handle_menu_mouse_event(WSMenu&, const WSMouseEvent&);
|
||||
void handle_menubar_mouse_event(const WSMouseEvent&);
|
||||
void handle_close_button_mouse_event(WSWindow&, const WSMouseEvent&);
|
||||
void start_window_resize(WSWindow&, const WSMouseEvent&);
|
||||
void start_window_drag(WSWindow&, const WSMouseEvent&);
|
||||
void handle_client_request(const WSAPIClientRequest&);
|
||||
void set_hovered_window(WSWindow*);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue