iced-yoda/winit/src/platform_specific/wayland/commands/subsurface.rs
2026-07-01 10:37:52 -04:00

40 lines
1.1 KiB
Rust

use crate::core::window::Id as SurfaceId;
pub use cctk::sctk::shell::wlr_layer::{Anchor, KeyboardInteractivity, Layer};
use iced_runtime::{
self, Action, Task,
platform_specific::{
self,
wayland::{self, subsurface::SctkSubsurfaceSettings},
},
task,
};
pub fn get_subsurface<Message>(
subsurface: SctkSubsurfaceSettings,
) -> Task<Message> {
task::effect(Action::PlatformSpecific(
platform_specific::Action::Wayland(wayland::Action::Subsurface(
wayland::subsurface::Action::Subsurface { subsurface },
)),
))
}
pub fn destroy_subsurface<Message>(id: SurfaceId) -> Task<Message> {
task::effect(Action::PlatformSpecific(
platform_specific::Action::Wayland(wayland::Action::Subsurface(
wayland::subsurface::Action::Destroy { id },
)),
))
}
pub fn reposition_subsurface<Message>(
id: SurfaceId,
x: i32,
y: i32,
) -> Task<Message> {
task::effect(Action::PlatformSpecific(
platform_specific::Action::Wayland(wayland::Action::Subsurface(
wayland::subsurface::Action::Reposition { id, x, y },
)),
))
}