render: Implement workspace transitions

This commit is contained in:
Victoria Brekenfeld 2023-05-22 20:19:11 +02:00
parent 0d1894e08f
commit 7b3ac7fa77
8 changed files with 320 additions and 126 deletions

View file

@ -1041,13 +1041,20 @@ impl Surface {
);
}
let handle = state.shell.workspaces.active(&self.output).handle;
let (previous_workspace, workspace) = state.shell.workspaces.active(&self.output);
let (previous_idx, idx) = state.shell.workspaces.active_num(&self.output);
let previous_workspace = previous_workspace
.zip(previous_idx)
.map(|((w, start), idx)| (w.handle, idx, start));
let workspace = (workspace.handle, idx);
let elements = workspace_elements(
Some(&render_node),
&mut renderer,
state,
&self.output,
&handle,
previous_workspace,
workspace,
CursorMode::All,
&mut Some(&mut self.fps),
false,