summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp')
-rw-r--r--Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp
index f9726b4dc8..5f5afa99b0 100644
--- a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp
+++ b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp
@@ -412,20 +412,22 @@ void FlexFormattingContext::set_offset(Box const& box, float main_offset, float
m_state.get_mutable(box).offset = Gfx::FloatPoint { cross_offset, main_offset };
}
-void FlexFormattingContext::set_main_axis_first_margin(Box const& box, float margin)
+void FlexFormattingContext::set_main_axis_first_margin(FlexItem& item, float margin)
{
+ item.margins.main_before = margin;
if (is_row_layout())
- m_state.get_mutable(box).margin_left = margin;
+ m_state.get_mutable(item.box).margin_left = margin;
else
- m_state.get_mutable(box).margin_top = margin;
+ m_state.get_mutable(item.box).margin_top = margin;
}
-void FlexFormattingContext::set_main_axis_second_margin(Box const& box, float margin)
+void FlexFormattingContext::set_main_axis_second_margin(FlexItem& item, float margin)
{
+ item.margins.main_after = margin;
if (is_row_layout())
- m_state.get_mutable(box).margin_right = margin;
+ m_state.get_mutable(item.box).margin_right = margin;
else
- m_state.get_mutable(box).margin_bottom = margin;
+ m_state.get_mutable(item.box).margin_bottom = margin;
}
float FlexFormattingContext::sum_of_margin_padding_border_in_main_axis(Box const& box) const
@@ -1067,16 +1069,16 @@ void FlexFormattingContext::distribute_any_remaining_free_space()
float size_per_auto_margin = remaining_free_space / (float)auto_margins;
for (auto& flex_item : flex_line.items) {
if (is_main_axis_margin_first_auto(flex_item->box))
- set_main_axis_first_margin(flex_item->box, size_per_auto_margin);
+ set_main_axis_first_margin(*flex_item, size_per_auto_margin);
if (is_main_axis_margin_second_auto(flex_item->box))
- set_main_axis_second_margin(flex_item->box, size_per_auto_margin);
+ set_main_axis_second_margin(*flex_item, size_per_auto_margin);
}
} else {
for (auto& flex_item : flex_line.items) {
if (is_main_axis_margin_first_auto(flex_item->box))
- set_main_axis_first_margin(flex_item->box, 0);
+ set_main_axis_first_margin(*flex_item, 0);
if (is_main_axis_margin_second_auto(flex_item->box))
- set_main_axis_second_margin(flex_item->box, 0);
+ set_main_axis_second_margin(*flex_item, 0);
}
}