1 use std::{thread, time};
2 
3 use simple_logger::SimpleLogger;
4 use winit::{
5     event::{Event, WindowEvent},
6     event_loop::{ControlFlow, EventLoop},
7     window::WindowBuilder,
8 };
9 
main()10 fn main() {
11     SimpleLogger::new().init().unwrap();
12     let event_loop = EventLoop::new();
13 
14     let window = WindowBuilder::new()
15         .with_title("A fantastic window!")
16         .build(&event_loop)
17         .unwrap();
18 
19     thread::spawn(move || loop {
20         thread::sleep(time::Duration::from_secs(1));
21         window.request_redraw();
22     });
23 
24     event_loop.run(move |event, _, control_flow| {
25         println!("{:?}", event);
26 
27         *control_flow = ControlFlow::Wait;
28 
29         match event {
30             Event::WindowEvent { event, .. } => match event {
31                 WindowEvent::CloseRequested => *control_flow = ControlFlow::Exit,
32                 _ => (),
33             },
34             Event::RedrawRequested(_) => {
35                 println!("\nredrawing!\n");
36             }
37             _ => (),
38         }
39     });
40 }
41