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

LibWeb: Use fixed-point saturated arithmetics for CSSPixels

Using fixed-point saturated arithmetics for CSSPixels allows to avoid
accumulating floating-point errors.

This implementation is not complete yet: currently saturated
arithmetics implemented only for addition. But it is enough to not
regress any of layout tests we have :)

See https://github.com/SerenityOS/serenity/issues/18566
This commit is contained in:
Aliaksandr Kalenik 2023-07-23 01:09:39 +02:00 committed by Andreas Kling
parent 5cdd03fc53
commit bec07d4af7
136 changed files with 1938 additions and 1844 deletions

View file

@ -1,6 +1,6 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (1,1) content-size 798x161.21875 [BFC] children: not-inline
BlockContainer <body> at (10,10) content-size 780x143.21875 children: not-inline
BlockContainer <html> at (1,1) content-size 798x160.8125 [BFC] children: not-inline
BlockContainer <body> at (10,10) content-size 780x142.8125 children: not-inline
BlockContainer <div.px-indent> at (11,11) content-size 778x68.9375 children: not-inline
BlockContainer <(anonymous)> at (11,11) content-size 778x17.46875 children: inline
line 0 width: 142.390625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
@ -12,17 +12,17 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
frag 0 from TextNode start: 0, length: 12, rect: [62,45.46875 90.921875x17.46875]
"is inherited"
TextNode <#text>
BlockContainer <div.pct-indent> at (11,81.9375) content-size 100x70.28125 children: inline
BlockContainer <div.pct-indent> at (11,81.9375) content-size 100x69.875 children: inline
line 0 width: 80.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 3, rect: [61,81.9375 30.34375x17.46875]
"50%"
line 1 width: 88.15625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
frag 0 from TextNode start: 4, length: 11, rect: [11,98.9375 88.15625x17.46875]
line 1 width: 88.15625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
frag 0 from TextNode start: 4, length: 11, rect: [11,99.40625 88.15625x17.46875]
"indent snip"
line 2 width: 78.703125, height: 18.40625, bottom: 53.34375, baseline: 13.53125
frag 0 from TextNode start: 16, length: 9, rect: [11,115.9375 78.703125x17.46875]
line 2 width: 78.703125, height: 17.46875, bottom: 52.40625, baseline: 13.53125
frag 0 from TextNode start: 16, length: 9, rect: [11,116.875 78.703125x17.46875]
"snap snib"
line 3 width: 37.765625, height: 17.875, bottom: 70.28125, baseline: 13.53125
frag 0 from TextNode start: 26, length: 4, rect: [11,133.9375 37.765625x17.46875]
line 3 width: 37.765625, height: 17.46875, bottom: 69.875, baseline: 13.53125
frag 0 from TextNode start: 26, length: 4, rect: [11,134.34375 37.765625x17.46875]
"snab"
TextNode <#text>