Skip to content

Commit 4053a34

Browse files
committed
fix(layout): flex gap calculation with writing-mode
1 parent c0f5641 commit 4053a34

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

float-pigment-layout/src/algo/flex_box.rs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ fn resolve_row_gap<T: LayoutTreeNode>(
2020
node: &T,
2121
inner_size: &Normalized<OptionSize<T::Length>>,
2222
) -> T::Length {
23-
style.row_gap().resolve(inner_size.height, node).or_zero()
23+
match style.writing_mode() {
24+
WritingMode::HorizontalTb => style.row_gap().resolve(inner_size.height, node).or_zero(),
25+
WritingMode::VerticalLr | WritingMode::VerticalRl => {
26+
style.row_gap().resolve(inner_size.width, node).or_zero()
27+
}
28+
}
2429
}
2530

2631
#[inline(always)]
@@ -29,7 +34,13 @@ fn resolve_column_gap<T: LayoutTreeNode>(
2934
node: &T,
3035
inner_size: &Normalized<OptionSize<T::Length>>,
3136
) -> T::Length {
32-
style.column_gap().resolve(inner_size.width, node).or_zero()
37+
match style.writing_mode() {
38+
WritingMode::HorizontalTb => style.column_gap().resolve(inner_size.width, node).or_zero(),
39+
WritingMode::VerticalLr | WritingMode::VerticalRl => style
40+
.column_gap()
41+
.resolve(inner_size.height, node)
42+
.or_zero(),
43+
}
3344
}
3445

3546
#[inline(always)]

0 commit comments

Comments
 (0)