Agenda+: more BackgroundImage/enable-background issues

-------- 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