koffice/krita/image

Dmitry Kazakov dimula73 at gmail.com
Fri Oct 2 15:34:05 CEST 2009


On Fri, Oct 2, 2009 at 5:12 PM, Boudewijn Rempt <boud at valdyas.org> wrote:

> Moving discussion to the mailing list again...
>
>
> > > I'll cc the the mailing list, since this is a broader issue.
> > >
> > > > Could you explain me how does this change help blur filter?
> > >
> > > Not really, maybe Cyrille can -- it's something to do with the
> > > convolution painter.
> >
> > Cyrille, ping!
> >
> > > > The point is, we can't do a bitBlt() here as needRect of the filter
> > > > might be much bigger than actual rc, given to this function. Actual
> > > > needRect
> > >
> > > is
> > >
> > > >  calculated in KisLayer::updateProjection and is know only there.
> > >
> > > Maybe it's better to have it in kis_filter_mask instead? For now it's
> > > unfortunately needed, and I think a refactor of this thing should wait
> > > until
> > > 2.2.
> >
> > Unfortunately, not. NeedRects of all the masks have to be be calculated
> > together. Take a look at KisLayer::masksChangeRect/masksNeedRect
> functions.
>
> Fortunately, it works for those filters that need a copy, namely the
> convolution filters.
>

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.


>  > It means that filters do not conform KisFilter's interface of src and
> dst.
> > And we shouldn't introduce workaround for it. We just need to make the
> > filter follow the rules and fix it =) (i hope, blur filter is the only
> >  one?)
>
> All convolution filters have the same problem. It's not a problem with the
> filters per se, but with the convolution painter.
>

damn!
Well, Boud, isn't it easier to fix a bug in convolution painter than to
create a garbage from our KisLayer/Mask code?


PS:
I simply can't understand, why are you going to fix KisLayer and KisMask, if
you know exactly that real problem is inside KisConvolutionPainter?

I don't understand something, do i?

-- 
Dmitry Kazakov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20091002/f5a6a004/attachment.htm 


More information about the kimageshop mailing list