From 8e3b43fa61c1a4090b0071fec1afcd706558013d Mon Sep 17 00:00:00 2001 From: Yves Biener Date: Wed, 17 Dec 2025 22:48:02 +0100 Subject: [PATCH] mod(container): `.horizontal` and `.vertical` size.grow respect `minSize` value if no `size.dim` is used --- src/container.zig | 6 +++--- src/element.zig | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/container.zig b/src/container.zig index f769767..37591fc 100644 --- a/src/container.zig +++ b/src/container.zig @@ -727,13 +727,13 @@ pub fn Container(Model: type, Event: type) type { // assign currently calculated size this.size = switch (this.properties.size.grow) { .both => .max(size, this.properties.size.dim), - .fixed => if (this.properties.size.dim.x != 0 and this.properties.size.dim.y != 0) this.properties.size.dim else size, + .fixed => if (this.properties.size.dim.x > 0 and this.properties.size.dim.y > 0) this.properties.size.dim else size, .horizontal => .{ .x = @max(size.x, this.properties.size.dim.x), - .y = this.properties.size.dim.y, + .y = if (this.properties.size.dim.y > 0) this.properties.size.dim.y else size.y, }, .vertical => .{ - .x = this.properties.size.dim.x, + .x = if (this.properties.size.dim.x > 0) this.properties.size.dim.x else size.x, .y = @max(size.y, this.properties.size.dim.y), }, }; diff --git a/src/element.zig b/src/element.zig index 74b4769..00112ee 100644 --- a/src/element.zig +++ b/src/element.zig @@ -53,10 +53,7 @@ pub fn Element(Model: type, Event: type) type { pub inline fn minSize(this: @This(), model: *const Model, size: Point) Point { if (this.vtable.minSize) |minSize_fn| { const min_size = minSize_fn(this.ptr, model, size); - return .{ - .x = @max(size.x, min_size.x), - .y = @max(size.y, min_size.y), - }; + return .max(size, min_size); } else return size; }