Stop using wlr_output->{lx,ly}

Also fixes sway_output->{lx,ly,width,height} not being updated. Also fixes
output_get_in_direction adding buffer coords to layout coords.
This commit is contained in:
emersion 2019-03-11 11:45:01 +01:00 committed by Brian Ashworth
parent bcde298a71
commit 076257a978
8 changed files with 61 additions and 53 deletions

View file

@ -101,11 +101,6 @@ void output_enable(struct sway_output *output, struct output_config *oc) {
output->configured = true;
list_add(root->outputs, output);
output->lx = wlr_output->lx;
output->ly = wlr_output->ly;
wlr_output_transformed_resolution(wlr_output,
&output->width, &output->height);
restore_workspaces(output);
struct sway_workspace *ws = NULL;
@ -311,8 +306,10 @@ struct sway_output *output_get_in_direction(struct sway_output *reference,
if (!sway_assert(direction, "got invalid direction: %d", direction)) {
return NULL;
}
int lx = reference->wlr_output->lx + reference->width / 2;
int ly = reference->wlr_output->ly + reference->height / 2;
struct wlr_box *output_box =
wlr_output_layout_get_box(root->output_layout, reference->wlr_output);
int lx = output_box->x + output_box->width / 2;
int ly = output_box->y + output_box->height / 2;
struct wlr_output *wlr_adjacent = wlr_output_layout_adjacent_output(
root->output_layout, direction, reference->wlr_output, lx, ly);
if (!wlr_adjacent) {