mirror of
https://github.com/swaywm/sway.git
synced 2025-11-02 09:01:40 -05:00
Merge pull request #2460 from RyanDwyer/implement-mousedown
Implement mousedown operation
This commit is contained in:
commit
d4a32800d5
3 changed files with 63 additions and 8 deletions
|
|
@ -35,6 +35,14 @@ struct sway_drag_icon {
|
|||
struct wl_listener destroy;
|
||||
};
|
||||
|
||||
enum sway_seat_operation {
|
||||
OP_NONE,
|
||||
OP_DOWN,
|
||||
OP_MOVE,
|
||||
OP_RESIZE_FLOATING,
|
||||
OP_RESIZE_TILING,
|
||||
};
|
||||
|
||||
struct sway_seat {
|
||||
struct wlr_seat *wlr_seat;
|
||||
struct sway_cursor *cursor;
|
||||
|
|
@ -54,13 +62,7 @@ struct sway_seat {
|
|||
double touch_x, touch_y;
|
||||
|
||||
// Operations (drag and resize)
|
||||
enum {
|
||||
OP_NONE,
|
||||
OP_MOVE,
|
||||
OP_RESIZE_FLOATING,
|
||||
OP_RESIZE_TILING,
|
||||
} operation;
|
||||
|
||||
enum sway_seat_operation operation;
|
||||
struct sway_container *op_container;
|
||||
enum wlr_edges op_resize_edge;
|
||||
uint32_t op_button;
|
||||
|
|
@ -68,6 +70,7 @@ struct sway_seat {
|
|||
double op_ref_lx, op_ref_ly; // cursor's x/y at start of op
|
||||
double op_ref_width, op_ref_height; // container's size at start of op
|
||||
double op_ref_con_lx, op_ref_con_ly; // container's x/y at start of op
|
||||
bool op_moved; // if the mouse moved during a down op
|
||||
|
||||
uint32_t last_button;
|
||||
uint32_t last_button_serial;
|
||||
|
|
@ -157,6 +160,9 @@ bool seat_is_input_allowed(struct sway_seat *seat, struct wlr_surface *surface);
|
|||
|
||||
void drag_icon_update_position(struct sway_drag_icon *icon);
|
||||
|
||||
void seat_begin_down(struct sway_seat *seat, struct sway_container *con,
|
||||
uint32_t button, double sx, double sy);
|
||||
|
||||
void seat_begin_move(struct sway_seat *seat, struct sway_container *con,
|
||||
uint32_t button);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue