- From: Doug Schepers <schepers@w3.org>
- Date: Wed, 14 Apr 2010 01:12:43 -0400
- To: SVG WG <public-svg-wg@w3.org>
-------- Original Message -------- Subject: more BackgroundImage/enable-background issues Resent-Date: Thu, 05 Jun 2008 09:34:17 +0000 Resent-From: www-svg@w3.org Date: Thu, 5 Jun 2008 21:33:34 +1200 From: Robert O'Callahan <robert@ocallahan.org> Reply-To: robert@ocallahan.org To: www-svg <www-svg@w3.org> The spec for 'enable-background:new' says: http://www.w3.org/TR/SVG/filters.html#AccessingBackgroundImage "These parameters enable the SVG user agent potentially to allocate smaller temporary image buffers than the default values, which might require the SVG user agent to allocate buffers as large as the current viewport." This suggests that pixels outside the viewport will not be needed to construct a BackgroundImage. But consider the following example: <svg xmlns="http://www.w3.org/2000/svg" style="enable-background:new;"> <defs> <filter id="f1" filterUnits="objectBoundingBox" x="-1" y="0" width="2" height="1"> <feMorphology in="BackgroundImage" operator="dilate" radius="200"/> </filter> </defs> <rect x="-100" y="100" width="100" height="100" fill="lime"/> <rect x="0" y="100" width="100" height="100" filter="url(#f1)"/> </svg> In this example the filter region extends outside the viewport. The lime rect will be clipped by the viewport, but the spec is explicit that clipping due to ancestors does not affect the BackgroundImage. As far as I can tell, the BackgroundImage should be 200x100, the left half filled with lime; the filter result is a 200x100 lime rectangle; and after clipping to the viewport the final rendering should be a lime rect at (0,100)-(100,200). (Opera renders this incorrectly BTW, it seems to clip to the viewport while constructing the BackgroundImage.) I suggest that the text "which might require the SVG user agent to allocate buffers as large as the current viewport." be deleted. Rob -- "He was pierced for our transgressions, he was crushed for our iniquities; the punishment that brought us peace was upon him, and by his wounds we are healed. We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all." [Isaiah 53:5-6]
Received on Wednesday, 14 April 2010 05:12:45 UTC