aboutsummaryrefslogtreecommitdiff
path: root/client/src/window.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-02-20 14:50:39 +0100
committermetamuffin <metamuffin@disroot.org>2025-02-20 14:50:39 +0100
commitd4c9a59ed41c11bf3edccc37d531da46e4fcd218 (patch)
tree620e0cb9dd59b2b55682f84c0362723fba01a369 /client/src/window.rs
parentd39a7d62e7bdc63b2055ad93bf511cdd1e40e69d (diff)
downloadtwclient-d4c9a59ed41c11bf3edccc37d531da46e4fcd218.tar
twclient-d4c9a59ed41c11bf3edccc37d531da46e4fcd218.tar.bz2
twclient-d4c9a59ed41c11bf3edccc37d531da46e4fcd218.tar.zst
can render map
Diffstat (limited to 'client/src/window.rs')
-rw-r--r--client/src/window.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/client/src/window.rs b/client/src/window.rs
index d0296e7..0bcac6a 100644
--- a/client/src/window.rs
+++ b/client/src/window.rs
@@ -1,4 +1,5 @@
use crate::renderer::Renderer;
+use log::warn;
use winit::{
application::ApplicationHandler,
event::WindowEvent,
@@ -20,19 +21,30 @@ impl ApplicationHandler for WindowState {
let window = event_loop
.create_window(WindowAttributes::default().with_maximized(true))
.unwrap();
- let renderer = Renderer::new(unsafe { std::mem::transmute(&window) });
+ let renderer = Renderer::new(unsafe { std::mem::transmute(&window) }).unwrap();
self.window = Some((window, renderer))
}
fn window_event(
&mut self,
event_loop: &ActiveEventLoop,
- window_id: WindowId,
+ _window_id: WindowId,
event: WindowEvent,
) {
- if let Some((win, ren)) = &self.window {
+ if let Some((win, ren)) = &mut self.window {
match event {
- WindowEvent::RedrawRequested => {}
+ WindowEvent::CloseRequested => {
+ event_loop.exit();
+ }
+ WindowEvent::Resized(size) => {
+ ren.resize(size);
+ }
+ WindowEvent::RedrawRequested => {
+ if let Err(e) = ren.redraw() {
+ warn!("{e:?}")
+ }
+ win.request_redraw();
+ }
_ => (),
}
}