Bug 319130

Summary: It seems when I change brush size, texture pattern is not aligned to previous stroke. I attached image with few brush strokes with same brush settings, just varying size:
Product: [Applications] krita Reporter: bartosz.styperek
Component: Brush enginesAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: minor CC: dimula73, halla
Priority: NOR    
Version: 2.7 Pre-Alpha   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:

Description bartosz.styperek 2013-04-30 19:53:40 UTC
It seems when I change brush size,  texture pattern is not aligned to previous stroke. I attached image with few brush strokes with same brush settings, just varying size:

Reproducible: Always

Steps to Reproduce:
1. Use brush with some  texture pattern 
2. paint one stroke with texture
3. Change brush size. 
4. Paint another stroke
Actual Results:  
http://i48.tinypic.com/acqvlj.jpg

Expected Results:  
I wish pattern would be aligned without seams.

Krita is awesome
Comment 1 Halla Rempt 2013-05-18 08:44:34 UTC
Hi Bartosz,

Thanks for your report. I can confirm the issue. I'm not sure how easy it'll be to fix, though.
Comment 2 Dmitry Kazakov 2013-10-15 09:04:58 UTC
Git commit 2352dfa1079930fa743172654d01ca8619d4b35c by Dmitry Kazakov.
Committed on 15/10/2013 at 09:04.
Pushed by dkazakov into branch 'krita-wintab-kazakov'.

Fixed offset of the texture for the brushes which might have subpixel precision

Activation of the subpixel precision caused offset for the brushes with
even sizes (due to some rounding). Now the offset is directly calculated
directly basing on the topLeft corner of the dab, which eliminates the
subpixel precision influence.
Related: bug 326011

M  +4    -3    krita/plugins/paintops/colorsmudge/kis_colorsmudgeop.cpp
M  +1    -1    krita/plugins/paintops/colorsmudge/kis_colorsmudgeop.h
M  +1    -0    krita/plugins/paintops/defaultpaintops/brush/kis_brushop.cpp
M  +1    -1    krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.cpp
M  +7    -6    krita/plugins/paintops/filterop/kis_filterop.cpp
M  +2    -1    krita/plugins/paintops/hatching/kis_hatching_paintop.cpp
M  +14   -7    krita/plugins/paintops/libpaintop/kis_dab_cache.cpp
M  +7    -1    krita/plugins/paintops/libpaintop/kis_dab_cache.h
M  +0    -3    krita/plugins/paintops/libpaintop/kis_texture_option.cpp
M  +1    -1    krita/plugins/paintops/sketch/kis_sketch_paintop.cpp
A  +-    --    krita/ui/tests/data/auto_textured_17.kpp
A  +-    --    krita/ui/tests/data/auto_textured_38.kpp
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_17.kpp_incremental_cancelled_external.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_17.kpp_incremental_cancelled_internal.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_17.kpp_incremental_finished_external.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_17.kpp_incremental_finished_internal.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_17.kpp_indirect_cancelled_external.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_17.kpp_indirect_cancelled_internal.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_17.kpp_indirect_finished_external.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_17.kpp_indirect_finished_internal.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_38.kpp_incremental_cancelled_external.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_38.kpp_incremental_cancelled_internal.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_38.kpp_incremental_finished_external.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_38.kpp_incremental_finished_internal.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_38.kpp_indirect_cancelled_external.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_38.kpp_indirect_cancelled_internal.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_38.kpp_indirect_finished_external.png
A  +-    --    krita/ui/tests/data/freehand/freehand_auto_textured_38.kpp_indirect_finished_internal.png
M  +12   -0    krita/ui/tests/freehand_stroke_test.cpp
M  +2    -0    krita/ui/tests/freehand_stroke_test.h

http://commits.kde.org/calligra/2352dfa1079930fa743172654d01ca8619d4b35c