mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-01 22:58:38 -04:00
Merge branch 'master' into laggy-move-resize
This commit is contained in:
commit
1d08d31709
16 changed files with 199 additions and 134 deletions
|
|
@ -58,19 +58,21 @@ static void roots_cursor_update_position(struct roots_cursor *cursor,
|
|||
}
|
||||
break;
|
||||
case ROOTS_CURSOR_MOVE:
|
||||
if (seat->focus) {
|
||||
view = roots_seat_get_focus(seat);
|
||||
if (view != NULL) {
|
||||
double dx = cursor->cursor->x - cursor->offs_x;
|
||||
double dy = cursor->cursor->y - cursor->offs_y;
|
||||
view_move(seat->focus, cursor->view_x + dx,
|
||||
view_move(view, cursor->view_x + dx,
|
||||
cursor->view_y + dy);
|
||||
}
|
||||
break;
|
||||
case ROOTS_CURSOR_RESIZE:
|
||||
if (seat->focus) {
|
||||
view = roots_seat_get_focus(seat);
|
||||
if (view != NULL) {
|
||||
double dx = cursor->cursor->x - cursor->offs_x;
|
||||
double dy = cursor->cursor->y - cursor->offs_y;
|
||||
double x = seat->focus->x;
|
||||
double y = seat->focus->y;
|
||||
double x = view->x;
|
||||
double y = view->y;
|
||||
int width = cursor->view_width;
|
||||
int height = cursor->view_height;
|
||||
if (cursor->resize_edges & ROOTS_CURSOR_RESIZE_EDGE_TOP) {
|
||||
|
|
@ -99,12 +101,12 @@ static void roots_cursor_update_position(struct roots_cursor *cursor,
|
|||
height = 1;
|
||||
}
|
||||
|
||||
view_move_resize(seat->focus, x, y, width, height);
|
||||
view_move_resize(view, x, y, width, height);
|
||||
}
|
||||
break;
|
||||
case ROOTS_CURSOR_ROTATE:
|
||||
if (seat->focus) {
|
||||
struct roots_view *view = seat->focus;
|
||||
view = roots_seat_get_focus(seat);
|
||||
if (view != NULL) {
|
||||
int ox = view->x + view->wlr_surface->current->width/2,
|
||||
oy = view->y + view->wlr_surface->current->height/2;
|
||||
int ux = cursor->offs_x - ox,
|
||||
|
|
@ -118,7 +120,6 @@ static void roots_cursor_update_position(struct roots_cursor *cursor,
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void roots_cursor_press_button(struct roots_cursor *cursor,
|
||||
|
|
@ -135,7 +136,7 @@ static void roots_cursor_press_button(struct roots_cursor *cursor,
|
|||
if (state == WLR_BUTTON_PRESSED &&
|
||||
view &&
|
||||
roots_seat_has_meta_pressed(seat)) {
|
||||
roots_seat_focus_view(seat, view);
|
||||
roots_seat_set_focus(seat, view);
|
||||
|
||||
uint32_t edges;
|
||||
switch (button) {
|
||||
|
|
@ -186,7 +187,7 @@ static void roots_cursor_press_button(struct roots_cursor *cursor,
|
|||
cursor->input_events[i].device = device;
|
||||
cursor->input_events_idx = (i + 1)
|
||||
% (sizeof(cursor->input_events) / sizeof(cursor->input_events[0]));
|
||||
roots_seat_focus_view(seat, view);
|
||||
roots_seat_set_focus(seat, view);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue