Mirror strokes feature

LukasT.dev@gmail.com lukast.dev at gmail.com
Mon Oct 18 10:18:14 CEST 2010

On Sunday 17 October 2010 13:48:19 Adam C. wrote:
> o KisTool
>    Quite easy to implement, because you would only have to mirror the  
> coordinates and
>    the mask. one wouldn't have to care about paintops supporting it or
> not.   i can't
>    judge the memory and performance impact though.
>    we would have some duplicated code for other tools (rect, ellipse
> etc),   unless we
>    refactor it, so that tools have a part of their ui in common.

Problem is that the tool does not know nothing about the brush mask.
KisPainter::bitBlt* family is called in the paintop. Tool so far
tell the paintop to paint line on the device.

That's why I would like to add the UI to the tool and tool would tell the 
paintop: work in the mirror mode and paintop calls bitBlt with normal and 
mirrored mask in that mode.

Can you go into more details? Maybe I miss something.

Other problem is that this solution does not solve the mirroring of the
behaviour, but that is maybe different feature I'm trying to mix.
It does not solve when you want to smudge/deform/duplicate both sides of the 

One solution would be to create two instances of paintops but then it will not 
work for paintops which are driven by random numbers, e.g. spray distribute 
the particles randomly. Maybe it might be new mode like "mirror behaviour", 
"mirror mask", ...

Regarding the implementation:
The layer would be the coolest solution, but I personally would like to start 
with some simple iteration in the tools/paintops. If anyone wants to implement 
this feature as we feel it should be --  as layer mode, I would stop to work 
on this and move on the other feature from the feature list and leave it for 
somebody else. 

The question is: Is anyone going to implement mirroring as layer mode for 2.4?
If no, can I implement it in the tool/paintops?

More information about the kimageshop mailing list