mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 14:37:45 +00:00
LibWeb: Support transforms, stroking, gradients, etc for SVG <text>
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.
This commit is contained in:
parent
50d33f79fa
commit
4c5d48f861
30 changed files with 144 additions and 180 deletions
|
@ -100,33 +100,33 @@ ViewportPaintable (Viewport<#document>) [0,0 800x600] overflow: [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]
|
||||
SVGGeometryPaintable (SVGGeometryBox<path>) [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]
|
||||
SVGGeometryPaintable (SVGGeometryBox<path>) [84.5,159.5 81x81]
|
||||
SVGPathPaintable (SVGGeometryBox<path>) [84.5,159.5 81x81]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [258,50 200x200]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [268,60 30x20]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [288,130 110x90]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [268,60 30x20]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [288,130 110x90]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [466,50 200x200]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [506,90 120x120]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [471.359375,90 189.28125x120]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [506,90 120x120]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [471.359375,90 189.28125x120]
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [50,250 200x200]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [120.59375,320.59375 58.828125x58.828125]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [52.4375,310.375 68.140625x68.140625]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [179.40625,321.484375 68.140625x68.140625]
|
||||
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]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [278,270 160x160]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [338,270 40x160]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [278,330 160x40]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [338,330 40x40]
|
||||
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]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [506,290 120x120]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [506,255.359375 120x189.28125]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [506,290 120x120]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [506,255.359375 120x189.28125]
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [50,450 200x200]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [60,460 80x80]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [160,460 80x80]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [60,560 80x80]
|
||||
SVGGeometryPaintable (SVGGeometryBox<rect>) [160,560 80x80]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [60,460 80x80]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [160,460 80x80]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [60,560 80x80]
|
||||
SVGPathPaintable (SVGGeometryBox<rect>) [160,560 80x80]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue