Update smithay for DnD updates

This commit is contained in:
Victoria Brekenfeld 2025-11-10 18:32:34 +01:00 committed by Victoria Brekenfeld
parent 3ddc9421e4
commit 77d3605fb9
12 changed files with 340 additions and 99 deletions

View file

@ -1,4 +1,6 @@
use crate::wayland::protocols::corner_radius::CacheableCorners;
use crate::{
shell::focus::target::PointerFocusTarget, wayland::protocols::corner_radius::CacheableCorners,
};
use std::{
borrow::Cow,
sync::{
@ -618,6 +620,38 @@ impl CosmicSurface {
}
}
pub fn focus_under(
&self,
relative_pos: Point<f64, Logical>,
surface_type: WindowSurfaceType,
) -> Option<(PointerFocusTarget, Point<f64, Logical>)> {
if let Some(xsurface) = self.x11_surface() {
xsurface
.surface_under(relative_pos, Point::default(), surface_type)
.map(|(_surface, surface_offset)| {
(
PointerFocusTarget::X11Surface {
surface: xsurface.clone(),
toplevel: Some(self.clone()),
},
surface_offset.to_f64(),
)
})
} else {
self.0
.surface_under(relative_pos, surface_type)
.map(|(surface, surface_offset)| {
(
PointerFocusTarget::WlSurface {
surface,
toplevel: Some(self.clone().into()),
},
surface_offset.to_f64(),
)
})
}
}
pub fn on_commit(&self) {
self.0.on_commit();
}