start

Macro start 

Source
macro_rules! start {
    ($sender:expr, default: $noop:expr $(,)?) => { ... };
    ($sender:expr, default: $noop:expr, $($(#[$m:meta])* $w:expr => { $($t:tt)* }),+$(,)?) => { ... };
}
Available on crate feature winio only.
Expand description

Helper macro for Component::start.

struct MainModel {
    window: Child<Window>,
    canvas: Child<Canvas>,
}
enum MainMessage {
    Noop,
    Redraw,
    Close,
}
async fn start(&mut self, sender: &ComponentSender<Self>) -> ! {
    start! {
        sender,
        default: MainMessage::Noop,
        self.window => {
            WindowEvent::Close => MainMessage::Close,
            WindowEvent::Resize => MainMessage::Redraw,
        },
        self.canvas => {
            CanvasEvent::MouseMove(_) => MainMessage::Redraw,
        },
    };
}