- From: Cameron McCormack <cam@mcc.id.au>
- Date: Wed, 27 Oct 2010 16:59:11 +1300
- To: public-svg-wg@w3.org
If #opacityMask is meant to be mask that will cause no pixels to be
painted, then it would be easier to do this with a completely empty
mask:
<mask id="opacityMask"/>
As it stands, #opacityMask will indeed cause no pixels from its
referencing <rect> to be painted, because:
1. the <rect> in the mask doesn’t actually intersect with the
referencing <rect>; it needs to be at x="200" for this.
2. the <rect> in the mask is fill="black", which has a luminance value
of 0.
Whether the opacity="0" on the <mask> itself has an effect on the mask
is not clear – I think it should, since a <mask> is a container element,
and opacity is defined to apply to a container element. In IE it does
have an effect, but in Firefox, Opera, Chrome, Safari and Batik it does
not:
http://dev.w3.org/SVG/profiles/1.1F2/ua-tests/mask-opacity.svg
(You could use fill-opacity instead to be sure, since that inherits.)
If it is decided that opacity="0" does affect masks, then having the
mask like
<mask id="opacityMask" opacity="0">
<rect x="200" width="100" height="100" fill="white"/>
</mask>
would be best. I see that masking-path-10-b.svg covers masks with
various ways of masking the mask transparent. Maybe this test could
have sub-tests for all those methods, but testing for pointer events.
--
Cameron McCormack ≝ http://mcc.id.au/
Received on Wednesday, 27 October 2010 03:59:47 UTC