- From: Nikos Andronikos via GitHub <sysbot+gh@w3.org>
- Date: Mon, 08 Aug 2016 07:13:35 +0000
- To: public-svg-issues@w3.org
nikosandronikos has just labeled an issue for
https://github.com/w3c/svgwg as "DoC_noResponse":
== Define how meshes are rendered when children of shapes ==
The child content model of shapes allows paints server elements as
children, including ‘mesh’. The [mesh gradient
chapter](https://svgwg.org/svg2-draft/pservers.html#MeshGradients)
says that “Unlike other paint servers, a mesh defined outside of a
‘defs’ section is rendered.”
Does this mean that the mesh is rendered if used as a child paint
server? Here’s an example, the mesh is used as a paint server AND
rendered as an object:
```
<svg>
<rect x=“100” fill=“child” transform=“translate(10, 10) scale(2,2)”
opacity=“0.5">
<mesh transform=“rotate(30)">...</mesh>
</rect>
</svg>
```
This raises several questions: how do the transforms of ‘rect’ affect
the mesh? Does the ‘rect’ element behave like a ‘g’ element (only
transform affects the mesh) or does it behave like an ‘svg’ element
(transform and x/y properties affect the mesh)? Things get more hairy
if the 'mesh' element is a child of a 'text' or 'tspan' element..
One way to simplify this is to just say that meshes are rendered only
when they are children of a container element (‘a’, ‘clipPath’,
‘defs’, ‘g’, ‘marker’, ‘mask’, ‘pattern’, ‘svg’, ‘switch’ and
‘symbol’.). They are not rendered under any other element. Also, a
mesh as a child of ‘a’ is not rendered if it is also a child of
‘text’, like this:
```
<svg>
<text x=“100” y=“100”>Hello <a
href=“https://www.w3.org”><mesh>…</mesh> w3</a></text>
</svg>
```
See https://github.com/w3c/svgwg/issues/140
Received on Monday, 8 August 2016 07:13:44 UTC