MCPcopy Create free account
hub / github.com/explodingcamera/tinywasm / window_event

Method window_event

examples/doom/src/main.rs:94–119  ·  view source on GitHub ↗
(&mut self, event_loop: &ActiveEventLoop, _window_id: winit::window::WindowId, event: WindowEvent)

Source from the content-addressed store, hash-verified

92 }
93
94 fn window_event(&mut self, event_loop: &ActiveEventLoop, _window_id: winit::window::WindowId, event: WindowEvent) {
95 match event {
96 WindowEvent::CloseRequested => event_loop.exit(),
97 WindowEvent::RedrawRequested => {
98 if let Err(err) = self.present() {
99 log::error!("present failed: {err:?}");
100 event_loop.exit();
101 }
102 }
103 WindowEvent::KeyboardInput { event, .. } => {
104 if let Some(key) = doom_key(&event.physical_key) {
105 let result = if matches!(event.state, ElementState::Pressed) {
106 self.runtime.key_down(i32::from(key))
107 } else {
108 self.runtime.key_up(i32::from(key))
109 };
110
111 if let Err(err) = result {
112 log::error!("keyboard event failed: {err:?}");
113 event_loop.exit();
114 }
115 }
116 }
117 _ => {}
118 }
119 }
120
121 fn about_to_wait(&mut self, event_loop: &ActiveEventLoop) {
122 if let Err(err) = self.runtime.tick() {

Callers

nothing calls this directly

Calls 4

doom_keyFunction · 0.85
presentMethod · 0.80
key_downMethod · 0.80
key_upMethod · 0.80

Tested by

no test coverage detected