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