<br><br><div class="gmail_quote">On Fri, Oct 2, 2009 at 5:12 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;">
Moving discussion to the mailing list again...<br>
<div class="im"><br>
<br>
> > I'll cc the the mailing list, since this is a broader issue.<br>
> ><br>
> > > Could you explain me how does this change help blur filter?<br>
> ><br>
> > Not really, maybe Cyrille can -- it's something to do with the<br>
> > convolution painter.<br>
><br>
> Cyrille, ping!<br>
><br>
> > > The point is, we can't do a bitBlt() here as needRect of the filter<br>
> > > might be much bigger than actual rc, given to this function. Actual<br>
> > > needRect<br>
> ><br>
> > is<br>
> ><br>
> > > calculated in KisLayer::updateProjection and is know only there.<br>
> ><br>
> > Maybe it's better to have it in kis_filter_mask instead? For now it's<br>
> > unfortunately needed, and I think a refactor of this thing should wait<br>
> > until<br>
> > 2.2.<br>
><br>
> Unfortunately, not. NeedRects of all the masks have to be be calculated<br>
> together. Take a look at KisLayer::masksChangeRect/masksNeedRect functions.<br>
<br>
</div>Fortunately, it works for those filters that need a copy, namely the<br>
convolution filters.<br></blockquote><div><br>It depends on a type of a bug inside convolution painter. If it reads out of dst device, then we'll get the same border-effect problem that i have been fixing for about a month. If it just uses dst as a default value, it'll work, but we can get even more subtle problems in the future, like a difference between changeRect of a filter and rc-value transmitted to the decorateRect() function.<br>
</div><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">
> It means that filters do not conform KisFilter's interface of src and dst.<br>
> And we shouldn't introduce workaround for it. We just need to make the<br>
> filter follow the rules and fix it =) (i hope, blur filter is the only<br>
> one?)<br>
<br>
</div>All convolution filters have the same problem. It's not a problem with the<br>
filters per se, but with the convolution painter.<br></blockquote><div><br>damn!<br>Well, Boud, isn't it easier to fix a bug in convolution painter than to create a garbage from our KisLayer/Mask code?<br> </div><br clear="all">
</div>PS:<br>I simply can't understand, why are you going to fix KisLayer and KisMask, if you know exactly that real problem is inside KisConvolutionPainter?<br><br>I don't understand something, do i?<br><br>-- <br>
Dmitry Kazakov<br>