use super::super::*;
slotmap::new_key_type! {
pub struct UiLayerId;
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct OverlayRootOptions {
pub blocks_underlay_input: bool,
pub hit_testable: bool,
}
impl OverlayRootOptions {
pub const fn new(blocks_underlay_input: bool) -> Self {
Self {
blocks_underlay_input,
hit_testable: true,
}
}
}
impl Default for OverlayRootOptions {
fn default() -> Self {
Self::new(false)
}
}
#[derive(Debug, Clone)]
pub(in crate::tree) struct UiLayer {
pub(in crate::tree) root: NodeId,
pub(in crate::tree) visible: bool,
pub(in crate::tree) blocks_underlay_input: bool,
pub(in crate::tree) blocks_underlay_focus: bool,
pub(in crate::tree) hit_testable: bool,
pub(in crate::tree) pointer_occlusion: PointerOcclusion,
pub(in crate::tree) wants_pointer_down_outside_events: bool,
pub(in crate::tree) consume_pointer_down_outside_events: bool,
pub(in crate::tree) pointer_down_outside_branches: Vec<NodeId>,
pub(in crate::tree) scroll_dismiss_elements: Vec<crate::GlobalElementId>,
pub(in crate::tree) wants_pointer_move_events: bool,
pub(in crate::tree) wants_timer_events: bool,
}