1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 07:57:49 +00:00

LibWeb: Support "start" and "end" values for justify-content

This commit is contained in:
implicitfield 2022-12-20 21:16:29 +02:00 committed by Andreas Kling
parent 4819ebe831
commit e75eb21a54
3 changed files with 20 additions and 0 deletions

View file

@ -142,6 +142,8 @@
"optimizequality=smooth"
],
"justify-content": [
"start",
"end",
"flex-start",
"flex-end",
"center",

View file

@ -109,6 +109,7 @@
"double",
"e-resize",
"enabled",
"end",
"ew-resize",
"fantasy",
"fast",
@ -249,6 +250,7 @@
"srgb",
"standalone",
"standard",
"start",
"static",
"sticky",
"stretch",

View file

@ -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;