pub struct EventDispatcher { /* private fields */ }Expand description
Dispatches DOM events with capture/bubble propagation
Implementations§
Source§impl EventDispatcher
impl EventDispatcher
pub fn new() -> Self
Sourcepub fn node_tree_mut(&mut self) -> &mut NodeTree
pub fn node_tree_mut(&mut self) -> &mut NodeTree
Access the node tree mutably
Sourcepub fn add_event_listener(
&mut self,
node: NodeId,
event_type: EventType,
callback_id: usize,
use_capture: bool,
)
pub fn add_event_listener( &mut self, node: NodeId, event_type: EventType, callback_id: usize, use_capture: bool, )
Add an event listener to a node
Sourcepub fn remove_event_listener(
&mut self,
node: NodeId,
event_type: EventType,
callback_id: usize,
use_capture: bool,
) -> bool
pub fn remove_event_listener( &mut self, node: NodeId, event_type: EventType, callback_id: usize, use_capture: bool, ) -> bool
Remove an event listener from a node
Sourcepub fn listeners_for(&self, node: NodeId) -> &[EventListener]
pub fn listeners_for(&self, node: NodeId) -> &[EventListener]
Get listeners for a node
Sourcepub fn clear_listeners(&mut self, node: NodeId)
pub fn clear_listeners(&mut self, node: NodeId)
Clear all listeners for a node
Sourcepub fn set_hit_boxes(&mut self, boxes: Vec<HitRect>)
pub fn set_hit_boxes(&mut self, boxes: Vec<HitRect>)
Set the hit-test boxes (rebuilt after layout)
Sourcepub fn add_hit_box(&mut self, rect: HitRect)
pub fn add_hit_box(&mut self, rect: HitRect)
Add a single hit-test box
Sourcepub fn clear_hit_boxes(&mut self)
pub fn clear_hit_boxes(&mut self)
Clear hit-test boxes
Sourcepub fn hit_test(&self, x: i32, y: i32) -> Option<NodeId>
pub fn hit_test(&self, x: i32, y: i32) -> Option<NodeId>
Hit test: find the frontmost (last-drawn) node at pixel coordinates. Returns None if no node at that position.
Sourcepub fn take_invoked(&mut self) -> Vec<(usize, EventType)>
pub fn take_invoked(&mut self) -> Vec<(usize, EventType)>
Get the list of invoked callbacks (callback_id, event_type) from last dispatch
Sourcepub fn dispatch(&mut self, event: &mut Event) -> bool
pub fn dispatch(&mut self, event: &mut Event) -> bool
Dispatch an event through the capture → target → bubble phases. Returns true if the default action should be prevented.
Sourcepub fn dispatch_click(
&mut self,
x: i32,
y: i32,
button: u8,
) -> Option<(NodeId, bool)>
pub fn dispatch_click( &mut self, x: i32, y: i32, button: u8, ) -> Option<(NodeId, bool)>
Convenience: dispatch a mouse click at pixel coordinates. Performs hit-test, then dispatches Click event. Returns (target_node, default_prevented) or None if miss.
Sourcepub fn dispatch_mouse_move(&mut self, x: i32, y: i32) -> Option<(NodeId, bool)>
pub fn dispatch_mouse_move(&mut self, x: i32, y: i32) -> Option<(NodeId, bool)>
Convenience: dispatch a mouse move event
Sourcepub fn dispatch_key(
&mut self,
target: NodeId,
event_type: EventType,
key_code: u32,
char_code: u32,
modifiers: u8,
) -> bool
pub fn dispatch_key( &mut self, target: NodeId, event_type: EventType, key_code: u32, char_code: u32, modifiers: u8, ) -> bool
Convenience: dispatch a keyboard event to a focused node