Fix width column factor computation in table

This commit is contained in:
Héctor Ramón Jiménez 2025-07-16 21:39:40 +02:00
parent 6e71c7dd6f
commit a3d42e2d37
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -250,11 +250,10 @@ where
} }
} }
let width_factor = let width_factor = width.fill_factor();
width.fill_factor().max(size.width.fill_factor());
let height_factor = size.height.fill_factor(); let height_factor = size.height.fill_factor();
if width_factor != 0 || height_factor != 0 { if width_factor != 0 || height_factor != 0 || size.width.is_fill() {
column_factors[column] = column_factors[column] =
column_factors[column].max(width_factor); column_factors[column].max(width_factor);
@ -332,10 +331,13 @@ where
} }
} }
if width_factor != 0 if width_factor == 0
|| size.width.fill_factor() != 0 && size.width.fill_factor() == 0
|| size.height.fill_factor() != 0 && size.height.fill_factor() == 0
{ {
continue;
}
let row_factor = row_factors[row]; let row_factor = row_factors[row];
let max_width = if width_factor == 0 { let max_width = if width_factor == 0 {
@ -375,14 +377,12 @@ where
layout.size(), layout.size(),
); );
metrics.columns[column] = metrics.columns[column] = metrics.columns[column].max(size.width);
metrics.columns[column].max(size.width);
metrics.rows[row] = metrics.rows[row].max(size.height); metrics.rows[row] = metrics.rows[row].max(size.height);
cells[i] = layout; cells[i] = layout;
y += size.height + spacing_y; y += size.height + spacing_y;
} }
}
// THIRD PASS // THIRD PASS
// Position each cell // Position each cell