[webkit-dev] Adding blending mode to WebKit canvas

Maciej Stachowiak mjs at apple.com
Tue Nov 13 23:19:47 PST 2012


On Nov 13, 2012, at 4:43 PM, Rik Cabanier <cabanier at gmail.com> wrote:

> Maciej,
> 
> did this sound reasonable to you?

Still doesn't make sense to me. Even if we don't implement CSS 'alpha-compositing' and 'blend-mode' today, I assume we will want to implement them eventually. At that point we will want them consistent with Canvas. If the only reason to combine compositing operator and blend modes is short-term ease of implementation on Mac, then that doesn't seem like a great reason to make the Web platform permanently inconsistent.

> Would you object if Canvas combines blending and compositing but not CSS?

Yes. I think they should be consistent and the relevant standards group (FX Task Force?) should decide. It's not even very important to me which is chosen. It just seems arbitrary that they would make different choices on this, especially when it is all defined in the same spec.

Regards,
Maciej

> 
> Rik
> 
> On Mon, Nov 12, 2012 at 3:46 PM, Rik Cabanier <cabanier at gmail.com> wrote:
> 
> 
> On Mon, Nov 12, 2012 at 12:14 PM, Maciej Stachowiak <mjs at apple.com> wrote:
> 
> On Nov 11, 2012, at 9:06 PM, Rik Cabanier <cabanier at gmail.com> wrote:
> 
>> 
>> 
>> On Sun, Nov 11, 2012 at 8:43 PM, Maciej Stachowiak <mjs at apple.com> wrote:
>> 
>> On Nov 11, 2012, at 6:59 PM, Rik Cabanier <cabanier at gmail.com> wrote:
>> 
>>> 
>>>   
>>> 
>>> Wouldn't it be better to add a new property to canvas for blending? At the beginning, implementations are just require to use different blend modes in combination with 'source-over'.
>>> 
>>> That could work too.
>>> There was a mailing list conversation about this a couple of months ago, and people were evenly split on the subject.
>>> 
>>> The vast majority of cases will use 'source-over' in combination with blending so maybe it's best to keep it simple...
>> 
>> It doesn't make sense to me for blend mode and composite operator to be separate in CSS, but combined in Canvas. Either there are valid use cases for specifying them separately or there are not. I cannot imagine how this could differ between Canvas and CSS.
>> 
>> There are cases where it makes sense to have them as separate properties.
>> To be honest, the main reason that the Canvas proposal combines them, is because it is not possible to implement this efficiently using Core Graphics.
>> 
>> If we break it up in 2 operations, we have to document the correct behavior (= blending does not force source-over for blending) because the spec can't be changed later.
>> This means that Safari and Firefox for Mac can only implement part of the spec...
>> 
>> I prefer to have a consistent implementation that can be extended later as opposed to a 'correct' API that is inconsistently implemented.
> 
> Doesn't this same argument apply to CSS blend modes? (And therefore the 'blend-mode' and 'alpha-compositing' properties should be combined into a single property)?
> 
>  
> Yes, except I'm not proposing that we implement the 'alpha-compositing' property yet.
> I hope that MacOS (or Safari) can evolve in the future so it can be implemented more easily.
> 
> Compositing in CSS is actually a much harder problem than in Canvas because it requires the UA to keep track of the 'shape'. 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20121113/ac644dc9/attachment.html>


More information about the webkit-dev mailing list