Re: [css-filters] bounding box / filter region vs. child transforms

> On Nov 16, 2015, at 4:20 PM, Stephen White <senorblanco@chromium.org> wrote:
> 
> Hi filter-folks,
> 
> Should the bounding box used to compute filter region in CSS filter effects include CSS transforms applied to child elements?
> 
> E.g.,
> 
>     <div id="parent" style="filter: url(#filter);">
>       <div id="child" style="transform: scaleY(4);">X
>       </div>
>     </div>
> 
> What's the bounding box for the filter on "parent"? Does it include the scaleY(4) of the child element, or is it the original untransformed bounding box? The spec currently has a link <http://www.w3.org/TR/2011/REC-SVG11-20110816/coords.html#ObjectBoundingBoxUnits> to the SVG 1.1 spec, which has no mention of transforms, so one could assume they're implicitly included, but being an SVG spec, perhaps it doesn't fully describe all possible implications for HTML.
> 
> (See Chrome bug https://code.google.com/p/chromium/issues/detail?id=554169 <https://code.google.com/p/chromium/issues/detail?id=554169> for further reference/discussion.)
> 
> Thanks in advance for your help,

It should include the extent of all the descendants (including transforms). Filters are a “graphical group” operation, so it’s as if the element and its descendants are rendered into a bitmap, the filter is applied to the bitmap, then the bitmap is rendered to the destination.

Simon

Received on Tuesday, 17 November 2015 02:03:10 UTC