diff options
author | implicitfield <114500360+implicitfield@users.noreply.github.com> | 2022-12-20 21:16:29 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-01-04 11:50:03 +0100 |
commit | e75eb21a54d41a1f77abe6f7ca0f158eca987baa (patch) | |
tree | 2d9e1d5d1ed38ce9a2e5befdfecd39be8b4a59e4 /Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp | |
parent | 4819ebe831f092a1ed9f63a888e55be83c99fdfa (diff) | |
download | serenity-e75eb21a54d41a1f77abe6f7ca0f158eca987baa.zip |
LibWeb: Support "start" and "end" values for justify-content
Diffstat (limited to 'Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp')
-rw-r--r-- | Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp index c730e67b69..1d7b6aaa9f 100644 --- a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp @@ -1231,6 +1231,7 @@ void FlexFormattingContext::distribute_any_remaining_free_space() bool justification_is_centered = false; switch (flex_container().computed_values().justify_content()) { + case CSS::JustifyContent::Start: case CSS::JustifyContent::FlexStart: if (is_direction_reverse()) { flex_region_render_cursor = FlexRegionRenderCursor::Right; @@ -1239,6 +1240,7 @@ void FlexFormattingContext::distribute_any_remaining_free_space() initial_offset = 0; } break; + case CSS::JustifyContent::End: case CSS::JustifyContent::FlexEnd: if (is_direction_reverse()) { initial_offset = 0; @@ -2002,6 +2004,20 @@ Gfx::FloatPoint FlexFormattingContext::calculate_static_position(Box const& box) bool pack_from_end = true; float main_offset = 0; switch (flex_container().computed_values().justify_content()) { + case CSS::JustifyContent::Start: + if (is_direction_reverse()) { + main_offset = specified_main_size(flex_container()); + } else { + main_offset = 0; + } + break; + case CSS::JustifyContent::End: + if (is_direction_reverse()) { + main_offset = 0; + } else { + main_offset = specified_main_size(flex_container()); + } + break; case CSS::JustifyContent::FlexStart: if (is_direction_reverse()) { pack_from_end = false; |