[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Re: Patch to fix selection test and mask extent
From:       Dmitry Kazakov <dimula73 () gmail ! com>
Date:       2010-04-09 18:48:26
Message-ID: x2yae32c1ef1004091148wcb8ce565uaf561280f280169c () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


>
> But doesn't that mean that the current rectangle is too eager ?
>
> I mean, imagine we have (x1,y1,x2,y2):
> paintlayer rect = (10,10,20,20)
>        transparencymask rect = (14,14,18,18)
>
> if we paint on paint layer on area (9,9,11,11), it shouldn't trigger any
> update, right ?
>
> I wonder what effect it has if for instance we have this:
> paintlayer rect = (10,10,20,20)
>        transparencymask rect = (14,14,18,18)
>        blur filter
>
> Does that mean that we recompute the filter on the (10,10,20,20) area ?
>

He-he... That is exactly what i have been working for last two month ;)
The crop of the update area is done using changeRect() function of the
transparency mask, so there won't be any update if the dirty rect is outside
the selection. There is a test for this even:
KisWalkersTest::testMasksOverlapping().

Though in your very case there will be an update, because the cropping is
done by selectedRect() function, not selectedExactRect() and your rects are
placed in the same tile. I haven't tested how slowlier it would be if i used
selectedExactRect(), though it worth investigating.


-- 
Dmitry Kazakov

[Attachment #5 (text/html)]

<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px \
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">But \
doesn&#39;t that mean that the current rectangle is too eager ?<br>

<br>
I mean, imagine we have (x1,y1,x2,y2):<br>
paintlayer rect = (10,10,20,20)<br>
            transparencymask rect = (14,14,18,18)<br>
<br>
if we paint on paint layer on area (9,9,11,11), it shouldn&#39;t trigger any<br>
update, right ?<br>
<br>
I wonder what effect it has if for instance we have this:<br>
paintlayer rect = (10,10,20,20)<br>
            transparencymask rect = (14,14,18,18)<br>
            blur filter<br>
<br>
Does that mean that we recompute the filter on the (10,10,20,20) area \
?<br></blockquote><div><br>He-he... That is exactly what i have been working for last \
two month ;)<br>The crop of the update area is done using changeRect() function of \
the transparency mask, so there won&#39;t be any update if the dirty rect is outside \
the selection. There is a test for this even: \
KisWalkersTest::testMasksOverlapping().<br> <br>Though in your very case there will \
be an update, because the cropping is done by selectedRect() function, not \
selectedExactRect() and your rects are placed in the same tile. I haven&#39;t tested \
how slowlier it would be if i used selectedExactRect(), though it worth \
investigating.<br> <br></div></div><br>-- <br>Dmitry Kazakov<br>



_______________________________________________
kimageshop mailing list
kimageshop@kde.org
https://mail.kde.org/mailman/listinfo/kimageshop


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic