Re: Margins for filters?

Dirk Schulze wrote:
> I don't want to distract from filters. But another point, that I don't
> understand in this discussion about margin, is masking. Doesn't masking
> have the same problem?
> 
> <svg xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink">
> <defs>
> <mask id="mask">
>   <circle cx="50" cy="50" r="50" fill="white"/>
> </mask>
> </defs>
> <line x1="0" y1="50" x2="100" y2="50" stroke-width="100" stroke="green"
> mask="url(#mask)"/>
> <rect x="0" y="0" width="100" height="100" fill="green"
> mask="url(#mask)" transform="translate(100,0)"/>
> </svg>
> 
> We only see one green circle, because the boundingBox of the line has a
> height of zero. So why fix this "issue" on filters with margin, but not
> on masking?

This is actually a slightly different issue, but to some extent you're 
right.

The problem here (which currently also happens with filters btw) is that 
stroke isn't taken into account when computing the bounding box. This is 
perhaps strange in some cases, but definitely distinct from determining 
the region needed to properly display/compute the filter.

When completely eradicating the filter effects region (and doing the 
same for masks) this more or less ceases to be a problem, as the 
"bounding box" would be fully automatic anyway (which is not a big 
problem), and would include the stroke. It may in some cases make 
calculations a bit more difficult, but it GREATLY simplifies the overall 
implementation, as well as being a LOT more intuitive to use.

Received on Sunday, 18 April 2010 14:45:31 UTC