1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 10:47: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

@ -5,100 +5,71 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
TextNode <#text>
BlockContainer <div.grid-item.item-span-one-one> at (401.46875,8) content-size 392x127.5 [BFC] children: inline
line 0 width: 319.171875, height: 17, bottom: 17, baseline: 13.296875
frag 0 from TextNode start: 1, length: 40, rect: [401.46875,8 319.171875x17]
frag 0 from TextNode start: 1, length: 40, rect: [401.46875,8 319.171875x17] baseline: 13.296875
"In a sollicitudin augue. Sed ante augue,"
line 1 width: 335.125, height: 17, bottom: 34, baseline: 13.296875
frag 0 from TextNode start: 42, length: 42, rect: [401.46875,25 335.125x17]
frag 1 from TextNode start: 42, length: 42, rect: [401.46875,25 335.125x17] baseline: 13.296875
"rhoncus nec porttitor id, lacinia et nibh."
line 2 width: 378.625, height: 17, bottom: 51, baseline: 13.296875
frag 0 from TextNode start: 85, length: 48, rect: [401.46875,42 378.625x17]
frag 2 from TextNode start: 85, length: 48, rect: [401.46875,42 378.625x17] baseline: 13.296875
"Pellentesque diam libero, ultrices eget eleifend"
line 3 width: 182.8125, height: 17, bottom: 68, baseline: 13.296875
frag 0 from TextNode start: 134, length: 22, rect: [401.46875,59 182.8125x17]
frag 3 from TextNode start: 134, length: 22, rect: [401.46875,59 182.8125x17] baseline: 13.296875
"at, consequat ut orci."
TextNode <#text>
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
TextNode <#text>
BlockContainer <div.grid-item.item-span-one-two> at (401.46875,135.5) content-size 392x178.5 [BFC] children: inline
line 0 width: 359.15625, height: 17, bottom: 17, baseline: 13.296875
frag 0 from TextNode start: 1, length: 43, rect: [401.46875,135.5 359.15625x17]
frag 0 from TextNode start: 1, length: 43, rect: [401.46875,135.5 359.15625x17] baseline: 13.296875
"Suspendisse potenti. Pellentesque at varius"
line 1 width: 318.5625, height: 17, bottom: 34, baseline: 13.296875
frag 0 from TextNode start: 45, length: 41, rect: [401.46875,152.5 318.5625x17]
frag 1 from TextNode start: 45, length: 41, rect: [401.46875,152.5 318.5625x17] baseline: 13.296875
"lacus, sed sollicitudin leo. Pellentesque"
line 2 width: 377.640625, height: 17, bottom: 51, baseline: 13.296875
frag 0 from TextNode start: 87, length: 44, rect: [401.46875,169.5 377.640625x17]
frag 2 from TextNode start: 87, length: 44, rect: [401.46875,169.5 377.640625x17] baseline: 13.296875
"malesuada mi eget pellentesque tempor. Donec"
line 3 width: 378.03125, height: 17, bottom: 68, baseline: 13.296875
frag 0 from TextNode start: 132, length: 47, rect: [401.46875,186.5 378.03125x17]
frag 3 from TextNode start: 132, length: 47, rect: [401.46875,186.5 378.03125x17] baseline: 13.296875
"egestas mauris est, ut lobortis nisi luctus at."
line 4 width: 345.953125, height: 17, bottom: 85, baseline: 13.296875
frag 0 from TextNode start: 180, length: 41, rect: [401.46875,203.5 345.953125x17]
frag 4 from TextNode start: 180, length: 41, rect: [401.46875,203.5 345.953125x17] baseline: 13.296875
"Vivamus eleifend, lorem vulputate maximus"
line 5 width: 312.765625, height: 17, bottom: 102, baseline: 13.296875
frag 0 from TextNode start: 222, length: 37, rect: [401.46875,220.5 312.765625x17]
frag 5 from TextNode start: 222, length: 37, rect: [401.46875,220.5 312.765625x17] baseline: 13.296875
"porta, nunc metus porttitor nibh, nec"
line 6 width: 242.921875, height: 17, bottom: 119, baseline: 13.296875
frag 0 from TextNode start: 260, length: 31, rect: [401.46875,237.5 242.921875x17]
frag 6 from TextNode start: 260, length: 31, rect: [401.46875,237.5 242.921875x17] baseline: 13.296875
"bibendum nulla lectus ut felis."
TextNode <#text>
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
TextNode <#text>
BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 393.46875x306 [BFC] children: inline
line 0 width: 337.6875, height: 17, bottom: 17, baseline: 13.296875
frag 0 from TextNode start: 1, length: 39, rect: [8,8 337.6875x17]
frag 0 from TextNode start: 1, length: 39, rect: [8,8 337.6875x17] baseline: 13.296875
"Lorem ipsum dolor sit amet, consectetur"
line 1 width: 376.34375, height: 17, bottom: 34, baseline: 13.296875
frag 0 from TextNode start: 41, length: 47, rect: [8,25 376.34375x17]
frag 1 from TextNode start: 41, length: 47, rect: [8,25 376.34375x17] baseline: 13.296875
"adipiscing elit. Sed vitae condimentum erat, ac"
line 2 width: 365.84375, height: 17, bottom: 51, baseline: 13.296875
frag 0 from TextNode start: 89, length: 45, rect: [8,42 365.84375x17]
frag 2 from TextNode start: 89, length: 45, rect: [8,42 365.84375x17] baseline: 13.296875
"posuere arcu. Aenean tincidunt mi ligula, vel"
line 3 width: 381.96875, height: 17, bottom: 68, baseline: 13.296875
frag 0 from TextNode start: 135, length: 46, rect: [8,59 381.96875x17]
frag 3 from TextNode start: 135, length: 46, rect: [8,59 381.96875x17] baseline: 13.296875
"semper dolor aliquet at. Phasellus scelerisque"
line 4 width: 377.203125, height: 17, bottom: 85, baseline: 13.296875
frag 0 from TextNode start: 182, length: 45, rect: [8,76 377.203125x17]
frag 4 from TextNode start: 182, length: 45, rect: [8,76 377.203125x17] baseline: 13.296875
"dapibus diam sed rhoncus. Proin sed orci leo."
line 5 width: 375.390625, height: 17, bottom: 102, baseline: 13.296875
frag 0 from TextNode start: 228, length: 45, rect: [8,93 375.390625x17]
frag 5 from TextNode start: 228, length: 45, rect: [8,93 375.390625x17] baseline: 13.296875
"Praesent pellentesque mi eu nunc gravida, vel"
line 6 width: 383.53125, height: 17, bottom: 119, baseline: 13.296875
frag 0 from TextNode start: 274, length: 46, rect: [8,110 383.53125x17]
frag 6 from TextNode start: 274, length: 46, rect: [8,110 383.53125x17] baseline: 13.296875
"consectetur nulla malesuada. Sed pellentesque,"
line 7 width: 344.8125, height: 17, bottom: 136, baseline: 13.296875
frag 0 from TextNode start: 321, length: 47, rect: [8,127 344.8125x17]
frag 7 from TextNode start: 321, length: 47, rect: [8,127 344.8125x17] baseline: 13.296875
"elit sit amet sollicitudin sollicitudin, lectus"
line 8 width: 374.703125, height: 17, bottom: 153, baseline: 13.296875
frag 0 from TextNode start: 369, length: 46, rect: [8,144 374.703125x17]
frag 8 from TextNode start: 369, length: 46, rect: [8,144 374.703125x17] baseline: 13.296875
"justo facilisis lacus, ac vehicula metus neque"
line 9 width: 384.125, height: 17, bottom: 170, baseline: 13.296875
frag 0 from TextNode start: 416, length: 45, rect: [8,161 384.125x17]
frag 9 from TextNode start: 416, length: 45, rect: [8,161 384.125x17] baseline: 13.296875
"ac mi. In in augue et massa maximus venenatis"
line 10 width: 373.25, height: 17, bottom: 187, baseline: 13.296875
frag 0 from TextNode start: 462, length: 44, rect: [8,178 373.25x17]
frag 10 from TextNode start: 462, length: 44, rect: [8,178 373.25x17] baseline: 13.296875
"auctor fermentum dui. Aliquam dictum finibus"
line 11 width: 288.203125, height: 17, bottom: 204, baseline: 13.296875
frag 0 from TextNode start: 507, length: 35, rect: [8,195 288.203125x17]
frag 11 from TextNode start: 507, length: 35, rect: [8,195 288.203125x17] baseline: 13.296875
"urna, quis lacinia massa laoreet a."
line 12 width: 316.296875, height: 17, bottom: 221, baseline: 13.296875
frag 0 from TextNode start: 543, length: 36, rect: [8,212 316.296875x17]
frag 12 from TextNode start: 543, length: 36, rect: [8,212 316.296875x17] baseline: 13.296875
"Suspendisse elementum non lectus nec"
line 13 width: 388.78125, height: 17, bottom: 238, baseline: 13.296875
frag 0 from TextNode start: 580, length: 48, rect: [8,229 388.78125x17]
frag 13 from TextNode start: 580, length: 48, rect: [8,229 388.78125x17] baseline: 13.296875
"elementum. Quisque ultricies suscipit porttitor."
line 14 width: 373.828125, height: 17, bottom: 255, baseline: 13.296875
frag 0 from TextNode start: 629, length: 45, rect: [8,246 373.828125x17]
frag 14 from TextNode start: 629, length: 45, rect: [8,246 373.828125x17] baseline: 13.296875
"Sed non urna rutrum, mattis nulla at, feugiat"
line 15 width: 368.75, height: 17, bottom: 272, baseline: 13.296875
frag 0 from TextNode start: 675, length: 48, rect: [8,263 368.75x17]
frag 15 from TextNode start: 675, length: 48, rect: [8,263 368.75x17] baseline: 13.296875
"erat. Duis orci elit, vehicula sed blandit eget,"
line 16 width: 390.625, height: 17, bottom: 289, baseline: 13.296875
frag 0 from TextNode start: 724, length: 46, rect: [8,280 390.625x17]
frag 16 from TextNode start: 724, length: 46, rect: [8,280 390.625x17] baseline: 13.296875
"auctor in arcu. Ut cursus magna sit amet nulla"
line 17 width: 294.90625, height: 17, bottom: 306, baseline: 13.296875
frag 0 from TextNode start: 771, length: 36, rect: [8,297 294.90625x17]
frag 17 from TextNode start: 771, length: 36, rect: [8,297 294.90625x17] baseline: 13.296875
"cursus, vitae gravida mauris dictum."
TextNode <#text>
BlockContainer <(anonymous)> (not painted) [BFC] children: inline