diff options
author | Andreas Kling <awesomekling@gmail.com> | 2019-06-16 21:35:03 +0200 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2019-06-16 21:35:03 +0200 |
commit | 0db2f3cbe6a7ed9ae2e6c25d9fbb6e9f55b92796 (patch) | |
tree | b2d3f9c44ba278c9d19e937be249c0950c5cf463 /LibHTML/Frame.cpp | |
parent | f49e5c673280ee10a08618df69bf985bb4d5284a (diff) | |
download | serenity-0db2f3cbe6a7ed9ae2e6c25d9fbb6e9f55b92796.zip |
LibHTML: Add a Frame class, start fleshing out recursive layout.
Layout is initiated from Frame::layout(). It makes the document's layout
node as wide as the frame, and then we'll take it from there.
Diffstat (limited to 'LibHTML/Frame.cpp')
-rw-r--r-- | LibHTML/Frame.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/LibHTML/Frame.cpp b/LibHTML/Frame.cpp new file mode 100644 index 0000000000..73e35b0665 --- /dev/null +++ b/LibHTML/Frame.cpp @@ -0,0 +1,31 @@ +#include <LibHTML/Frame.h> +#include <LibHTML/Layout/LayoutNode.h> + +Frame::Frame() + : m_size(800, 600) +{ +} + +Frame::~Frame() +{ +} + +void Frame::set_document(Document* document) +{ + m_document = document; +} + +void Frame::layout() +{ + if (!m_document) + return; + + if (!m_document->layout_node()) + m_document->create_layout_node(); + + ASSERT(m_document->layout_node()); + + m_document->layout_node()->style().size().set_width(m_size.width()); + + m_document->layout_node()->layout(); +} |