<div class="gmail_quote">On Sun, Jul 3, 2011 at 11:33 AM, Cyrille Berger Skott <span dir="ltr">&lt;<a href="mailto:cberger@cberger.net">cberger@cberger.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On Saturday 02 July 2011, Sven Langkamp wrote:<br>
&gt; On Sat, Jul 2, 2011 at 5:28 PM, Cyrille Berger Skott<br>
&lt;<a href="mailto:cberger@cberger.net">cberger@cberger.net</a>&gt;wrote:<br>
&gt; &gt; On Tuesday 28 June 2011, Cyrille Berger Skott wrote:<br>
&gt; &gt; &gt; Alternatively, you need to refactor pigment, you have two paths:<br>
&gt; &gt; &gt; * huge refactoring: the alpha channel is seperated from the color<br>
&gt; &gt; &gt; space, and RGB and RGBA becomes the same class (or Gray and GrayA), in<br>
&gt; &gt; &gt; the paint device, the channel is added seperately, and when bitblt, we<br>
&gt; &gt; &gt; pass a seperate pointer to the alpha channel, that can be null or not<br>
&gt; &gt; &gt; (ie like the mask)<br>
&gt; &gt; &gt; * smaller solution: make it possible to create composite op that work<br>
&gt; &gt; &gt; across color spaces<br>
&gt; &gt;<br>
&gt; &gt; There is a third solution<br>
&gt; &gt; * detect in KoColorSpace::bitBlt that the destination color space is the<br>
&gt; &gt; same<br>
&gt; &gt; as the source color space without alpha, and add an alpha channel to the<br>
&gt; &gt; data<br>
&gt; &gt; and then discard it, but that is not going to be performant.<br>
&gt;<br>
&gt; I thought about that too, but then you pratically need another paint device<br>
&gt; in grayscale colorspace than is used for a tempory bitBlt.<br>
&gt; Of course that means two bitBlt.<br>
<br>
</div></div>Well no. you can do it directly in KoColorSpace::bitBlt.<br></blockquote></div><br>Try that but I didn&#39;t get it to work, see attachment. Is that what you suggested?<br>