Bug 251168

Summary: shear and rotate doesn't work always
Product: [Applications] krita Reporter: Adam C <bugs_kde_org2>
Component: Tools/TransformAssignee: Sven Langkamp <sven.langkamp>
Status: RESOLVED FIXED    
Severity: normal CC: halla
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: result of shear

Description Adam C 2010-09-14 01:28:47 UTC
Version:           unspecified
OS:                Linux

The following is not working correctly
Image -> Shear image (Shape layer don't shear at all, pixel layer have wrong position
Image -> Rotate -> .. (Shape layer resize, pixel layer work)
Layer -> Mirror .. (Shape layer don't mirror, pixel layer are in wrong position)
Layer -> Rotate -> .. (same as image rotate)
Layer -> Scale layer (disabled for shape layer)

some defects only occur, if there are some strokes outside the canvas (grey area).


Reproducible: Always
Comment 1 Sven Langkamp 2010-10-18 18:51:57 UTC
SVN commit 1187215 by langkamp:

fix scale layer for shape layers
CCBUG:251168


 M  +2 -2      plugins/extensions/imagesize/imagesize.cc  
 M  +4 -5      ui/kis_layer_manager.cc  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1187215
Comment 2 Sven Langkamp 2010-10-18 19:35:33 UTC
SVN commit 1187223 by langkamp:

fix mirroring of layers
CCBUG:251168


 M  +22 -2     kis_layer_manager.cc  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1187223
Comment 3 Sven Langkamp 2010-10-18 19:45:35 UTC
Mirror and scale are fixed. Rotate work for me.
I'm not sure how to fix shear. It should similar to rotate, but when I apply the shear values Krita freezes :/
Comment 4 Halla Rempt 2011-10-16 14:42:25 UTC
Created attachment 64592 [details]
result of shear
Comment 5 Halla Rempt 2011-10-16 14:42:57 UTC
I can confirm adam's report, I don't get a freeze. See attachment.
Comment 6 Sven Langkamp 2011-10-16 14:48:00 UTC
What I meant was when I added the shear in the code it would hang. Currently there is no shear for shape layers.
Comment 7 Dmitry Kazakov 2013-01-08 15:25:36 UTC
Git commit 98f3d8f453faeb49f0f2cc99c18cb393a7542835 by Dmitry Kazakov.
Committed on 08/01/2013 at 16:18.
Pushed by dkazakov into branch 'master'.

Fixed several bugs of transforming Shape/Paint layers

This patch fixes several problems:
1) Fixes the updates of the clone layer, when changing
   its source's mask
2) Fixes updates for undo of a transformation of a layer
   having both clone and a mask
3) Fixes Mirroring of a paint layer with odd size
4) Fixes Undo for transformations on Shape Layers
5) Adds a Unit Test for all this.
Related: bug 312734, bug 312742, bug 312750

M  +6    -0    krita/image/kis_base_rects_walker.h
M  +13   -0    krita/image/kis_image.cc
M  +29   -0    krita/image/kis_image.h
M  +3    -0    krita/image/kis_image_interfaces.h
M  +1    -0    krita/image/kis_mask.cc
M  +44   -2    krita/image/kis_processing_applicator.cpp
M  +2    -2    krita/image/kis_transform_worker.cc
M  +28   -0    krita/sdk/tests/qimage_based_test.h
A  +159  -0    krita/sdk/tests/ui_manager_test.h     [License: GPL (v2+)]
M  +23   -13   krita/ui/flake/kis_shape_layer_canvas.cpp
M  +6    -3    krita/ui/flake/kis_shape_layer_canvas.h
M  +6    -0    krita/ui/tests/CMakeLists.txt
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_tmask1_paintDevice.png
A  +202  -0    krita/ui/tests/kis_node_manager_test.cpp     [License: GPL (v2+)]
A  +40   -0    krita/ui/tests/kis_node_manager_test.h     [License: GPL (v2+)]
M  +3    -121  krita/ui/tests/kis_selection_manager_test.cpp

http://commits.kde.org/calligra/98f3d8f453faeb49f0f2cc99c18cb393a7542835
Comment 8 Inge Wallin 2013-01-14 03:30:51 UTC
Git commit eaa023c1e36b2daad2def75c44f1170684dadd24 by Inge Wallin, on behalf of Dmitry Kazakov.
Committed on 08/01/2013 at 16:18.
Pushed by ingwa into branch 'text-annotations-ingwa'.

Fixed several bugs of transforming Shape/Paint layers

This patch fixes several problems:
1) Fixes the updates of the clone layer, when changing
   its source's mask
2) Fixes updates for undo of a transformation of a layer
   having both clone and a mask
3) Fixes Mirroring of a paint layer with odd size
4) Fixes Undo for transformations on Shape Layers
5) Adds a Unit Test for all this.
Related: bug 312734, bug 312742, bug 312750

M  +6    -0    krita/image/kis_base_rects_walker.h
M  +13   -0    krita/image/kis_image.cc
M  +29   -0    krita/image/kis_image.h
M  +3    -0    krita/image/kis_image_interfaces.h
M  +1    -0    krita/image/kis_mask.cc
M  +44   -2    krita/image/kis_processing_applicator.cpp
M  +2    -2    krita/image/kis_transform_worker.cc
M  +28   -0    krita/sdk/tests/qimage_based_test.h
A  +159  -0    krita/sdk/tests/ui_manager_test.h     [License: GPL (v2+)]
M  +23   -13   krita/ui/flake/kis_shape_layer_canvas.cpp
M  +6    -3    krita/ui/flake/kis_shape_layer_canvas.h
M  +6    -0    krita/ui/tests/CMakeLists.txt
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/initial/initial_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorX/paint_mirrorX_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_mirrorY/paint_mirrorY_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_rotated_30/paint_rotated_30_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_scale_0.5/paint_scale_0.5_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/paint_shear_30/paint_shear_30_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_mirrorX/shape_mirrorX_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_rotated_30/shape_rotated_30_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_scale_0.5/shape_scale_0.5_tmask1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_blur1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_blur1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_blur1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_clone1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_clone1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_paint1_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_paint1_paintDevice.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_paint1_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_root_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_root_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_shape_original.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_shape_projection.png
A  +-    --    krita/ui/tests/data/node_manager_test/shape_shear_30/shape_shear_30_tmask1_paintDevice.png
A  +202  -0    krita/ui/tests/kis_node_manager_test.cpp     [License: GPL (v2+)]
A  +40   -0    krita/ui/tests/kis_node_manager_test.h     [License: GPL (v2+)]
M  +3    -121  krita/ui/tests/kis_selection_manager_test.cpp

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