Bug 390952

Summary: Add an option to snap to pixels when moving and/or editing vectors (not only when creating them)
Product: [Applications] krita Reporter: Vladimir Savic <vladimir.firefly.savic>
Component: Layers/VectorAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: freebox64, halla
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:

Description Vladimir Savic 2018-02-23 14:22:27 UTC
When creating a vector object your mouse input gets immediately snapped to pixels. Once you've created an object there is no way to snap to pixels. One has to make 1x1 px grid lines to do the precise editing.

Currently I do it like this:
1) I make a 1x1 grid (default is 20, IIRC)
2) Turn off Grid visibility
3) Turn on Pixel grid visibility (it looks much nicer anyway)
4) Turn on Snap to grid
5) Do the editing
Comment 1 Kuntal Majumder 2019-04-24 01:49:36 UTC
Git commit 6ed7702746f4ddb3feab57e10b0220e4872b1076 by Kuntal Majumder.
Committed on 24/04/2019 at 01:41.
Pushed by kuntalmajumder into branch 'master'.

Add pixel snap mode to canvas

This patch adds a Pixel snap mode to the global snapping menu.
Pixel snapping is just snapping to every next pixel, think of it
as Grid Snapping with a Grid of 1px width and 0px offset.

Reviewed By: @dkazakov
Reference : kde/krita!9

M  +1    -0    krita/krita4.xmlgui
M  +11   -0    krita/kritamenu.action
M  +2    -1    libs/flake/KoSnapGuide.h
M  +1    -0    libs/ui/CMakeLists.txt
A  +56   -0    libs/ui/canvas/KisSnapPixelStrategy.cpp     [License: LGPL]
C  +13   -28   libs/ui/canvas/KisSnapPixelStrategy.h [from: libs/ui/canvas/kis_snap_config.cpp - 054% similarity]
M  +3    -0    libs/ui/canvas/kis_canvas2.cpp
M  +12   -0    libs/ui/canvas/kis_guides_manager.cpp
M  +1    -0    libs/ui/canvas/kis_guides_manager.h
M  +2    -1    libs/ui/canvas/kis_snap_config.cpp
M  +8    -0    libs/ui/canvas/kis_snap_config.h
M  +2    -0    libs/ui/kis_config.cc

https://invent.kde.org/kde/krita/commit/6ed7702746f4ddb3feab57e10b0220e4872b1076