1 use simple_logger::SimpleLogger;
2 use winit::{
3     dpi::LogicalSize,
4     event::{ElementState, Event, KeyboardInput, VirtualKeyCode, WindowEvent},
5     event_loop::{ControlFlow, EventLoop},
6     window::WindowBuilder,
7 };
8 
main()9 fn main() {
10     SimpleLogger::new().init().unwrap();
11     let event_loop = EventLoop::new();
12 
13     let mut resizable = false;
14 
15     let window = WindowBuilder::new()
16         .with_title("Hit space to toggle resizability.")
17         .with_inner_size(LogicalSize::new(400.0, 200.0))
18         .with_resizable(resizable)
19         .build(&event_loop)
20         .unwrap();
21 
22     event_loop.run(move |event, _, control_flow| {
23         *control_flow = ControlFlow::Wait;
24 
25         match event {
26             Event::WindowEvent { event, .. } => match event {
27                 WindowEvent::CloseRequested => *control_flow = ControlFlow::Exit,
28                 WindowEvent::KeyboardInput {
29                     input:
30                         KeyboardInput {
31                             virtual_keycode: Some(VirtualKeyCode::Space),
32                             state: ElementState::Released,
33                             ..
34                         },
35                     ..
36                 } => {
37                     resizable = !resizable;
38                     println!("Resizable: {}", resizable);
39                     window.set_resizable(resizable);
40                 }
41                 _ => (),
42             },
43             _ => (),
44         };
45     });
46 }
47