<br><div class="gmail_quote">On Tue, Sep 25, 2012 at 12:58 PM, Boudewijn Rempt <span dir="ltr"><<a href="mailto:boud@valdyas.org" target="_blank">boud@valdyas.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
As discussed before, there are a number of places where we need to check whether we get into trouble:<br>
<br>
* brush mask generation without alpha channel<br></blockquote><div><br>Currently, the paint ops generate the mask exactly into the alpha channel. So the data about the current color is simply lost. You will have to rewrite the paintops to mix this value to the resulting singlebyte pixel. More than that, the resulting composite op will never work like COMPOSITE_OVER. It'll only be able to work like COMPOSITE_ADD, which is quite different.<br>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* (possibly) the conversion between colorspaces with and without alpha channel in KoColorSpace::bitBlt<br></blockquote><div><br>To make this conversion you need to have two colorspaces first. And to have two colorspaces you need to tell the paint ops to use some other colorspace.<br>
<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* specific composite ops for the gray without alpha channel colorspace<br></blockquote><div><br>They will never work like usual COMPOSITE_OVER. And to generate a dab in such colorspace we need to make changes in all the paint ops.<br>
 <br></div><br><br></div><br><br clear="all"><br>-- <br>Dmitry Kazakov<br>