From ebb08f87f1adb0b96c6c854bc3a0ed1b7e5cb392 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Fri, 2 Apr 2021 22:39:08 +0200 Subject: [PATCH] Fix: custom Ui:s now allocate minimal space in parent ui. This makes nested horizontal/vertical layouts work better --- egui/src/ui.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/egui/src/ui.rs b/egui/src/ui.rs index 48c6ab33..7dc436b7 100644 --- a/egui/src/ui.rs +++ b/egui/src/ui.rs @@ -706,11 +706,10 @@ impl Ui { let ret = add_contents(&mut child_ui); let final_child_rect = child_ui.min_rect(); - let final_frame = frame_rect.union(final_child_rect); self.placer - .advance_after_rects(final_frame, final_child_rect, item_spacing); + .advance_after_rects(final_child_rect, final_child_rect, item_spacing); - if self.style().debug.show_widgets && self.rect_contains_pointer(final_frame) { + if self.style().debug.show_widgets && self.rect_contains_pointer(final_child_rect) { let painter = self.ctx().debug_painter(); painter.rect_stroke(frame_rect, 4.0, (1.0, Color32::LIGHT_BLUE)); painter.rect_stroke(final_child_rect, 4.0, (1.0, Color32::LIGHT_BLUE)); @@ -1344,9 +1343,7 @@ impl Ui { } .with_main_wrap(main_wrap); - self.allocate_ui(initial_size, |ui| { - ui.with_layout(layout, add_contents).inner - }) + self.allocate_ui_with_layout(initial_size, layout, add_contents) } /// Start a ui with vertical layout.