Skip to main content

EventSource

Trait EventSource 

Source
pub trait EventSource {
    // Required method
    fn poll_event(&self, timeout: Duration) -> Result<Option<Event>>;

    // Provided method
    fn on_frame_rendered(&self, _terminal: &Terminal) { ... }
}
Expand description

Trait for providing input events to the run loop.

The default implementation (CrosstermEventSource) uses crossterm’s real terminal. Tests can provide a mock implementation via run_headless().

Required Methods§

Source

fn poll_event(&self, timeout: Duration) -> Result<Option<Event>>

Poll for an event with the given timeout. Returns Ok(Some(event)) if an event is available, Ok(None) on timeout.

Provided Methods§

Source

fn on_frame_rendered(&self, _terminal: &Terminal)

Called after each frame is rendered. Default is a no-op. The test event source uses this to capture the rendered buffer.

Implementors§