Skip to content

Commit

Permalink
Fixup convert
Browse files Browse the repository at this point in the history
  • Loading branch information
nicoburns committed Jul 7, 2024
1 parent 0ed937f commit 072d0a7
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 15 deletions.
25 changes: 12 additions & 13 deletions src/compute/flexbox.rs
Original file line number Diff line number Diff line change
Expand Up @@ -625,7 +625,6 @@ fn determine_flex_base_size(

for child in flex_items.iter_mut() {
let child_style = tree.get_flexbox_child_style(child.node);
let flex_basis = child_style.flex_basis().maybe_resolve(constants.node_inner_size.main(dir));

// Parent size for child sizing
let cross_axis_parent_size = constants.node_inner_size.cross(dir);
Expand All @@ -652,6 +651,17 @@ fn determine_flex_base_size(
ckd
};

let container_width = constants.node_inner_size.main(dir);
let box_sizing_adjustment = if child_style.box_sizing() == BoxSizing::ContentBox {
let padding = child_style.padding().resolve_or_zero(container_width);
let border = child_style.border().resolve_or_zero(container_width);
(padding + border).sum_axes()
} else {
Size::ZERO
}
.main(dir);
let flex_basis = child_style.flex_basis().maybe_resolve(container_width).maybe_add(box_sizing_adjustment);

drop(child_style);

child.flex_basis = 'flex_basis: {
Expand All @@ -664,17 +674,6 @@ fn determine_flex_base_size(

// Note: `child.size` has already been resolved against aspect_ratio in generate_anonymous_flex_items
// So B will just work here by using main_size without special handling for aspect_ratio

let container_width = constants.node_inner_size.main(dir);
let box_sizing_adjustment = if child_style.box_sizing() == BoxSizing::ContentBox {
let padding = child_style.padding().resolve_or_zero(container_width);
let border = child_style.border().resolve_or_zero(container_width);
(padding + border).sum_axes()
} else {
Size::ZERO
}
.main(dir);
let flex_basis = child_style.flex_basis().maybe_resolve(container_width).maybe_add(box_sizing_adjustment);
let main_size = child.size.main(dir);
if let Some(flex_basis) = flex_basis.or(main_size) {
break 'flex_basis flex_basis;
Expand Down Expand Up @@ -2029,7 +2028,7 @@ fn perform_absolute_layout_on_absolute_children(
let border = child_style.border().resolve_or_zero(Some(container_width));
let padding_border_sum = (padding + border).sum_axes();
let box_sizing_adjustment =
if child_style.box_sizing == BoxSizing::ContentBox { padding_border_sum } else { Size::ZERO };
if child_style.box_sizing() == BoxSizing::ContentBox { padding_border_sum } else { Size::ZERO };

// Resolve inset
let left = child_style.inset().left.maybe_resolve(container_width);
Expand Down
4 changes: 2 additions & 2 deletions src/compute/grid/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,6 @@ pub fn compute_grid_layout(tree: &mut impl LayoutGridContainer, node: NodeId, in
let align_items = style.align_items();
let justify_items = style.justify_items();

drop(style);

let constrained_available_space = known_dimensions
.or(preferred_size)
.map(|size| size.map(AvailableSpace::Definite))
Expand Down Expand Up @@ -197,6 +195,8 @@ pub fn compute_grid_layout(tree: &mut impl LayoutGridContainer, node: NodeId, in
|row_index| cell_occupancy_matrix.row_is_occupied(row_index),
);

drop(style);

// 6. Track Sizing

// Convert grid placements in origin-zero coordinates to indexes into the GridTrack (rows and columns) vectors
Expand Down

0 comments on commit 072d0a7

Please sign in to comment.