pub mod input;
pub(crate) mod os;
pub mod window;
pub use self::os::Handles;
pub use self::window::Window;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct Seat(u32);
impl Seat {
pub fn stub() -> Self {
Self(0)
}
}
#[derive(Debug, Clone, Copy)]
pub enum Events {
Resize { width: u32, height: u32 },
Minimize,
Maximize,
Close,
Key { seat: Seat, pressed: bool, key: input::Keys },
Character { seat: Seat, character: char },
Button {
seat: Seat,
pressed: bool,
button: input::MouseKeys,
},
MouseMove {
seat: Seat,
dx: f32,
dy: f32,
time: u64,
},
MousePosition {
seat: Seat,
x: f32,
y: f32,
time: u64,
},
Scroll {
seat: Seat,
dx: f32,
dy: f32,
time: u64,
},
}
bitflags::bitflags! {
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Default)]
pub struct Features : u32 {
const DECORATIONS = 0b0001;
}
}