mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:48:10 +00:00

This makes use of the new Gfx::Path::text() to handle SVG text elements, with this text is just a regular path, and can be manipulated like any other graphics element. This removes the SVGTextPaintable and makes both <text> and geometry elements use a new (shared) SVGPathPaintable. This is identical to the old SVGGeometryPaintable. This simplifies painting as once something is resolved to a Gfx::Path, the painting logic is the same.
132 lines
7.1 KiB
Text
132 lines
7.1 KiB
Text
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|
BlockContainer <html> at (0,0) content-size 800x700 [BFC] children: not-inline
|
|
BlockContainer <body> at (50,50) content-size 700x600 children: inline
|
|
line 0 width: 616, height: 203.46875, bottom: 203.46875, baseline: 200
|
|
frag 0 from SVGSVGBox start: 0, length: 0, rect: [50,150 200x100]
|
|
frag 1 from TextNode start: 0, length: 1, rect: [250,236 8x17.46875]
|
|
" "
|
|
frag 2 from SVGSVGBox start: 0, length: 0, rect: [258,50 200x200]
|
|
frag 3 from TextNode start: 0, length: 1, rect: [458,236 8x17.46875]
|
|
" "
|
|
frag 4 from SVGSVGBox start: 0, length: 0, rect: [466,50 200x200]
|
|
line 1 width: 616, height: 203.46875, bottom: 403.46875, baseline: 200
|
|
frag 0 from SVGSVGBox start: 0, length: 0, rect: [50,250 200x200]
|
|
frag 1 from TextNode start: 0, length: 1, rect: [250,436 8x17.46875]
|
|
" "
|
|
frag 2 from SVGSVGBox start: 0, length: 0, rect: [258,250 200x200]
|
|
frag 3 from TextNode start: 0, length: 1, rect: [458,436 8x17.46875]
|
|
" "
|
|
frag 4 from SVGSVGBox start: 0, length: 0, rect: [466,250 200x200]
|
|
line 2 width: 200, height: 200, bottom: 600, baseline: 200
|
|
frag 0 from SVGSVGBox start: 0, length: 0, rect: [50,450 200x200]
|
|
SVGSVGBox <svg> at (50,150) content-size 200x100 [SVG] children: inline
|
|
TextNode <#text>
|
|
SVGGraphicsBox <g> at (45.6875,199.828125) content-size 118.78125x47.453125 children: inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <path> at (45.6875,199.828125) content-size 118.78125x47.453125 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGraphicsBox <g> at (84.5,159.5) content-size 81x81 children: inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <path> at (84.5,159.5) content-size 81x81 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGSVGBox <svg> at (258,50) content-size 200x200 [SVG] children: inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (268,60) content-size 30x20 children: not-inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (288,130) content-size 110x90 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGSVGBox <svg> at (466,50) content-size 200x200 [SVG] children: inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (506,90) content-size 120x120 children: not-inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (471.359375,90) content-size 189.28125x120 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGSVGBox <svg> at (50,250) content-size 200x200 [SVG] children: inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (120.59375,320.59375) content-size 58.828125x58.828125 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (52.4375,310.375) content-size 68.140625x68.140625 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (179.40625,321.484375) content-size 68.140625x68.140625 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGSVGBox <svg> at (258,250) content-size 200x200 [SVG] children: inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <circle> at (278,270) content-size 160x160 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <circle> at (338,270) content-size 40x160 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <circle> at (278,330) content-size 160x40 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <circle> at (338,330) content-size 40x40 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGSVGBox <svg> at (466,250) content-size 200x200 [SVG] children: inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (506,290) content-size 120x120 children: not-inline
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (506,255.359375) content-size 120x189.28125 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGSVGBox <svg> at (50,450) content-size 200x200 [SVG] children: inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (60,460) content-size 80x80 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (160,460) content-size 80x80 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (60,560) content-size 80x80 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
SVGGeometryBox <rect> at (160,560) content-size 80x80 children: not-inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
|
|
ViewportPaintable (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x700]
|
|
PaintableWithLines (BlockContainer<HTML>) [0,0 800x700]
|
|
PaintableWithLines (BlockContainer<BODY>) [50,50 700x600]
|
|
SVGSVGPaintable (SVGSVGBox<svg>) [50,150 200x100]
|
|
SVGGraphicsPaintable (SVGGraphicsBox<g>) [45.6875,199.828125 118.78125x47.453125]
|
|
SVGPathPaintable (SVGGeometryBox<path>) [45.6875,199.828125 118.78125x47.453125]
|
|
SVGGraphicsPaintable (SVGGraphicsBox<g>) [84.5,159.5 81x81]
|
|
SVGPathPaintable (SVGGeometryBox<path>) [84.5,159.5 81x81]
|
|
TextPaintable (TextNode<#text>)
|
|
SVGSVGPaintable (SVGSVGBox<svg>) [258,50 200x200]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [268,60 30x20]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [288,130 110x90]
|
|
TextPaintable (TextNode<#text>)
|
|
SVGSVGPaintable (SVGSVGBox<svg>) [466,50 200x200]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [506,90 120x120]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [471.359375,90 189.28125x120]
|
|
SVGSVGPaintable (SVGSVGBox<svg>) [50,250 200x200]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [120.59375,320.59375 58.828125x58.828125]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [52.4375,310.375 68.140625x68.140625]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [179.40625,321.484375 68.140625x68.140625]
|
|
TextPaintable (TextNode<#text>)
|
|
SVGSVGPaintable (SVGSVGBox<svg>) [258,250 200x200]
|
|
SVGPathPaintable (SVGGeometryBox<circle>) [278,270 160x160]
|
|
SVGPathPaintable (SVGGeometryBox<circle>) [338,270 40x160]
|
|
SVGPathPaintable (SVGGeometryBox<circle>) [278,330 160x40]
|
|
SVGPathPaintable (SVGGeometryBox<circle>) [338,330 40x40]
|
|
TextPaintable (TextNode<#text>)
|
|
SVGSVGPaintable (SVGSVGBox<svg>) [466,250 200x200]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [506,290 120x120]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [506,255.359375 120x189.28125]
|
|
SVGSVGPaintable (SVGSVGBox<svg>) [50,450 200x200]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [60,460 80x80]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [160,460 80x80]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [60,560 80x80]
|
|
SVGPathPaintable (SVGGeometryBox<rect>) [160,560 80x80]
|