Review request: Masks support compositeOps and opacity

Boudewijn Rempt boud at valdyas.org
Wed Oct 28 16:06:40 CET 2009


On Monday 26 October 2009, Dmitry Kazakov wrote:
> > About KisBaseNode not knowing about the parent: it has been a conscious
> > desicion to separate the the graph part from the base bart. So, if
> > setCompositeOpn needs to know about the parent, there is no need for
> > duplication, move that code to KisNode from KisLayer and KisMask.
> 
> I'm fully agree that a graph part and a base one should be in separate
> classes. =)
> Don't think KisNode is a good place for compositeOp as this class is for
> graph part.
> 
> I think as a long-term solution we could swap names for KisBaseNode and
> KisNode.
> What i mean:
> 
> now:
> KisNode - graph part
> KisBaseNode - base part
> 
> how it could be:
> KisNode - base part
> KisBaseNode - graph part
> 
> In such a case every function from a base part will be able to access graph
> functions.
> 
> Just an idea...
> 
> 
> We could also decide that all nodes must have a composite op set,
> 
> > COMPOSITE_OVER by default, so they don't go back to their parent anymore.
> > That might be even simpler.
> 
> I'm afraid parent is needed as a compositeOp should be prepared for merging
> operation that is done in parent's colorSpace, that, in general case, can
> differ from this->colorSpace().
> 
> 
> -----------
> 
> > This is just from eyeballing the source: I haven't been able to run it
> > yet, because I get a compile error:
> 
> []
> 
> Ah yes! Forgot to compile tests. =)
> Here is an additional patch in attachment (should be added to the previous
> one).
> 
> I've done tests. Kis{,Base}Node tests are done successfully, but some Masks
> and Selections tests fail with segmentation. Could you check whether this
>  is a regression or not?

well, they didn't fail when we branched 2.1: in fact, we had 100% success on 
all tests at that moment. However, I enabled your tile engine and the pyramid, 
and that caused some tests to fail. I can check whether there are more 
failures with this patch, of course.

Btw, since enabling the new tile engine, saving is broken. I think Lukas is 
creating a bug for that.

-- 
Boudewijn Rempt | http://www.valdyas.org


More information about the kimageshop mailing list