Просмотр исходного кода

LibWeb: Add FFC helpers for getting the computed main/cross size of box

Andreas Kling 3 лет назад
Родитель
Сommit
18b1854aea

+ 9 - 0
Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp

@@ -1710,4 +1710,13 @@ bool FlexFormattingContext::flex_item_is_stretched(FlexItem const& item) const
     return computed_cross_size.is_auto() && !item.margins.cross_before_is_auto && !item.margins.cross_after_is_auto;
 }
 
+CSS::LengthPercentage const& FlexFormattingContext::computed_main_size(Box const& box) const
+{
+    return is_row_layout() ? box.computed_values().width() : box.computed_values().height();
+}
+CSS::LengthPercentage const& FlexFormattingContext::computed_cross_size(Box const& box) const
+{
+    return !is_row_layout() ? box.computed_values().width() : box.computed_values().height();
+}
+
 }

+ 2 - 0
Userland/Libraries/LibWeb/Layout/FlexFormattingContext.h

@@ -105,6 +105,8 @@ private:
     Optional<float> specified_size_suggestion(FlexItem const&) const;
     Optional<float> transferred_size_suggestion(FlexItem const&) const;
     float content_size_suggestion(FlexItem const&) const;
+    CSS::LengthPercentage const& computed_main_size(Box const&) const;
+    CSS::LengthPercentage const& computed_cross_size(Box const&) const;
 
     float get_pixel_width(Box const& box, Optional<CSS::LengthPercentage> const& length_percentage) const;
     float get_pixel_height(Box const& box, Optional<CSS::LengthPercentage> const& length_percentage) const;