Also gets rid of the clunky move+resize code
NNBK7MMS3MCRQGIYBYXVSF4DJVWFVZMXDD3O2W2MUIPL23DJLXOQC
E7UO6NRGXFDMBU3BSJYRDNOA3Y7VHD7NWPHI5PHCPHQF6ZNOPZLQC
D425ND7AT3F7QJ3CCSESMVDOC3J5C5P32M5SJDBHECZJXLHNQ2FAC
CN4FS77B6FLSEDGAQ4R5YGHS56TNW7IGUR7RK4HKCLDX2627VBKAC
7B74AT3BXYB7PVW4F6SGQNPMHOU5TEV5TZ54CG6VSQI46XSEKWXQC
S7RXJJZG4IEIVLPHEWFT5M2T3SRRO5US5SYBPXSYSWJJLXAKNNPAC
O5JVMDEEKP334BAYMJ6HHXROW4X4WC24JHCYZTKJRQE5UGYXV7YQC
7XCGFU3GX4TQXZBOU7GFAQ62EEOTVRNWFYQGI3XULFPSUKDZ2EYAC
double x = view->x;
double y = view->y;
int width = grab_width;
int height = grab_height;
if (resize_edges & WLR_EDGE_TOP) {
y = grab_y + dy;
height -= dy;
if (height < 1) {
y += height;
}
} else if (resize_edges & WLR_EDGE_BOTTOM) {
height += dy;
}
if (resize_edges & WLR_EDGE_LEFT) {
x = grab_x + dx;
width -= dx;
if (width < 1) {
x += width;
}
} else if (resize_edges & WLR_EDGE_RIGHT) {
width += dx;
}
view->x = x;
view->y = y;
wlr_xdg_toplevel_set_size(view->xdg_surface, width, height);
wlr_xdg_toplevel_set_size(grabbed_view->xdg_surface,
grab_width + dx, grab_height + dy);