From 649dcec09cbc7a90b9e1ddff62ac4e479ec27462 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sat, 25 Apr 2020 15:46:50 +0200 Subject: [PATCH] Refactor: replace bounding_size: Vec2 with child_bounds: Rect --- docs/example_wasm_bg.wasm | Bin 601897 -> 609992 bytes emigui/src/collapsing_header.rs | 6 +++++- emigui/src/floating.rs | 2 +- emigui/src/frame.rs | 7 +++++-- emigui/src/layout.rs | 2 +- emigui/src/math.rs | 6 ++++++ emigui/src/region.rs | 31 ++++++++++++++++--------------- emigui/src/resize.rs | 3 +-- emigui/src/scroll_area.rs | 2 +- emigui/src/window.rs | 2 +- 10 files changed, 37 insertions(+), 24 deletions(-) diff --git a/docs/example_wasm_bg.wasm b/docs/example_wasm_bg.wasm index dee00d472d1cf9b0808137d341aeb58a84b2a292..5c15348fd76ad9f2ef1b5296e873b46f9a14ccd3 100644 GIT binary patch delta 92025 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

ui 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 Nm^|G>&YPfa`X7&rw>kg- diff --git a/emigui/src/collapsing_header.rs b/emigui/src/collapsing_header.rs index a65f8d6a..3fe901fd 100644 --- a/emigui/src/collapsing_header.rs +++ b/emigui/src/collapsing_header.rs @@ -118,7 +118,11 @@ impl CollapsingHeader { add_contents(region); - region.bounding_size.y = region.bounding_size.y.min(max_height); + region.child_bounds.max.y = region + .child_bounds + .max + .y + .min(region.child_bounds.min.y + max_height); }); } else if state.open { region.indent(id, add_contents); diff --git a/emigui/src/floating.rs b/emigui/src/floating.rs index 08a374c2..2d3fc889 100644 --- a/emigui/src/floating.rs +++ b/emigui/src/floating.rs @@ -66,7 +66,7 @@ impl Floating { Rect::from_min_size(state.outer_pos, Vec2::infinity()), ); add_contents(&mut region); - let size = region.bounding_size.ceil(); + let size = region.bounding_size().ceil(); state.outer_rect = Rect::from_min_size(state.outer_pos, size); let move_interact = ctx.interact(layer, &state.outer_rect, Some(id.with("move"))); diff --git a/emigui/src/frame.rs b/emigui/src/frame.rs index 9ce4068c..a1fa4f83 100644 --- a/emigui/src/frame.rs +++ b/emigui/src/frame.rs @@ -19,7 +19,7 @@ impl Frame { add_contents(&mut child_region); // TODO: handle the last item_spacing in a nicer way - let inner_size = child_region.bounding_size; + let inner_size = child_region.bounding_size(); let inner_size = inner_size.ceil(); // TODO: round to pixel let outer_rect = Rect::from_min_size(outer_pos, margin + inner_size + margin); @@ -36,6 +36,9 @@ impl Frame { }, ); - region.bounding_size = margin + child_region.bounding_size + margin; // TODO: this is not really right + // TODO: move up corsor? + region + .child_bounds + .extend_with(child_region.child_bounds.max + margin); } } diff --git a/emigui/src/layout.rs b/emigui/src/layout.rs index 1d7e5237..fe59bd65 100644 --- a/emigui/src/layout.rs +++ b/emigui/src/layout.rs @@ -110,7 +110,7 @@ pub fn show_popup(ctx: &Arc, window_pos: Pos2, add_contents: impl FnOnc // Now insert popup background: // TODO: handle the last item_spacing in a nicer way - let inner_size = contents_region.bounding_size - style.item_spacing; + let inner_size = contents_region.bounding_size() - style.item_spacing; let outer_size = inner_size + 2.0 * window_padding; let rect = Rect::from_min_size(window_pos, outer_size); diff --git a/emigui/src/math.rs b/emigui/src/math.rs index 46f21e26..9e83ebb0 100644 --- a/emigui/src/math.rs +++ b/emigui/src/math.rs @@ -392,6 +392,7 @@ impl Rect { *self = self.translate(center - self.center()); } + #[must_use] pub fn contains(&self, p: Pos2) -> bool { self.min.x <= p.x && p.x <= self.min.x + self.size().x @@ -399,6 +400,11 @@ impl Rect { && p.y <= self.min.y + self.size().y } + pub fn extend_with(&mut self, p: Pos2) { + self.min = self.min.min(p); + self.max = self.max.max(p); + } + pub fn center(&self) -> Pos2 { Pos2 { x: self.min.x + self.size().x / 2.0, diff --git a/emigui/src/region.rs b/emigui/src/region.rs index 38a9a870..48897f23 100644 --- a/emigui/src/region.rs +++ b/emigui/src/region.rs @@ -30,13 +30,11 @@ pub struct Region { /// Note that the size may be infinite in one or both dimensions. /// The widgets will TRY to fit within the rect, /// but may overflow (which you will see in bounding_size). - pub(crate) desired_rect: Rect, // TODO: rename desired_rect + pub(crate) desired_rect: Rect, // TODO: rename /// Bounding box of children. - /// We keep track of our max-size along the orthogonal to self.dir - /// Initially set to zero. - /// TODO: make into `child_bounds: Rect` - pub(crate) bounding_size: Vec2, + /// Initially set to Rect::nothing(). + pub(crate) child_bounds: Rect, /// Overide default style in this region pub(crate) style: Style, @@ -65,7 +63,7 @@ impl Region { layer, clip_rect: rect.expand(CLIP_RECT_MARGIN), desired_rect: rect, - bounding_size: Vec2::default(), + child_bounds: Rect::from_min_size(rect.min, Vec2::zero()), // TODO: Rect::nothing() ? style, cursor: rect.min, dir: Direction::Vertical, @@ -85,7 +83,7 @@ impl Region { clip_rect, desired_rect: child_rect, cursor: child_rect.min, - bounding_size: vec2(0.0, 0.0), + child_bounds: Rect::from_min_size(child_rect.min, Vec2::zero()), // TODO: Rect::nothing() ? dir: self.dir, align: self.align, } @@ -170,6 +168,11 @@ impl Region { self.desired_rect.max - self.cursor } + /// Size of content + pub fn bounding_size(&self) -> Vec2 { + self.child_bounds.max - self.desired_rect.min + } + pub fn direction(&self) -> Direction { self.dir } @@ -199,7 +202,7 @@ impl Region { ..self.child_region(child_rect) }; add_contents(&mut child_region); - self.reserve_space_without_padding(child_region.bounding_size); + self.reserve_space_without_padding(child_region.bounding_size()); } /// Create a child region which is indented to the right @@ -216,7 +219,7 @@ impl Region { ..self.child_region(child_rect) }; add_contents(&mut child_region); - let size = child_region.bounding_size; + let size = child_region.bounding_size(); // draw a grey line on the left to mark the region let line_start = child_rect.min - indent * 0.5; @@ -269,7 +272,7 @@ impl Region { ..self.child_region(child_rect) }; add_contents(&mut child_region); - let size = child_region.bounding_size; + let size = child_region.bounding_size(); self.reserve_space_without_padding(size); } @@ -316,7 +319,7 @@ impl Region { let mut max_height = 0.0; for region in columns { - let size = region.bounding_size; + let size = region.bounding_size(); max_height = size.y.max(max_height); } @@ -382,18 +385,16 @@ impl Region { Align::Center => 0.5 * (self.available_height() - size.y), Align::Max => self.available_height() - size.y, }; + self.child_bounds.extend_with(self.cursor + size); self.cursor.x += size.x; - self.bounding_size.x += size.x; - self.bounding_size.y = self.bounding_size.y.max(size.y); } else { pos.x += match self.align { Align::Min => 0.0, Align::Center => 0.5 * (self.available_width() - size.x), Align::Max => self.available_width() - size.x, }; + self.child_bounds.extend_with(self.cursor + size); self.cursor.y += size.y; - self.bounding_size.y += size.y; - self.bounding_size.x = self.bounding_size.x.max(size.x); } pos } diff --git a/emigui/src/resize.rs b/emigui/src/resize.rs index b521d494..00148557 100644 --- a/emigui/src/resize.rs +++ b/emigui/src/resize.rs @@ -103,8 +103,7 @@ impl Resize { let desired_size = { let mut contents_region = region.child_region(inner_rect); add_contents(&mut contents_region); - let desired_size = contents_region.bounding_size; - desired_size + contents_region.bounding_size() }; let desired_size = desired_size.ceil(); // Avoid rounding errors in math diff --git a/emigui/src/scroll_area.rs b/emigui/src/scroll_area.rs index 77730905..f9add704 100644 --- a/emigui/src/scroll_area.rs +++ b/emigui/src/scroll_area.rs @@ -53,7 +53,7 @@ impl ScrollArea { content_region.cursor -= state.offset; content_region.desired_rect = content_region.desired_rect.translate(-state.offset); add_contents(&mut content_region); - let content_size = content_region.bounding_size; + let content_size = content_region.bounding_size(); let content_interact = ctx.interact( outer_region.layer, diff --git a/emigui/src/window.rs b/emigui/src/window.rs index f04b0a0a..c62f2474 100644 --- a/emigui/src/window.rs +++ b/emigui/src/window.rs @@ -157,7 +157,7 @@ impl Window { add_contents(&mut contents_region); // TODO: handle the last item_spacing in a nicer way - let desired_inner_size = contents_region.bounding_size - style.item_spacing; + let desired_inner_size = contents_region.bounding_size() - style.item_spacing; let desired_inner_size = desired_inner_size.ceil(); // Avoid rounding errors in math let mut new_inner_size = state.inner_size;