rat_salsa/poll/
rendered.rs

1use crate::event::RenderedEvent;
2use crate::poll::PollEvents;
3use crate::Control;
4use std::any::Any;
5
6/// Sends an event after a render of the UI.
7#[derive(Debug, Default)]
8pub struct PollRendered;
9
10impl<Event, Error> PollEvents<Event, Error> for PollRendered
11where
12    Event: 'static + From<RenderedEvent>,
13    Error: 'static + From<std::io::Error>,
14{
15    fn as_any(&self) -> &dyn Any {
16        self
17    }
18
19    fn poll(&mut self) -> Result<bool, Error> {
20        // doesn't poll. it's triggered by a repaint.
21        Ok(false)
22    }
23
24    fn read(&mut self) -> Result<Control<Event>, Error> {
25        Ok(Control::Event(RenderedEvent.into()))
26    }
27}