mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 01:37:35 +00:00
LibWeb: Implement basic intrinsic sizing algorithms for flex containers
This patch adds support for MinContent and MaxContent layout to FFC. This means that an FFC can now calculate intrinsic sizes for the flex container, to be used by the parent formatting context. There are some FIXME's as usual, but this already works on basic things.
This commit is contained in:
parent
d94c7fa417
commit
c8240e31a1
2 changed files with 190 additions and 1 deletions
|
@ -121,6 +121,15 @@ private:
|
|||
bool is_direction_reverse() const { return m_flex_direction == CSS::FlexDirection::ColumnReverse || m_flex_direction == CSS::FlexDirection::RowReverse; }
|
||||
void populate_specified_margins(FlexItem&, CSS::FlexDirection) const;
|
||||
|
||||
void determine_intrinsic_size_of_flex_container(LayoutMode);
|
||||
[[nodiscard]] float calculate_intrinsic_main_size_of_flex_container(LayoutMode);
|
||||
[[nodiscard]] float calculate_intrinsic_cross_size_of_flex_container(LayoutMode);
|
||||
|
||||
[[nodiscard]] float calculate_cross_min_content_contribution(FlexItem const&) const;
|
||||
[[nodiscard]] float calculate_cross_max_content_contribution(FlexItem const&) const;
|
||||
[[nodiscard]] float calculate_main_min_content_contribution(FlexItem const&) const;
|
||||
[[nodiscard]] float calculate_main_max_content_contribution(FlexItem const&) const;
|
||||
|
||||
FormattingState::NodeState& m_flex_container_state;
|
||||
|
||||
Vector<FlexLine> m_flex_lines;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue