W3C home > Mailing lists > Public > public-fxtf-archive@w3.org > June 2019

[fxtf-drafts] [filter-effects-1] feDropShadowElement definition does not match implementations (#343)

From: Connor Brewster via GitHub <sysbot+gh@w3.org>
Date: Thu, 13 Jun 2019 16:51:27 +0000
To: public-fxtf-archive@w3.org
Message-ID: <issues.opened-455847929-1560444686-sysbot+gh@w3.org>
cbrewster has just created a new issue for https://github.com/w3c/fxtf-drafts:

== [filter-effects-1] feDropShadowElement definition does not match implementations ==
Spec: https://drafts.fxtf.org/filter-effects/#feDropShadowElement
According to the spec for `<feDropShadow>`, it's result should be equivalent to a combination of other filter primitives; however, this is not always the case in browser implementations.

Example Case:
```html
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 1024 1024">
    <defs>
        <filter id="specDropShadow">
            <feGaussianBlur in="SourceAlpha" stdDeviation="30"/>
            <feOffset dx="50" dy="50" result="offsetblur"/>
            <feFlood flood-color="green" flood-opacity="1"/>
            <feComposite in2="offsetblur" operator="in"/>
            <feMerge>
                <feMergeNode/>
                <feMergeNode in="SourceGraphic"/>
            </feMerge>
        </filter>
        <filter id="dropShadow">
            <feDropShadow stdDeviation="30" dx="50" dy="50" flood-color="green"/>
        </filter>
    </defs>
    <circle fill="yellow" cx="75" cy="75" r="70" filter="url(#specDropShadow)" />
    <circle fill="yellow" cx="250" cy="75" r="70" filter="url(#dropShadow)" />
</svg>
```

Result (Firefox; Safari and Chrome produce a similar result):
![image](https://user-images.githubusercontent.com/9086315/59451006-56709700-8dbf-11e9-8f9e-01bdac8f3826.png)

In this example case, the left circle is the drop shadow using a combination of filter primitives defined by the spec to be equivalent to the `feDropShadow` primitive and the right circle is using the actual `feDropShadow` primitive.

Clipping occurs after the first `feGaussianBlur`, which becomes visible after the blur has been offset; however, most browser implementations don't appear to clip the blur before offsetting.

Please view or discuss this issue at https://github.com/w3c/fxtf-drafts/issues/343 using your GitHub account
Received on Thursday, 13 June 2019 16:51:29 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 13 June 2019 16:51:30 UTC