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; }