W3C home > Mailing lists > Public > public-svg-wg@w3.org > October to December 2010

review comments on interact-pointer-04-f.svg

From: Cameron McCormack <cam@mcc.id.au>
Date: Wed, 27 Oct 2010 16:59:11 +1300
To: public-svg-wg@w3.org
Message-ID: <20101027035911.GP6526@wok.mcc.id.au>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 27 October 2010 03:59:48 GMT