mirror of
https://github.com/RGBCube/serenity
synced 2025-07-29 05:07: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:
parent
5cdd03fc53
commit
bec07d4af7
136 changed files with 1938 additions and 1844 deletions
|
@ -2,5 +2,5 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|||
BlockContainer <html> at (0,0) content-size 800x33.46875 [BFC] children: not-inline
|
||||
BlockContainer <body> at (8,8) content-size 0x17.46875 children: inline
|
||||
line 0 width: 0, height: 17.46875, bottom: 17.46875, baseline: 13.53125
|
||||
frag 0 from SVGSVGBox start: 0, length: 0, rect: [8,21 0x0]
|
||||
SVGSVGBox <svg> at (8,21) content-size 0x0 [SVG] children: not-inline
|
||||
frag 0 from SVGSVGBox start: 0, length: 0, rect: [8,21.53125 0x0]
|
||||
SVGSVGBox <svg> at (8,21.53125) content-size 0x0 [SVG] children: not-inline
|
||||
|
|
|
@ -6,5 +6,5 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|||
Viewport <#document> at (0,0) content-size 784x1568 children: inline
|
||||
SVGSVGBox <svg> at (0,0) content-size 784x1568 [SVG] children: inline
|
||||
TextNode <#text>
|
||||
SVGGeometryBox <rect> at (-0.000007,-0.000015) content-size 784x1568 children: not-inline
|
||||
SVGGeometryBox <rect> at (0,0) content-size 784x1568 children: not-inline
|
||||
TextNode <#text>
|
||||
|
|
|
@ -4,4 +4,4 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|||
line 0 width: 784, height: 784, bottom: 784, baseline: 784
|
||||
frag 0 from SVGSVGBox start: 0, length: 0, rect: [8,8 784x784]
|
||||
SVGSVGBox <svg> at (8,8) content-size 784x784 [SVG] children: not-inline
|
||||
SVGGeometryBox <rect> at (7.999992,7.999992) content-size 784x784 children: not-inline
|
||||
SVGGeometryBox <rect> at (8,8) content-size 784x784 children: not-inline
|
||||
|
|
|
@ -4,4 +4,4 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|||
line 0 width: 100, height: 100, bottom: 100, baseline: 48
|
||||
frag 0 from SVGSVGBox start: 0, length: 0, rect: [8,8 100x100]
|
||||
SVGSVGBox <svg> at (8,8) content-size 100x100 [SVG] children: not-inline
|
||||
SVGGeometryBox <path> at (8,9.999999) content-size 100x48 children: not-inline
|
||||
SVGGeometryBox <path> at (8,9.984375) content-size 100x48 children: not-inline
|
||||
|
|
|
@ -2,4 +2,4 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|||
BlockContainer <html> at (0,0) content-size 800x800 [BFC] children: not-inline
|
||||
BlockContainer <body> at (8,8) content-size 784x784 children: not-inline
|
||||
SVGSVGBox <svg> at (8,8) content-size 784x784 [SVG] children: not-inline
|
||||
SVGGeometryBox <rect> at (7.999992,7.999992) content-size 784x784 children: not-inline
|
||||
SVGGeometryBox <rect> at (8,8) content-size 784x784 children: not-inline
|
||||
|
|
|
@ -2,11 +2,11 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|||
BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
|
||||
BlockContainer <body> at (8,8) content-size 784x17.46875 children: inline
|
||||
line 0 width: 8, height: 17.46875, bottom: 17.46875, baseline: 13.53125
|
||||
frag 0 from ImageBox start: 0, length: 0, rect: [8,21 0x0]
|
||||
frag 0 from ImageBox start: 0, length: 0, rect: [8,21.53125 0x0]
|
||||
frag 1 from TextNode start: 0, length: 1, rect: [8,8 8x17.46875]
|
||||
" "
|
||||
frag 2 from SVGSVGBox start: 0, length: 0, rect: [16,21 0x0]
|
||||
ImageBox <img> at (8,21) content-size 0x0 children: not-inline
|
||||
frag 2 from SVGSVGBox start: 0, length: 0, rect: [16,21.53125 0x0]
|
||||
ImageBox <img> at (8,21.53125) content-size 0x0 children: not-inline
|
||||
(SVG-as-image isolated context)
|
||||
Viewport <#document> at (0,0) content-size 0x0 children: inline
|
||||
SVGSVGBox <svg> at (0,0) content-size 0x0 [SVG] children: inline
|
||||
|
@ -14,8 +14,8 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|||
SVGGeometryBox <rect> at (0,0) content-size 1x1 children: not-inline
|
||||
TextNode <#text>
|
||||
TextNode <#text>
|
||||
SVGSVGBox <svg> at (16,21) content-size 0x0 [SVG] children: inline
|
||||
SVGSVGBox <svg> at (16,21.53125) content-size 0x0 [SVG] children: inline
|
||||
TextNode <#text>
|
||||
SVGGeometryBox <rect> at (16,21) content-size 1x1 children: not-inline
|
||||
SVGGeometryBox <rect> at (16,21.53125) content-size 1x1 children: not-inline
|
||||
TextNode <#text>
|
||||
TextNode <#text>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
||||
BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
|
||||
BlockContainer <body> at (8,8) content-size 784x163 children: inline
|
||||
line 0 width: 300, height: 163, bottom: 163, baseline: 13.53125
|
||||
frag 0 from SVGSVGBox start: 0, length: 0, rect: [8,21 300x150]
|
||||
SVGSVGBox <svg> at (8,21) content-size 300x150 [SVG] children: not-inline
|
||||
SVGTextBox <text> at (8,21) content-size 0x0 children: not-inline
|
||||
BlockContainer <body> at (8,8) content-size 784x163.53125 children: inline
|
||||
line 0 width: 300, height: 163.53125, bottom: 163.53125, baseline: 13.53125
|
||||
frag 0 from SVGSVGBox start: 0, length: 0, rect: [8,21.53125 300x150]
|
||||
SVGSVGBox <svg> at (8,21.53125) content-size 300x150 [SVG] children: not-inline
|
||||
SVGTextBox <text> at (8,21.53125) content-size 0x0 children: not-inline
|
||||
TextNode <#text>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue