summaryrefslogtreecommitdiff
path: root/Userland/Libraries
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Libraries')
-rw-r--r--Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp22
-rw-r--r--Userland/Libraries/LibWeb/Layout/FlexFormattingContext.h4
2 files changed, 14 insertions, 12 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);
}
}
diff --git a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.h b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.h
index 5a7f87b153..d997bdd973 100644
--- a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.h
+++ b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.h
@@ -87,8 +87,8 @@ private:
void set_main_size(Box const&, float size);
void set_cross_size(Box const&, float size);
void set_offset(Box const&, float main_offset, float cross_offset);
- void set_main_axis_first_margin(Box const&, float margin);
- void set_main_axis_second_margin(Box const&, float margin);
+ void set_main_axis_first_margin(FlexItem&, float margin);
+ void set_main_axis_second_margin(FlexItem&, float margin);
void copy_dimensions_from_flex_items_to_boxes();