use crate::{
layout::{BoxConstraint, Cursor, LayoutBox, LayoutContext, Rect},
tdom::node::{NodeArena, NodeId},
};
use super::container::layout_flex_container;
pub fn layout_flex_dispatch(
arena: &NodeArena,
node_id: NodeId,
containing: BoxConstraint,
cursor: &mut Cursor,
context: LayoutContext,
pre_allocated_rect: Option<Rect>,
) -> Option<LayoutBox> {
if !crate::layout::layoutbox::generation::generate_node(arena, node_id)
.map(|generated| {
generated.inner_formatting_context == crate::layout::FormattingContext::Flex
})
.unwrap_or(false)
{
return None;
}
Some(layout_flex_container(
arena,
node_id,
containing,
cursor,
context,
pre_allocated_rect,
))
}