diff --git a/src/window.rs b/src/window.rs index a064726..4d9d8b1 100644 --- a/src/window.rs +++ b/src/window.rs @@ -235,6 +235,10 @@ impl PlatformWindowImplementation for kludgine::app::Window<'_, WindowCommand> { fn handle(&self, redraw_status: InvalidationStatus) -> WindowHandle { WindowHandle::new(self.handle(), redraw_status) } + + fn request_inner_size(&mut self, inner_size: Size) -> Option> { + self.request_inner_size(inner_size) + } } /// A platform-dependent window. @@ -1839,6 +1843,7 @@ where .new_frame(self.redraw_status.invalidations().drain()); } + #[allow(clippy::too_many_lines)] fn prepare( &mut self, mut window: W, @@ -1914,7 +1919,7 @@ where layout_context.invalidate_when_changed(&self.resize_to_fit); let new_size = if let Some(new_size) = self.inner_size.updated() { layout_context.request_inner_size(*new_size) - } else if actual_size != window_size && !resizable { + } else if dbg!(actual_size) != dbg!(window_size) && !resizable { let mut new_size = actual_size; if let Some(min_size) = self.min_inner_size { new_size = new_size.max(min_size); @@ -1931,8 +1936,10 @@ where if let Some(new_size) = new_size { self.inner_size.set_and_read(new_size); - self.outer_size.set(layout_context.window().outer_size()); + self.outer_size + .set(dbg!(layout_context.window().outer_size())); self.root.invalidate(); + layout_context.set_needs_redraw(); return Err(Resized); } self.root.set_layout(Rect::from(render_size.into_signed()));