1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-17 20:35:07 +00:00
Commit graph

4 commits

Author SHA1 Message Date
Andreas Kling
62893a54cc LibWeb: More work on table layout
Table row layout is now split into two phases:

1. Compute all the column widths (even taking colspan into account!)
2. Place all cells at the correct x,y offsets based on column widths.

Both phases visit all rows and all cells.
2020-06-13 00:12:23 +02:00
Andreas Kling
196a3986d6 LibWeb: First cut of extremely naive table row layout
This first version simply auto-sizes all table cells and then places
them on a horizontal line.
2020-06-12 23:18:51 +02:00
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
Andreas Kling
28dcef4757 LibWeb: Add LayoutTableRowGroup to implement display: table-row-group 2020-06-09 21:53:16 +02:00