From 5cb6d341af3dec71cc0eef472fddef8c7d6ab39e Mon Sep 17 00:00:00 2001 From: Leo dev Date: Sat, 1 Nov 2025 12:49:57 +0100 Subject: [PATCH] Even width and height comparisons --- src/elements/div.rs | 1 + src/style.rs | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/elements/div.rs b/src/elements/div.rs index 69e8d7a..79824da 100644 --- a/src/elements/div.rs +++ b/src/elements/div.rs @@ -49,6 +49,7 @@ impl Element for Div { let mut scope = crate::render_scope::RenderScope::new(); scope.set_parent_transform(transform.clone()); + transform.width = 0; transform.height = 0; let mut renderer = DivRenderer(&mut transform); for widget in &self.children { diff --git a/src/style.rs b/src/style.rs index 691befc..229ed39 100644 --- a/src/style.rs +++ b/src/style.rs @@ -176,6 +176,9 @@ impl RawTransform { let child_bottom = self.y + self.height; let parent_bottom = parent.y + parent.height; + let child_right = self.x + self.width; + let parent_right = parent.x + parent.width; + if child_bottom > parent_bottom { if parent_bottom > self.y { self.height = parent_bottom - self.y; @@ -183,6 +186,14 @@ impl RawTransform { self.height = 0; } } + + if child_right > parent_right { + if parent_right > self.x { + self.width = parent_right - self.x; + } else { + self.width = 0; + } + } } }