winit/platform_impl/linux/wayland/
mod.rs
1pub use event_loop::{ActiveEventLoop, EventLoop, EventLoopProxy};
4pub use output::{MonitorHandle, VideoModeHandle};
5use sctk::reexports::client::protocol::wl_surface::WlSurface;
6use sctk::reexports::client::Proxy;
7pub use window::Window;
8
9pub(super) use crate::cursor::OnlyCursorImage as CustomCursor;
10use crate::dpi::{LogicalSize, PhysicalSize};
11pub use crate::platform_impl::platform::WindowId;
12
13mod event_loop;
14mod output;
15mod seat;
16mod state;
17mod types;
18mod window;
19
20#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
22pub struct DeviceId;
23
24impl DeviceId {
25 pub const fn dummy() -> Self {
26 DeviceId
27 }
28}
29
30#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
31pub struct FingerId(i32);
32
33impl FingerId {
34 pub const fn dummy() -> Self {
35 FingerId(0)
36 }
37}
38
39#[inline]
41fn make_wid(surface: &WlSurface) -> WindowId {
42 WindowId(surface.id().as_ptr() as u64)
43}
44
45fn logical_to_physical_rounded(size: LogicalSize<u32>, scale_factor: f64) -> PhysicalSize<u32> {
47 let width = size.width as f64 * scale_factor;
48 let height = size.height as f64 * scale_factor;
49 (width.round(), height.round()).into()
50}