<br>
<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;"><div style="font-family: 'DejaVu Sans'; font-size: 9pt; font-weight: 400; font-style: normal;">
I commited a fix to the filter so that now at least it works like in previous version of Krita.</div></blockquote><div><br>That's it: "at least works" =(<br><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 style="font-family: 'DejaVu Sans'; font-size: 9pt; font-weight: 400; font-style: normal;"><div class="im">
<p style="margin: 0px; text-indent: 0px;"><br></p>On Tuesday 08 September 2009, Dmitry Kazakov wrote:<br>
> What can you say about this?<br>
> For me, i like the second case for simplicity of the design and<br>
> maintainability, but i'm afraid of some perfomance problems.<br></div>
That's why we choosed the first solution, with binarization of the mask. </div></blockquote><div><br>Quite strange (at least) assumption. We should think from user's point of view. That is absolutely not obvious for a user, that all the transparency masks blend colors and draw semi-transparent projections as semi-transparent, BUT transparency masks of Filter Masks do not and they use binary transparency instead. I think it's bad. Very bad. All the tools should work in a uniform way (that is one of the main usability principles).<br>
<br>That's why i suggested 2 solutions for that. There is another solution - just remove KisSelection from a KisMask class and add KisTransparencyMask hidden child instead. This solution would work quite well. BUT this won't solve other uses of KisFilter::process(...,selection).<br>
<br><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 style="font-family: 'DejaVu Sans'; font-size: 9pt; font-weight: 400; font-style: normal;">
But the second solution might be worth investigation, at least, I will need to use such a solution for Shiva based filters, since OpenShiva doesn't know anything about masks and selections.</div></blockquote><div><br>
I don't know how to make a benchmark of that, i guess, it would be interesting to look at. We could test for the cold-cache problem at least. (We could assume that big holes in a selection are quite rare and not very important).<br>
</div><div><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 style="font-family: 'DejaVu Sans'; font-size: 9pt; font-weight: 400; font-style: normal;">
<div class="im">> Btw, where are filters called form in Krita? I know only three places:<br>
> - adj. layers<br>
> - filter masks<br>
> - filter menu (actually, uses masks)<br></div>
and scripts and macro, and the filter preview model and the filter brush.<br></div></blockquote></div>Not much really:<br>fgrep 'process(' -R ./ |grep -v svn |grep -v '::process(' |grep -v void |grep -v test|less<br clear="all">
<br>So it won't be so difficult if we decide to change something =)<br><br>-- <br>Dmitry Kazakov<br>