winit_readme/
winit_readme.rs1use winit_main::reexports::{
4 event::{Event, WindowEvent},
5 window::WindowAttributes,
6};
7#[cfg(feature = "proc")]
8use winit_main::{
9 EventLoopHandle,
10 EventReceiver,
11};
12
13
14#[cfg(feature = "proc")]
15#[winit_main::main]
16fn main(event_loop: EventLoopHandle, events: EventReceiver) {
17 let window = event_loop
18 .create_window(WindowAttributes::default())
19 .unwrap();
20
21 for event in events.iter() {
22 if matches!(
23 event,
24 Event::WindowEvent {
25 event: WindowEvent::CloseRequested,
26 window_id,
27 } if window_id == window.id()
28 ) {
29 break;
30 }
31 }
32}
33
34#[cfg(not(feature = "proc"))]
35fn main() {
36 winit_main::run(|event_loop, events| {
37 let window = event_loop
38 .create_window(WindowAttributes::default())
39 .unwrap();
40
41 for event in events.iter() {
42 if matches!(
43 event,
44 Event::WindowEvent {
45 event: WindowEvent::CloseRequested,
46 window_id,
47 } if window_id == window.id()
48 ) {
49 break;
50 }
51 }
52 });
53}