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,
},
};
}