From 900a7589031bf688716b40a7c5dc3d34eefc0ab8 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sun, 19 Jul 2020 00:17:02 +0200 Subject: [PATCH] [resize] unify to one minimum size --- egui/src/containers/resize.rs | 28 +++++++++------------------- egui/src/containers/window.rs | 3 +-- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/egui/src/containers/resize.rs b/egui/src/containers/resize.rs index 4d488fbd..57aa1c82 100644 --- a/egui/src/containers/resize.rs +++ b/egui/src/containers/resize.rs @@ -25,9 +25,7 @@ pub struct Resize { /// If false, we are no enabled resizable: bool, - // TODO: do we really need both? - min_content_size: Vec2, - min_desired_size: Vec2, + min_size: Vec2, default_size: Vec2, @@ -40,8 +38,7 @@ impl Default for Resize { Self { id: None, resizable: true, - min_content_size: Vec2::splat(16.0), - min_desired_size: vec2(64.0, 64.0), // TODO: min size of a a resizable area (e.g. a window or a text edit) + min_size: Vec2::splat(16.0), default_size: vec2(128.0, 128.0), // TODO: perferred size for a resizable area (e.g. a window or a text edit) outline: true, handle_offset: Default::default(), @@ -85,14 +82,8 @@ impl Resize { } /// Won't shrink to smaller than this - pub fn min_content_size(mut self, min_content_size: impl Into) -> Self { - self.min_content_size = min_content_size.into(); - self - } - - /// Won't shrink to smaller than this - pub fn min_desired_size(mut self, min_desired_size: impl Into) -> Self { - self.min_desired_size = min_desired_size.into(); + pub fn min_size(mut self, min_size: impl Into) -> Self { + self.min_size = min_size.into(); self } @@ -109,7 +100,7 @@ impl Resize { /// Not manually resizable, just takes the size of its contents. pub fn auto_sized(self) -> Self { - self.min_desired_size(Vec2::zero()) + self.min_size(Vec2::zero()) .default_size(Vec2::splat(f32::INFINITY)) .resizable(false) } @@ -117,8 +108,7 @@ impl Resize { pub fn fixed_size(mut self, size: impl Into) -> Self { let size = size.into(); self.default_size = size; - self.min_content_size = size; - self.min_desired_size = size; + self.min_size = size; self.resizable = false; self } @@ -147,7 +137,7 @@ impl Resize { let id = self.id.unwrap_or_else(|| ui.make_child_id("resize")); let mut state = ui.memory().resize.get(&id).cloned().unwrap_or_else(|| { - let default_size = self.default_size.max(self.min_content_size); + let default_size = self.default_size.max(self.min_size); State { desired_size: default_size, @@ -156,7 +146,7 @@ impl Resize { } }); - state.desired_size = state.desired_size.max(self.min_desired_size); + state.desired_size = state.desired_size.max(self.min_size); let position = ui.available().min; @@ -183,7 +173,7 @@ impl Resize { if let Some(requested_size) = state.requested_size.take() { state.desired_size = requested_size; } - state.desired_size = state.desired_size.max(self.min_desired_size); + state.desired_size = state.desired_size.max(self.min_size); // ------------------------------ diff --git a/egui/src/containers/window.rs b/egui/src/containers/window.rs index 5ea77bfa..a7c3a307 100644 --- a/egui/src/containers/window.rs +++ b/egui/src/containers/window.rs @@ -29,8 +29,7 @@ impl<'open> Window<'open> { frame: None, resize: Resize::default() .outline(false) - .min_content_size([96.0, 32.0]) - .min_desired_size([96.0, 32.0]) + .min_size([96.0, 32.0]) .default_size([280.0, 400.0]), scroll: Some( ScrollArea::default()