mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 09:58:11 +00:00
LibHTML: Move layout tree building to a separate function.
This commit is contained in:
parent
9526b0e13a
commit
0ccad4208f
2 changed files with 12 additions and 7 deletions
|
@ -52,13 +52,8 @@ RefPtr<StyledNode> Frame::generate_style_tree()
|
||||||
return styled_root;
|
return styled_root;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Frame::layout()
|
RefPtr<LayoutNode> Frame::generate_layout_tree(const StyledNode& styled_root)
|
||||||
{
|
{
|
||||||
if (!m_document)
|
|
||||||
return;
|
|
||||||
|
|
||||||
auto styled_root = generate_style_tree();
|
|
||||||
|
|
||||||
auto create_layout_node = [](const StyledNode& styled_node) -> RefPtr<LayoutNode> {
|
auto create_layout_node = [](const StyledNode& styled_node) -> RefPtr<LayoutNode> {
|
||||||
if (styled_node.node() && styled_node.node()->is_document())
|
if (styled_node.node() && styled_node.node()->is_document())
|
||||||
return adopt(*new LayoutDocument(static_cast<const Document&>(*styled_node.node()), styled_node));
|
return adopt(*new LayoutDocument(static_cast<const Document&>(*styled_node.node()), styled_node));
|
||||||
|
@ -88,7 +83,16 @@ void Frame::layout()
|
||||||
return layout_node;
|
return layout_node;
|
||||||
};
|
};
|
||||||
|
|
||||||
auto layout_root = resolve_layout(*styled_root, nullptr);
|
return resolve_layout(styled_root, nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Frame::layout()
|
||||||
|
{
|
||||||
|
if (!m_document)
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto styled_root = generate_style_tree();
|
||||||
|
auto layout_root = generate_layout_tree(*styled_root);
|
||||||
|
|
||||||
layout_root->style().size().set_width(m_size.width());
|
layout_root->style().size().set_width(m_size.width());
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RefPtr<StyledNode> generate_style_tree();
|
RefPtr<StyledNode> generate_style_tree();
|
||||||
|
RefPtr<LayoutNode> generate_layout_tree(const StyledNode&);
|
||||||
|
|
||||||
RefPtr<Document> m_document;
|
RefPtr<Document> m_document;
|
||||||
Size m_size;
|
Size m_size;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue