Bug 323245 - Mirror View causes wavy/pixelated brush strokes
Summary: Mirror View causes wavy/pixelated brush strokes
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Unclassified
Component: Brush engines (show other bugs)
Version: git master (please specify the git hash!)
Platform: Debian unstable Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL: http://i.imgur.com/qTBKoHW.jpg
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-06 20:00 UTC by Sketch Stick
Modified: 2013-10-23 07:25 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
mirror view precision bug screenshot (118.51 KB, image/png)
2013-09-24 08:51 UTC, animtim
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sketch Stick 2013-08-06 20:00:49 UTC
Enabling Mirror View and doing a curve shows a wavy effect on the line.

Reproducible: Always

Steps to Reproduce:
1. Enable Mirror View
2. Do a curved stroke



QT Version: 4.8.5
Comment 1 Dmitry Kazakov 2013-08-07 20:12:49 UTC
Git commit ed7a9ec84efd15d6625554b0decf45b53a9950f8 by Dmitry Kazakov.
Committed on 07/08/2013 at 20:09.
Pushed by dkazakov into branch 'master'.

Fixed subpixel precision bug when the canvas or a dab is mirrored

When the dab is mirrored, the subpixel offset should be inverted.

M  +1    -1    krita/image/kis_fixed_paint_device.h
M  +47   -27   krita/plugins/paintops/libpaintop/kis_dab_cache.cpp
M  +6    -2    krita/plugins/paintops/libpaintop/kis_dab_cache.h
M  +2    -2    krita/plugins/paintops/libpaintop/kis_pressure_mirror_option.cpp
M  +8    -0    krita/plugins/paintops/libpaintop/kis_pressure_mirror_option.h

http://commits.kde.org/calligra/ed7a9ec84efd15d6625554b0decf45b53a9950f8
Comment 2 animtim 2013-09-24 08:50:14 UTC
This bug is still happening in current master!
I reported it to dmitry on irc some days ago, but only now I was about to file a new bug for it and found this one already reported..

Please re-open the bug and fix it.
Comment 3 animtim 2013-09-24 08:51:30 UTC
Created attachment 82472 [details]
mirror view precision bug screenshot
Comment 4 Dmitry Kazakov 2013-10-15 09:29:39 UTC
This bug seems to be cause by the recent fix of rotations :( I'm going to fix it soon.
Comment 5 Dmitry Kazakov 2013-10-23 07:25:52 UTC
Git commit f698a3c17151df8c08aa3c30d1389fb8f8ff77da by Dmitry Kazakov.
Committed on 23/10/2013 at 07:25.
Pushed by dkazakov into branch 'krita-wintab-kazakov'.

Fixed the subpixel precision bug when the canvas is mirrored

The problem was related to the fact that the size of the dab
changes depending on the value of the subpixel offset. This happens
due to various rounding complications. It means that if we want to keep
the hot spot of the dab unmoved, when the dab becomes mirrored, we should
change of x,y offset of the dab.

That is why the code that calculates the origin of the dab is now
moved to the KisDabCache, which handles all these complications.

M  +26   -20   krita/plugins/paintops/colorsmudge/kis_colorsmudgeop.cpp
M  +2    -2    krita/plugins/paintops/colorsmudge/kis_colorsmudgeop.h
M  +10   -19   krita/plugins/paintops/defaultpaintops/brush/kis_brushop.cpp
M  +21   -31   krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.cpp
M  +21   -39   krita/plugins/paintops/filterop/kis_filterop.cpp
M  +10   -22   krita/plugins/paintops/hatching/kis_hatching_paintop.cpp
M  +152  -101  krita/plugins/paintops/libpaintop/kis_dab_cache.cpp
M  +26   -21   krita/plugins/paintops/libpaintop/kis_dab_cache.h
M  +11   -7    krita/plugins/paintops/sketch/kis_sketch_paintop.cpp

http://commits.kde.org/calligra/f698a3c17151df8c08aa3c30d1389fb8f8ff77da