1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 20:17:34 +00:00

LibWeb: Use separate structure to represent fragments in paintable tree

This is a part of refactoring towards making the paintable tree
independent of the layout tree. Now, instead of transferring text
fragments from the layout tree to the paintable tree during the layout
commit phase, we allocate separate PaintableFragments that contain only
the information necessary for painting. Doing this also allows us to
get rid LineBoxes, as they are used only during layout.
This commit is contained in:
Aliaksandr Kalenik 2024-01-12 21:25:05 +01:00 committed by Andreas Kling
parent 785fa60cca
commit de32b77ceb
401 changed files with 2122 additions and 3614 deletions

View file

@ -4,63 +4,45 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <div.outer> at (9,9) content-size 300x250 children: inline
line 0 width: 239.15625, height: 16, bottom: 16, baseline: 12.796875
frag 0 from TextNode start: 1, length: 24, rect: [61,9 212x16]
frag 0 from TextNode start: 1, length: 24, rect: [61,9 212x16] baseline: 12.796875
"foo bar baz foo bar baz "
frag 1 from TextNode start: 1, length: 3, rect: [273,9 27.15625x16]
frag 1 from TextNode start: 1, length: 3, rect: [273,9 27.15625x16] baseline: 12.796875
"foo"
line 1 width: 27.640625, height: 16, bottom: 32, baseline: 12.796875
frag 0 from TextNode start: 5, length: 3, rect: [263,25 27.640625x16]
frag 2 from TextNode start: 5, length: 3, rect: [263,25 27.640625x16] baseline: 12.796875
"bar"
line 2 width: 27.203125, height: 16, bottom: 48, baseline: 12.796875
frag 0 from TextNode start: 9, length: 3, rect: [263,41 27.203125x16]
frag 3 from TextNode start: 9, length: 3, rect: [263,41 27.203125x16] baseline: 12.796875
"baz"
line 3 width: 27.15625, height: 16, bottom: 64, baseline: 12.796875
frag 0 from TextNode start: 13, length: 3, rect: [263,57 27.15625x16]
frag 4 from TextNode start: 13, length: 3, rect: [263,57 27.15625x16] baseline: 12.796875
"foo"
line 4 width: 0, height: 0, bottom: 0, baseline: 0
line 5 width: 62.84375, height: 16, bottom: 84, baseline: 12.796875
frag 0 from TextNode start: 17, length: 7, rect: [9,77 62.84375x16]
frag 5 from TextNode start: 17, length: 7, rect: [9,77 62.84375x16] baseline: 12.796875
"bar baz"
line 6 width: 62.796875, height: 16, bottom: 100, baseline: 12.796875
frag 0 from TextNode start: 25, length: 7, rect: [9,93 62.796875x16]
frag 6 from TextNode start: 25, length: 7, rect: [9,93 62.796875x16] baseline: 12.796875
"foo bar"
line 7 width: 62.359375, height: 16, bottom: 116, baseline: 12.796875
frag 0 from TextNode start: 33, length: 7, rect: [9,109 62.359375x16]
frag 7 from TextNode start: 33, length: 7, rect: [9,109 62.359375x16] baseline: 12.796875
"baz foo"
line 8 width: 62.84375, height: 16, bottom: 132, baseline: 12.796875
frag 0 from TextNode start: 41, length: 7, rect: [9,125 62.84375x16]
frag 8 from TextNode start: 41, length: 7, rect: [9,125 62.84375x16] baseline: 12.796875
"bar baz"
line 9 width: 239.15625, height: 16, bottom: 148, baseline: 12.796875
frag 0 from TextNode start: 1, length: 27, rect: [9,141 239.15625x16]
frag 9 from TextNode start: 1, length: 27, rect: [9,141 239.15625x16] baseline: 12.796875
"foo bar baz foo bar baz foo"
line 10 width: 239.640625, height: 16, bottom: 164, baseline: 12.796875
frag 0 from TextNode start: 29, length: 27, rect: [9,157 239.640625x16]
frag 10 from TextNode start: 29, length: 27, rect: [9,157 239.640625x16] baseline: 12.796875
"bar baz foo bar baz foo bar"
line 11 width: 239.203125, height: 16, bottom: 180, baseline: 12.796875
frag 0 from TextNode start: 57, length: 16, rect: [61,173 141.203125x16]
frag 11 from TextNode start: 57, length: 16, rect: [61,173 141.203125x16] baseline: 12.796875
"baz foo bar baz "
frag 1 from TextNode start: 1, length: 11, rect: [202,173 98x16]
frag 12 from TextNode start: 1, length: 11, rect: [202,173 98x16] baseline: 12.796875
"foo bar baz"
line 12 width: 204, height: 16, bottom: 196, baseline: 12.796875
frag 0 from TextNode start: 13, length: 12, rect: [61,189 106x16]
frag 13 from TextNode start: 13, length: 12, rect: [61,189 106x16] baseline: 12.796875
"foo bar baz "
frag 1 from TextNode start: 1, length: 11, rect: [167,189 98x16]
frag 14 from TextNode start: 1, length: 11, rect: [167,189 98x16] baseline: 12.796875
"foo bar baz"
line 13 width: 204, height: 16, bottom: 212, baseline: 12.796875
frag 0 from TextNode start: 13, length: 23, rect: [61,205 204x16]
frag 15 from TextNode start: 13, length: 23, rect: [61,205 204x16] baseline: 12.796875
"foo bar baz foo bar baz"
line 14 width: 239.15625, height: 16, bottom: 228, baseline: 12.796875
frag 0 from TextNode start: 37, length: 27, rect: [61,221 239.15625x16]
frag 16 from TextNode start: 37, length: 27, rect: [61,221 239.15625x16] baseline: 12.796875
"foo bar baz foo bar baz foo"
line 15 width: 274.84375, height: 16, bottom: 244, baseline: 12.796875
frag 0 from TextNode start: 65, length: 31, rect: [9,237 274.84375x16]
frag 17 from TextNode start: 65, length: 31, rect: [9,237 274.84375x16] baseline: 12.796875
"bar baz foo bar baz foo bar baz"
line 16 width: 274.796875, height: 16, bottom: 260, baseline: 12.796875
frag 0 from TextNode start: 97, length: 31, rect: [9,253 274.796875x16]
frag 18 from TextNode start: 97, length: 31, rect: [9,253 274.796875x16] baseline: 12.796875
"foo bar baz foo bar baz foo bar"
line 17 width: 133.203125, height: 16, bottom: 276, baseline: 12.796875
frag 0 from TextNode start: 129, length: 15, rect: [9,269 133.203125x16]
frag 19 from TextNode start: 129, length: 15, rect: [9,269 133.203125x16] baseline: 12.796875
"baz foo bar baz"
TextNode <#text>
BlockContainer <div.lefty> at (10,10) content-size 50x50 floating [BFC] children: not-inline