Bug 322344

Summary: Tilt mirrors with image!
Product: [Applications] krita Reporter: Odysseas <xb_creations>
Component: Brush enginesAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: minor CC: animtim, dimula73, halla, info, xb_creations
Priority: NOR Keywords: reproducible, usability
Version: 2.7 Pre-Alpha   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:

Description Odysseas 2013-07-14 12:30:20 UTC
I noticed a curious behavior in brushes that use tilt to control the tip rotation: While in normal view it is working perfectly, in mirror view the tilt is also 'mirrored', so when I rotate to one direction, the tip rotates to the opposite.

Reproducible: Always

Steps to Reproduce:
1. Pick a brush with rotation controlled by Ascension
2. Mirror View
3. Draw a line with veried tilt angles
Actual Results:  
The brush tip movement is mirrored

Expected Results:  
Brush tip controls are unaffected by mirror view

While it is not that critical, it is good to figure this out. I did  not observe any other issues with mirror view so far.
Comment 1 Halla Rempt 2013-07-20 10:51:43 UTC
Hi,

Thanks for the report. There are some other issues with mirror/rotation affecting the brush tip, too.
Comment 2 Dmitry Kazakov 2013-08-08 20:09:35 UTC
Hi, Odysseas!

Could you please check whether the bug is still present in master? I guess, it should have been fixed by my commit yesterday.
Comment 3 Dmitry Kazakov 2013-08-08 21:10:25 UTC
Animtim tested the bug and reported that the bug is fixed. There is still an outline problem, but this is a different story ;)
Comment 4 Odysseas 2013-08-08 22:28:16 UTC
Hi Dimitry,
I just checked the latest update and the problem is fixed!
It was not just with mirror, but also with canvas rotation. Yes, the outline or 3d brush still rotate in the  wrong direction.
Thanks!
Comment 5 David REVOY 2013-08-09 10:20:17 UTC
I tested and confirm what Odysseas saw  ; fixed ! except for the 'brush outline'. 

Btw, for this type of sensor, it would be super interesting to have the rotation feedback via the outline in real time. ( all rotation sensor, btw , except fuzzy ones ).
Comment 6 animtim 2013-10-28 09:25:23 UTC
Please re-open this bug, some issues are back since latest mirror-mode jaggy lines fix:

-using a brush with no rotation effect at all, paining in mirror mode is good but the cursor's brush outline is mirrored (of course, it shouldn't): half good.

-using a brush with Direction rotation effect, both painting and brush outline are correct: good.

-using Tilt (Ascension) rotation, both the brush painting and outline is mirrored: not good.
Comment 7 Dmitry Kazakov 2013-11-05 14:10:50 UTC
Git commit 6817ebef9490e1c117bcb0eacedf4d3eab89c088 by Dmitry Kazakov.
Committed on 05/11/2013 at 14:08.
Pushed by dkazakov into branch 'master'.

Fix painting when a Canvas or Dab is mirrored and/or Rotated

The angle should flip *only* when the dab is mirrored, not the canvas.

This patch also adds a very detailed unittest for it :)

M  +2    -0    krita/plugins/paintops/defaultpaintops/CMakeLists.txt
A  +10   -0    krita/plugins/paintops/defaultpaintops/brush/tests/CMakeLists.txt
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/LR_simple.kpp
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_0_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_10_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_0_cR_20_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_0_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_10_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_0_cmX_1_cR_20_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_0_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_10_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_0_cR_20_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_0_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_10_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_0_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_0_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_0_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_0_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_0_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_0_dmY_1_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_1_dmY_0_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_1_dmY_0_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_1_dmY_0_dR_20_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_1_dmY_1_dR_0_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_1_dmY_1_dR_10_paint1_paintDevice.png
A  +-    --    krita/plugins/paintops/defaultpaintops/brush/tests/data/brushop/simple_cmY_1_cmX_1_cR_20_dmX_1_dmY_1_dR_20_paint1_paintDevice.png
A  +158  -0    krita/plugins/paintops/defaultpaintops/brush/tests/kis_brushop_test.cpp     [License: GPL (v2+)]
A  +31   -0    krita/plugins/paintops/defaultpaintops/brush/tests/kis_brushop_test.h     [License: GPL (v2+)]
M  +1    -3    krita/plugins/paintops/libpaintop/kis_dab_cache.cpp
M  +4    -0    krita/plugins/paintops/libpaintop/kis_pressure_mirror_option.cpp
M  +4    -1    krita/plugins/paintops/libpaintop/kis_pressure_mirror_option.h
M  +22   -0    krita/sdk/tests/qimage_based_test.h

http://commits.kde.org/calligra/6817ebef9490e1c117bcb0eacedf4d3eab89c088