use super::super::*;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum PointerOcclusion {
#[default]
None,
BlockMouse,
BlockMouseExceptScroll,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct UiInputArbitrationSnapshot {
pub modal_barrier_root: Option<NodeId>,
pub focus_barrier_root: Option<NodeId>,
pub pointer_occlusion: PointerOcclusion,
pub pointer_occlusion_layer: Option<UiLayerId>,
pub pointer_capture_active: bool,
pub pointer_capture_layer: Option<UiLayerId>,
pub pointer_capture_multiple_layers: bool,
}
#[derive(Debug, Clone)]
pub struct UiDebugLayerInfo {
pub id: UiLayerId,
pub root: NodeId,
pub visible: bool,
pub blocks_underlay_input: bool,
pub hit_testable: bool,
pub pointer_occlusion: PointerOcclusion,
pub wants_pointer_down_outside_events: bool,
pub consume_pointer_down_outside_events: bool,
pub pointer_down_outside_branches: Vec<NodeId>,
pub wants_pointer_move_events: bool,
pub wants_timer_events: bool,
}
#[derive(Debug, Clone)]
pub struct UiDebugHitTest {
pub hit: Option<NodeId>,
pub active_layer_roots: Vec<NodeId>,
pub barrier_root: Option<NodeId>,
}