[webkit-dev] Adding blending mode to WebKit canvas

Rik Cabanier cabanier at gmail.com
Mon Nov 12 15:46:20 PST 2012


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/20121112/2824f7a0/attachment.html>


More information about the webkit-dev mailing list