diff --git a/src/elements/flex.rs b/src/elements/flex.rs index 5eae14c..516007e 100644 --- a/src/elements/flex.rs +++ b/src/elements/flex.rs @@ -20,7 +20,7 @@ pub struct FlexCol { impl Element for FlexRow { fn render(&mut self, scope: &mut crate::render_scope::RenderScope) { let (width, height) = scope.get_size_or(self.size.0, self.size.1); - scope.draw_rect(width, height, 0); + scope.use_area(width, height); } fn after_render(&mut self, scope: &mut crate::render_scope::RenderScope) { @@ -86,7 +86,7 @@ impl FlexRow { impl Element for FlexCol { fn render(&mut self, scope: &mut crate::render_scope::RenderScope) { let (width, height) = scope.get_size_or(self.size.0, self.size.1); - scope.draw_rect(width, height, 0); + scope.use_area(width, height); } fn after_render(&mut self, scope: &mut crate::render_scope::RenderScope) { diff --git a/src/render_scope.rs b/src/render_scope.rs index 9f765a3..85cf3eb 100644 --- a/src/render_scope.rs +++ b/src/render_scope.rs @@ -65,6 +65,11 @@ impl RenderScope { self.transform.height = self.transform.height.max(height); } + pub fn use_area(&mut self, width: u16, height: u16) { + self.transform.width = self.transform.width.max(width); + self.transform.height = self.transform.height.max(height); + } + pub fn draw(&self) { let width = self.transform.width; let height = self.transform.height;