Removed for-loop in render_workspace
This commit is contained in:
parent
4f9ac2dfbb
commit
d7ca31c596
|
@ -1843,14 +1843,10 @@ static void render_container(struct sway_output *output,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void render_workspace(struct sway_output *output,
|
static void render_workspace(struct sway_output *output,
|
||||||
pixman_region32_t *damage, struct sway_workspace *ws, bool focused,
|
pixman_region32_t *damage, struct sway_workspace *workspace,
|
||||||
struct sway_workspace *other_ws) {
|
bool focused, bool on_focused_workspace) {
|
||||||
struct sway_workspace *workspaces[2] = { other_ws, ws };
|
|
||||||
|
|
||||||
for (int i = 0; i < 2; i++) {
|
|
||||||
struct sway_workspace *workspace = workspaces[i];
|
|
||||||
if (!workspace || !workspace->current.tiling) {
|
if (!workspace || !workspace->current.tiling) {
|
||||||
continue;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct parent_data data = {
|
struct parent_data data = {
|
||||||
|
@ -1862,13 +1858,12 @@ static void render_workspace(struct sway_output *output,
|
||||||
.height = workspace->current.height,
|
.height = workspace->current.height,
|
||||||
},
|
},
|
||||||
.children = workspace->current.tiling,
|
.children = workspace->current.tiling,
|
||||||
.focused = ws == workspace ? focused : false,
|
.focused = focused,
|
||||||
.active_child = workspace->current.focused_inactive_child,
|
.active_child = workspace->current.focused_inactive_child,
|
||||||
.on_focused_workspace = ws == workspace,
|
.on_focused_workspace = on_focused_workspace,
|
||||||
};
|
};
|
||||||
render_containers(output, damage, &data);
|
render_containers(output, damage, &data);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
static void render_floating_container(struct sway_output *soutput,
|
static void render_floating_container(struct sway_output *soutput,
|
||||||
pixman_region32_t *damage, struct sway_container *con,
|
pixman_region32_t *damage, struct sway_container *con,
|
||||||
|
@ -2195,9 +2190,13 @@ void output_render(struct sway_output *output, struct timespec *when,
|
||||||
render_output_blur(output, damage);
|
render_output_blur(output, damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
render_workspace(output, damage, !fullscreen_con ? workspace : NULL,
|
// Render both workspaces
|
||||||
workspace->current.focused,
|
if (!other_ws_has_fullscreen) {
|
||||||
!other_ws_has_fullscreen ? other_ws : NULL);
|
render_workspace(output, damage, other_ws, false, false);
|
||||||
|
}
|
||||||
|
if (!fullscreen_con) {
|
||||||
|
render_workspace(output, damage, workspace, workspace->current.focused, true);
|
||||||
|
}
|
||||||
render_floating(output, damage,
|
render_floating(output, damage,
|
||||||
!other_ws_has_fullscreen ? other_ws : NULL,
|
!other_ws_has_fullscreen ? other_ws : NULL,
|
||||||
fullscreen_con != NULL);
|
fullscreen_con != NULL);
|
||||||
|
|
Loading…
Reference in a new issue