mirror of
https://github.com/RGBCube/serenity
synced 2025-07-29 13:47:34 +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
|
@ -108,39 +108,39 @@ ViewportPaintable (Viewport<#document>) [0,0 800x600]
|
|||
PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
|
||||
PaintableWithLines (BlockContainer<BODY>) [8,8 784x257.46875]
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [8,83 102x52]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [34,84 50x50]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [34,84 50x50]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [118,83 102x52]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [119,84 50x50]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [119,84 50x50]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [228,83 102x52]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [279,84 50x50]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [279,84 50x50]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [338,83 102x52]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [339,84 100x100]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [339,84 100x100]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [448,83 102x52]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [449,59 100x100]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [449,59 100x100]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [558,83 102x52]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [559,34 100x100]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [559,34 100x100]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [668,8 52x127]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [669,9 50x50]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [669,9 50x50]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [728,8 52x127]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [729,46.5 50x50]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [729,46.5 50x50]
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [8,135 52x127]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [9,211 50x50]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [9,211 50x50]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [68,135 52x127]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [69,136 125x125]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [69,136 125x125]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [128,135 52x127]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [91.5,136 125x125]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [91.5,136 125x125]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [188,135 52x127]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [114,136 125x125]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [114,136 125x125]
|
||||
TextPaintable (TextNode<#text>)
|
||||
SVGSVGPaintable (SVGSVGBox<svg>) [248,200 162x62]
|
||||
SVGGeometryPaintable (SVGGeometryBox<circle>) [299,201 60x60]
|
||||
SVGPathPaintable (SVGGeometryBox<circle>) [299,201 60x60]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue