serenity/LibHTML/test.cpp
Andreas Kling 0db2f3cbe6 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.
2019-06-16 21:35:03 +02:00

28 lines
681 B
C++

#include <LibCore/CFile.h>
#include <LibHTML/Dump.h>
#include <LibHTML/Frame.h>
#include <LibHTML/Parser/Parser.h>
#include <stdio.h>
int main(int argc, char** argv)
{
CFile f(argc == 1 ? "/home/anon/small.html" : argv[1]);
if (!f.open(CIODevice::ReadOnly)) {
fprintf(stderr, "Error: %s\n", f.error_string());
return 1;
}
String html = String::copy(f.read_all());
auto doc = parse(html);
dump_tree(doc);
doc->build_layout_tree();
ASSERT(doc->layout_node());
dump_tree(*doc->layout_node());
auto frame = make<Frame>();
frame->set_document(doc);
frame->layout();
dump_tree(*doc->layout_node());
return 0;
}