<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: &#39;DejaVu Sans&#39;; 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&#39;s it: &quot;at least works&quot; =(<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: &#39;DejaVu Sans&#39;; 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>
&gt; What can you say about this?<br>
&gt; For me, i like the second case for simplicity of the design and<br>
&gt; maintainability, but i&#39;m afraid of some perfomance problems.<br></div>
That&#39;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&#39;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&#39;s bad. Very bad. All the tools should work in a uniform way (that is one of the main usability principles).<br>
<br>That&#39;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&#39;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: &#39;DejaVu Sans&#39;; 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&#39;t know anything about masks and selections.</div></blockquote><div><br>
I don&#39;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: &#39;DejaVu Sans&#39;; font-size: 9pt; font-weight: 400; font-style: normal;">
<div class="im">&gt; Btw, where are filters called form in Krita? I know only three places:<br>
&gt; - adj. layers<br>
&gt; - filter masks<br>
&gt; - 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 &#39;process(&#39; -R ./ |grep -v svn |grep -v &#39;::process(&#39; |grep -v void |grep -v test|less<br clear="all">
<br>So it won&#39;t be so difficult if we decide to change something =)<br><br>-- <br>Dmitry Kazakov<br>