| Summary: | mirroring a rectangular selection repeatedly causes artefacts | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | Ren <siebtzen> |
| Component: | Tools/Transform | Assignee: | Krita Bugs <krita-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | dimula73, halla |
| Priority: | NOR | ||
| Version First Reported In: | 2.8 Pre-Alpha | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | All | ||
| Latest Commit: | http://commits.kde.org/calligra/fcaa19849852f7eb2635bcbda4892390ff18e51d | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Ren
2013-07-24 21:31:15 UTC
I hadn't realised you can actually mirror your image with the M key - when I do that the selection stays selected, which is the behaviour I'd expect when using the button on the UI (which is what causes the behaviour I described). Well, moving the selection after both types of mirroring works for me, but there is another bug: When you mirror image with selection twice (or more), some weird lines can appear on the canvas: http://wstaw.org/m/2013/08/08/plasma-desktopky2702.jpg Worse: this is not just a weird line, the selection actually breaks down, as if there is an off-by one error to the right of the mask. After mirroring several times until the error appears, then pressing cut cuts out the vertical line under the right-hand selection artefact _and_ does not cut out a corresponding line inside the real selection! Git commit fcaa19849852f7eb2635bcbda4892390ff18e51d by Dmitry Kazakov.
Committed on 11/11/2013 at 11:16.
Pushed by dkazakov into branch 'master'.
Rewrite the device mirroring code
This patch does effectively three things:
1) Implements new mirroring algorithm, which
+ doesn't have rounding bugs of the previous one
+ works 4-5 times faster that the previous one
+ is the same for Horizontal and Vertical mirroring
2) Ports mirroring to the Strokes Framework (implements
new KisMirrorProcessingVisitor)
3) Fixes exact bounds cache reset in KisPaintDevice
M +1 -0 krita/image/CMakeLists.txt
M +4 -0 krita/image/kis_paint_device.cc
M +163 -97 krita/image/kis_transform_worker.cc
M +13 -10 krita/image/kis_transform_worker.h
A +65 -0 krita/image/processing/kis_mirror_processing_visitor.cpp [License: GPL (v2+)]
A +39 -0 krita/image/processing/kis_mirror_processing_visitor.h [License: GPL (v2+)]
M +66 -33 krita/image/tests/kis_transform_worker_test.cpp
M +9 -2 krita/image/tests/kis_transform_worker_test.h
M +0 -1 krita/ui/CMakeLists.txt
D +0 -158 krita/ui/kis_mirror_visitor.cpp
D +0 -48 krita/ui/kis_mirror_visitor.h
M +15 -13 krita/ui/kis_node_manager.cpp
http://commits.kde.org/calligra/fcaa19849852f7eb2635bcbda4892390ff18e51d
|