<br><br><div class="gmail_quote">On Thu, Sep 10, 2009 at 12:06 PM, Boudewijn Rempt <span dir="ltr"><<a href="mailto:boud@valdyas.org">boud@valdyas.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Wednesday 09 September 2009, Dmitry Kazakov wrote:<br>
<br>
> In current realization we get wrong result - we just copy alpha() channel<br>
<br>
</div>It might be instead of a bug in Krita a bug in the alpha colorspace's<br>
implementation of the OVER composite op. That looks like it has changed since<br>
1.6. I'll investigate that a bit.<br></blockquote><div><br><br>First, current realization does NOT use COMPOSITE_OVER by default. It uses COMPOSITE_ALPHA_DARKEN instead [0].<br>I don't know why (and it still looks quite strange for me) but Cyrille said ALPHA_DARKEN "is more beautiful". I can't say anything about that.<br>
<br>Even if we decide to use COMPOSITE_OVER, it won't solve the problem at all. Before drawing on canvas dab of the brush will be converted to alpha8() automaticaly by pigment. It means that dab will loose(!) all it's color information and only brush's alpha-mask will be used as a source of painting. More than that, the bitBlt WON'T have any useful alpha mask to control painting (as a colorspace has only one channel and it is used as a source of bitBlt). This means that whole rectangle will be painted onto the canvas and any composition type is simply _not applicable_ here(!) as we do not have useful alpha mask for painting.<br>
<br><br>It's not "a change from 1.6". Painting on the selection simply hadn't been planned in the design of classes.<br>And the fact that IndirectPainting simply CAN'T be applied to selections speaks for that.<br>
<br></div></div><br><br><br>[0] - see kis_tool_freehand.cc:326 for more<br clear="all"><br>-- <br>Dmitry Kazakov<br>