shell/elements: Handle clipping and shadows

This commit is contained in:
Victoria Brekenfeld 2025-12-08 18:22:23 +01:00 committed by Victoria Brekenfeld
parent 2adebb5fe1
commit 59fd732982
7 changed files with 917 additions and 97 deletions

View file

@ -1501,6 +1501,14 @@ impl FloatingLayout {
.unwrap_or_else(|| (self.space.element_geometry(elem).unwrap().as_local(), alpha));
let render_location = geometry.loc - elem.geometry().loc.as_local();
let shadow_element = elem.shadow_render_element(
renderer,
render_location
.as_logical()
.to_physical_precise_round(output_scale),
output_scale.into(),
alpha,
);
let mut window_elements = elem.render_elements(
renderer,
render_location
@ -1622,6 +1630,7 @@ impl FloatingLayout {
}
elements.extend(window_elements);
elements.extend(shadow_element.into_iter());
}
elements