mod popup;
mod window;
#[cfg(feature = "accesskit")]
#[doc(inline)]
pub(crate) use popup::POPUP_INNER_INDEX;
#[doc(inline)] pub use popup::Popup;
#[doc(inline)] pub(crate) use popup::PopupDescriptor;
pub use window::*;
pub use winit::icon;
pub use winit::window::ResizeDirection;
use std::num::NonZeroU32;
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
pub enum Decorations {
None,
Border,
Toolkit,
Server,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct WindowId(NonZeroU32);
impl WindowId {
pub(crate) fn get(self) -> u32 {
self.0.get()
}
pub(crate) fn try_from(index: u32) -> Option<Self> {
NonZeroU32::new(index).map(WindowId)
}
}
#[derive(Default)]
pub(crate) struct WindowIdFactory(u32);
impl WindowIdFactory {
pub(crate) fn make_next(&mut self) -> WindowId {
let id = self.0 + 1;
self.0 = id;
WindowId(NonZeroU32::new(id).unwrap())
}
}