ladybird/Libraries/LibWeb/Layout
Andreas Kling 656b01eb0f LibWeb: Rework the layout engine to use relative offsets
The box tree and line boxes now all store a relative offset from their
containing block, instead of an absolute (document-relative) position.

This removes a huge pain point from the layout system which was having
to adjust offsets recursively when something moved. It also makes some
layout logic significantly simpler.

Every box can still find its absolute position by walking its chain
of containing blocks and accumulating the translation from the root.
This is currently what we do both for rendering and hit testing.
2020-06-10 10:46:57 +02:00
..
BoxModelMetrics.cpp LibWeb: Start fleshing out support for relative CSS units 2020-06-07 17:55:46 +02:00
BoxModelMetrics.h LibWeb: Start fleshing out support for relative CSS units 2020-06-07 17:55:46 +02:00
LayoutBlock.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutBlock.h LibWeb: Add LayoutTableRowGroup to implement display: table-row-group 2020-06-09 21:53:16 +02:00
LayoutBox.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutBox.h LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutBreak.cpp LibWeb: Basic support for display:inline-block with width:auto 2020-05-26 22:02:27 +02:00
LayoutBreak.h LibWeb: Basic support for display:inline-block with width:auto 2020-05-26 22:02:27 +02:00
LayoutCanvas.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutCanvas.h LibWeb: Basic support for display:inline-block with width:auto 2020-05-26 22:02:27 +02:00
LayoutDocument.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutDocument.h LibWeb: Improve computation of a layout node's containing block 2020-06-05 19:15:20 +02:00
LayoutFrame.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutFrame.h LibWeb: Start adding support for the <iframe> element! :^) 2020-06-05 23:36:02 +02:00
LayoutImage.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutImage.h LibWeb: Basic support for display:inline-block with width:auto 2020-05-26 22:02:27 +02:00
LayoutInline.cpp LibWeb: Rename directory LibHTML => LibWeb 2020-03-07 10:32:51 +01:00
LayoutInline.h LibWeb: Rename directory LibHTML => LibWeb 2020-03-07 10:32:51 +01:00
LayoutListItem.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutListItem.h LibWeb: Basic support for display:inline-block with width:auto 2020-05-26 22:02:27 +02:00
LayoutListItemMarker.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutListItemMarker.h LibWeb: Rename directory LibHTML => LibWeb 2020-03-07 10:32:51 +01:00
LayoutNode.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutNode.h LibWeb: Add LayoutTableRowGroup to implement display: table-row-group 2020-06-09 21:53:16 +02:00
LayoutPosition.h LibWeb: Rename directory LibHTML => LibWeb 2020-03-07 10:32:51 +01:00
LayoutReplaced.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutReplaced.h LibWeb: Start adding support for the <iframe> element! :^) 2020-06-05 23:36:02 +02:00
LayoutTable.cpp LibWeb: LayoutMode line_break_policy => LayoutMode layout_mode 2020-05-27 19:52:18 +02:00
LayoutTable.h LibWeb: Basic support for display:inline-block with width:auto 2020-05-26 22:02:27 +02:00
LayoutTableCell.cpp LibWeb: Rename directory LibHTML => LibWeb 2020-03-07 10:32:51 +01:00
LayoutTableCell.h LibWeb: Rename directory LibHTML => LibWeb 2020-03-07 10:32:51 +01:00
LayoutTableRow.cpp LibWeb: LayoutMode line_break_policy => LayoutMode layout_mode 2020-05-27 19:52:18 +02:00
LayoutTableRow.h LibWeb: Basic support for display:inline-block with width:auto 2020-05-26 22:02:27 +02:00
LayoutTableRowGroup.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutTableRowGroup.h LibWeb: Add LayoutTableRowGroup to implement display: table-row-group 2020-06-09 21:53:16 +02:00
LayoutText.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutText.h LibWeb: Basic support for display:inline-block with width:auto 2020-05-26 22:02:27 +02:00
LayoutTreeBuilder.cpp LibWeb: Whine in debug log instead of asserting on partial layout FIXME 2020-06-06 22:15:17 +02:00
LayoutTreeBuilder.h LibWeb: Rename directory LibHTML => LibWeb 2020-03-07 10:32:51 +01:00
LayoutWidget.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LayoutWidget.h LibWeb: Simplify LayoutWidget layout 2020-06-05 21:50:03 +02:00
LineBox.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LineBox.h LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LineBoxFragment.cpp LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00
LineBoxFragment.h LibWeb: Rework the layout engine to use relative offsets 2020-06-10 10:46:57 +02:00