<br><br><div class="gmail_quote">On Sun, Nov 11, 2012 at 8:43 PM, Maciej Stachowiak <span dir="ltr">&lt;<a href="mailto:mjs@apple.com" target="_blank">mjs@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><br><div><div class="im"><div>On Nov 11, 2012, at 6:59 PM, Rik Cabanier &lt;<a href="mailto:cabanier@gmail.com" target="_blank">cabanier@gmail.com</a>&gt; wrote:</div><br><blockquote type="cite">
<br>  <div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Wouldn&#39;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 &#39;source-over&#39;. </blockquote><div><br></div>

<div>That could work too.</div><div>There was a mailing list conversation about this a couple of months ago, and people were evenly split on the subject.</div><div><br></div><div>The vast majority of cases will use &#39;source-over&#39; in combination with blending so maybe it&#39;s best to keep it simple...</div>
</div></blockquote><div><br></div></div><div>It doesn&#39;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.</div>
<div><br></div></div></div></blockquote><div>There are cases where it makes sense to have them as separate properties.</div><div>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.</div>
<div><br></div><div>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&#39;t be changed later.</div><div>This means that Safari and Firefox for Mac can only implement part of the spec...</div>
<div><br></div><div>I prefer to have a consistent implementation that can be extended later as opposed to a &#39;correct&#39; API that is inconsistently implemented.</div><div><br></div></div>