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