pub struct EventCx<'a> { /* private fields */ }Expand description
事件上下文——组件通过它标记 dirty、退出应用等
每个 Node 拥有独立的 EventCx,dirty 标记精确到当前节点, 同时通过 global_dirty 确保 Runtime 感知到变更。
Implementations§
Source§impl<'a> EventCx<'a>
impl<'a> EventCx<'a>
Sourcepub fn phase(&self) -> EventPhase
pub fn phase(&self) -> EventPhase
当前事件传播阶段
Sourcepub fn stop_propagation(&mut self)
pub fn stop_propagation(&mut self)
停止事件传播(后续阶段和祖先不再收到该事件)
Sourcepub fn invalidate_paint(&mut self)
pub fn invalidate_paint(&mut self)
标记当前节点需要重绘
Sourcepub fn invalidate_layout(&mut self)
pub fn invalidate_layout(&mut self)
标记当前节点需要重新布局并重绘
Sourcepub fn invalidate(&mut self)
pub fn invalidate(&mut self)
标记需要重新布局(等同于 invalidate_layout)
Sourcepub fn invalidate_tree(&mut self)
pub fn invalidate_tree(&mut self)
标记组件树结构变化,触发完整 rebuild + relayout + repaint
Sourcepub fn copy_to_clipboard(&self, text: &str)
pub fn copy_to_clipboard(&self, text: &str)
Copy text to the system clipboard via OSC 52.
Most modern terminals support this. The escape sequence is written directly to stdout.
Sourcepub fn toggle_debug()
pub fn toggle_debug()
切换 debug 视图
Sourcepub fn spawn_worker<F>(&mut self, task: F) -> WorkerId
pub fn spawn_worker<F>(&mut self, task: F) -> WorkerId
启动可追踪的后台任务。返回 WorkerId 用于取消。
Sourcepub fn cancel_worker(&mut self, id: WorkerId)
pub fn cancel_worker(&mut self, id: WorkerId)
取消指定 Worker。
Sourcepub fn set_timer(&mut self, duration_ms: u64) -> u64
pub fn set_timer(&mut self, duration_ms: u64) -> u64
Registers a one-shot timer. After duration_ms milliseconds,
an Event::Timer(id) is dispatched to this component and the timer
is automatically removed. Returns the timer id.
Sourcepub fn set_interval(&mut self, interval_ms: u64) -> u64
pub fn set_interval(&mut self, interval_ms: u64) -> u64
Registers a periodic timer. Every interval_ms milliseconds,
an Event::Timer(id) is dispatched to this component. The timer
continues until cancel_timer(id) is called or the component is
unmounted. Returns the timer id.
Sourcepub fn cancel_timer(&mut self, timer_id: u64)
pub fn cancel_timer(&mut self, timer_id: u64)
Cancels a previously registered timer. No further Event::Timer
events will be dispatched for this id.