- From: Lea Verou <leaverou@gmail.com>
- Date: Fri, 24 Feb 2012 12:47:49 +0200
- To: Rik Cabanier <cabanier@gmail.com>
- CC: Chris Marrin <cmarrin@apple.com>, Lea Verou <leaverou@gmail.com>, public-fx@w3.org
- Message-ID: <4F476AD5.5040808@gmail.com>
The src descriptor could accept multiple values so that if one can't be used, fall back to the 2nd, 3rd etc, like the src descriptor in @font-face. Lea Verou (http://lea.verou.me | @LeaVerou) On 24/2/12 06:22, Rik Cabanier wrote: > Hi Chris, > > that's a terrific idea. > Depending where we go with the security model, we could design a way > to switch to the SVG filter implementation if we detect that the > shader violates the rule. Could this still be done with a media query? > It seems that more would be necessary... > (This is of course assuming that SVG filter don't suffer from the same > security issues.) > > Rik > > On Thu, Feb 23, 2012 at 5:06 PM, Chris Marrin <cmarrin@apple.com > <mailto:cmarrin@apple.com>> wrote: > > > On Feb 19, 2012, at 8:31 AM, Lea Verou wrote: > >> On 19/2/12 17:48, Rik Cabanier wrote: >> > Hi Lea, >> > I can see how this would be very useful. >> > It would also allow people to create libraries with filters >> that could be used as short hands. >> >> Exactly! This is one of the benefits I mentioned ;) >> >> > Can you write out a complete example of such a filter? >> > Rik >> >> Sure. My imagination is running kinda low at the moment, so lets >> assume hue-rotate wasn't already in the draft. >> >> An author would include this filter in an SVG called >> filterlib.svg (which could obviously include other filters as well): >> >> <filter id="hue-rotate"> >> <feColorMatrix type="hueRotate" values="param(angle) 0"/> >> </filter> >> >> Note that the syntax of param() and its default value (of 0 here) >> is defined in SVGParam [1]. >> >> And then would define it as a function in their CSS like so: >> >> @filter { >> src: url(/path/to/filterlib.svg#hue-rotate); >> name: hue-rotate; >> parameters: angle; >> default: 0; >> } >> >> And then they'd be able to use hue-rotate() as is currently >> defined by the Filter Effects draft. >> >> An alternative syntax could include the function name outside the >> braces, @keyframes-style: >> >> @filter hue-rotate { >> src: url(/path/to/filterlib.svg#hue-rotate); >> parameters: angle; >> default: 0; >> } >> >> `default` isn't really needed in this case, as the SVG already >> defines a default, so it could be omitted. >> >> [1]: http://www.w3.org/TR/SVGParam/ > > I really like the idea of an @filter rule for customized filter > functions. But I'd really like to be able to define a CSS shader > as the underlying implementation. SVG filters give authors a lot > of power. But they're very difficult to hardware accelerate. If > @filter can accommodate both SVG filters and CSS shaders it leaves > authors with path for assuring a hardware acceleration path. > Assuming there is a media query for SVG filter and CSS shader > support, authors can supply both and the appropriate one can be > chosen for the platform. > > ----- > ~Chris > cmarrin@apple.com <mailto:cmarrin@apple.com> > >
Received on Friday, 24 February 2012 10:48:25 UTC