🐛 Fix wasm layout problems

This commit is contained in:
alonso.torres 2025-06-18 10:36:29 +02:00
parent b2647f30c2
commit 58e5748b4f
4 changed files with 36 additions and 25 deletions

View file

@ -269,7 +269,11 @@ fn initialize_tracks(
// Resize main axis fill
fn distribute_fill_main_space(layout_axis: &LayoutAxis, tracks: &mut [TrackData]) {
for track in tracks.iter_mut() {
let mut left_space = layout_axis.main_space() - track.main_size;
let mut left_space = if layout_axis.is_auto_main {
0.0
} else {
layout_axis.main_space() - track.main_size
};
let mut to_resize_children: Vec<&mut ChildAxis> = Vec::new();
for child in track.shapes.iter_mut() {
@ -299,7 +303,13 @@ fn distribute_fill_main_space(layout_axis: &LayoutAxis, tracks: &mut [TrackData]
fn distribute_fill_across_space(layout_axis: &LayoutAxis, tracks: &mut [TrackData]) {
let total_across_size = tracks.iter().map(|t| t.across_size).sum::<f32>()
+ (tracks.len() - 1) as f32 * layout_axis.gap_across;
let mut left_space = layout_axis.across_space() - total_across_size;
let mut left_space = if layout_axis.is_auto_across {
0.0
} else {
layout_axis.across_space() - total_across_size
};
let mut to_resize_tracks: Vec<&mut TrackData> = Vec::new();
for track in tracks.iter_mut() {
@ -435,13 +445,8 @@ fn calculate_track_data(
structure,
);
if !layout_axis.is_auto_main {
distribute_fill_main_space(&layout_axis, &mut tracks);
}
if !layout_axis.is_auto_across {
distribute_fill_across_space(&layout_axis, &mut tracks);
}
distribute_fill_main_space(&layout_axis, &mut tracks);
distribute_fill_across_space(&layout_axis, &mut tracks);
let total_across_size = tracks.iter().map(|t| t.across_size).sum::<f32>();