mod(container): Size property handling for .fixed, .horizontal and .vertical check with assertions required values
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m0s

This commit is contained in:
2025-12-17 22:58:58 +01:00
parent 8e3b43fa61
commit 06ab32bdde

View File

@@ -727,14 +727,18 @@ 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,
.horizontal => .{
.x = @max(size.x, this.properties.size.dim.x),
.y = if (this.properties.size.dim.y > 0) this.properties.size.dim.y else size.y,
.fixed => blk: {
assert(this.properties.size.dim.x > 0 or size.x > 0);
assert(this.properties.size.dim.y > 0 or size.y > 0);
break :blk .max(size, this.properties.size.dim);
},
.vertical => .{
.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),
.horizontal => blk: {
assert(this.properties.size.dim.y > 0 or size.y > 0);
break :blk .max(size, this.properties.size.dim);
},
.vertical => blk: {
assert(this.properties.size.dim.x > 0 or size.x > 0);
break :blk .max(size, this.properties.size.dim);
},
};
return this.size;