From d4c9a59ed41c11bf3edccc37d531da46e4fcd218 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 20 Feb 2025 14:50:39 +0100 Subject: can render map --- client/src/window.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'client/src/window.rs') 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(); + } _ => (), } } -- cgit v1.2.3-70-g09d2