[webkit-dev] Adding blending mode to WebKit canvas

Rik Cabanier cabanier at gmail.com
Tue Nov 13 16:43:02 PST 2012


Maciej,

did this sound reasonable to you?
Would you object if Canvas combines blending and compositing but not CSS?

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/a1a2cb86/attachment.html>


More information about the webkit-dev mailing list