mirror of
https://github.com/swaywm/sway.git
synced 2025-11-20 06:59:46 -05:00
Refactor seat operations to use an interface
This splits each seat operation (drag/move tiling/floating etc) into a separate file and introduces a struct sway_seatop_impl to abstract the operation. The move_tiling_threshold operation has been merged into move_tiling. The main logic for each operation is untouched aside from variable renames. The following previously-static functions have been made public: * node_at_coords * container_raise_floating * render_rect * premultiply_alpha * scale_box
This commit is contained in:
parent
15ac580b28
commit
ed5aafd90b
19 changed files with 924 additions and 646 deletions
|
|
@ -470,7 +470,7 @@ static void handle_request_move(struct wl_listener *listener, void *data) {
|
|||
return;
|
||||
}
|
||||
struct sway_seat *seat = input_manager_current_seat();
|
||||
seat_begin_move_floating(seat, view->container, seat->last_button);
|
||||
seatop_begin_move_floating(seat, view->container, seat->last_button);
|
||||
}
|
||||
|
||||
static void handle_request_resize(struct wl_listener *listener, void *data) {
|
||||
|
|
@ -486,7 +486,7 @@ static void handle_request_resize(struct wl_listener *listener, void *data) {
|
|||
}
|
||||
struct wlr_xwayland_resize_event *e = data;
|
||||
struct sway_seat *seat = input_manager_current_seat();
|
||||
seat_begin_resize_floating(seat, view->container,
|
||||
seatop_begin_resize_floating(seat, view->container,
|
||||
seat->last_button, e->edges);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue