[webkit-dev] Adding blending mode to WebKit canvas

Rik Cabanier cabanier at gmail.com
Wed Nov 14 08:33:50 PST 2012


On Tue, Nov 13, 2012 at 11:19 PM, Maciej Stachowiak <mjs at apple.com> wrote:

>
> 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.
>
>
Thanks Maciej!
I will bring this up on the FX mailing list.
Depending on the outcome, I will amend the compositing spec.


>
> 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/20121114/2ee9a534/attachment.html>


More information about the webkit-dev mailing list