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.
Hi, Thanks for the report. There are some other issues with mirror/rotation affecting the brush tip, too.
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.
Animtim tested the bug and reported that the bug is fixed. There is still an outline problem, but this is a different story ;)
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!
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 ).
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.
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