1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 13:25:08 +00:00
serenity/Libraries/LibHTML/Layout
Andreas Kling 1d65cf367f LibHTML: Rewrite inline and text layout
Inline layout is now done by LayoutBlock. Blocks with inline children
will split them into line boxes during layout.

A LayoutBlock can have zero or more LineBox objects. Each LineBox
represents one visual line.

A LineBox can have any number of LineBoxFragment children. A fragment
is an offset+length into a specific LayoutNode.

To paint a LayoutBlock with inline children, we walk its line boxes,
and walk their fragments, painting each fragment at a time by calling
LineBoxFragment::render(), which in turn calls the LayoutNode via
LayoutText::render_fragment(). Hit testing works similarly.

This is very incomplete and has many bugs, but should make it easier
for us to move forward with this code.
2019-10-03 15:20:13 +02:00
..
ComputedStyle.cpp LibHTML: Add ComputedStyle::full_margin() 2019-09-28 18:29:42 +02:00
ComputedStyle.h LibHTML: Respect the CSS "color" property for text 2019-09-28 22:57:46 +02:00
LayoutBlock.cpp LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LayoutBlock.h LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LayoutDocument.cpp LibHTML: Fix LayoutDocument height computation 2019-09-28 18:29:42 +02:00
LayoutDocument.h LibHTML: Get rid of the style tree 2019-09-28 18:29:42 +02:00
LayoutInline.cpp LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LayoutInline.h LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LayoutNode.cpp LibHTML: Implement the <hr> element 2019-10-01 20:50:11 +02:00
LayoutNode.h LibHTML: Add inserted_into() and removed_from() TreeNode callbacks 2019-09-29 17:40:39 +02:00
LayoutText.cpp LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LayoutText.h LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LineBox.cpp LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LineBox.h LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LineBoxFragment.cpp LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00
LineBoxFragment.h LibHTML: Rewrite inline and text layout 2019-10-03 15:20:13 +02:00