Bug 322344 - Tilt mirrors with image!
Summary: Tilt mirrors with image!
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (show other bugs)
Version: 2.7 Pre-Alpha
Platform: Microsoft Windows Microsoft Windows
: NOR minor
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2013-07-14 12:30 UTC by Odysseas
Modified: 2013-11-05 14:10 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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