Bug 404606 - Pivot point for shear transforms is not used for interactive (on-screen) transform.
Summary: Pivot point for shear transforms is not used for interactive (on-screen) tran...
Status: ASSIGNED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: 4.1.7
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2019-02-20 16:37 UTC by Victor Wren
Modified: 2021-09-20 12:19 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Comparison of interactive shear behavior. (51.24 KB, image/jpeg)
2019-02-20 16:37 UTC, Victor Wren
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Victor Wren 2019-02-20 16:37:48 UTC
Created attachment 118217 [details]
Comparison of interactive shear behavior.

When using "Transform a layer or selection" the shear transform should honor the selected center point in the same way the other rectangular transforms do (scale & rotate) when dragging with the mouse. Currently the behavior is inconsistent, because the center point is honored when using the tool options and manually dragging the X and Y bars in the tool options window, but not when using the mouse drag for interactive shear/skew.

To reproduce:
Make a box selection.
Activate transform tool (CTRL-T).
In Tool Options, activate the pivot point and shear transform check boxes.
Drag the pivot point well off-center from the box or use one of the directional arrows in the Tool Options to throw it to an edge or corner.
Drag the X and Y sliders and notice the behavior of the transform box on-screen.
   The pivot point will not move on-screen, and the shear transform will happen around it.
Now click and drag on one of the edges of the transform box to perform an interactive on-screen shear.
   The pivot point will be ignored and the shear will happen from the center of the box, causing the pivot point to move around.
Note that the on-screen dragging for scale and rotate honors the pivot point.

This was listed as fixed before version 3.0, but it still behaves inconsistently in 4.1.7 (perhaps because of new pivot-point functionality added in 4.1)
https://bugs.kde.org/show_bug.cgi?id=337973
Comment 1 Dmitry Kazakov 2021-05-24 11:44:48 UTC
I think it got fixed in Krita 5 nightlies. The only trouble I can see is that neither rotation, nor shear cares about the "lock pivot point" switch. It is basically always activated for these modes. I'm not sure whether that can be considered as a bug or not though...
Comment 2 Victor Wren 2021-05-24 12:57:31 UTC
Having shear and rotate ignore the pivot-point switch isn't much of an issue. I'm honestly not sure if the pivot point switch is even essential.  It is meaningless for "Translate." The function of it can be duplicated in Scale (the only mode it seems to apply to) by using one of the corner or side arrow box selections.  e.g. for normal "ignore pivot point" behavior in "Scale" mode when dragging from a corner, snap the pivot point to the opposite corner with one of the arrow buttons.  For gimbal rotate, "ignore pivot point" is the same as centering it by hitting the middle box button.  It seems redundant to be able to disable the pivot point in the few modes where ignoring it is even meaningful.
Comment 3 Dmitry Kazakov 2021-05-24 14:59:44 UTC
Hi, Victor!

I have created an MR with testing packages that make Rotate and Shear modes to take pivot point button into account. Could you check if it makes the tool better or worse in comparison to Krita-nightly?

https://invent.kde.org/graphics/krita/-/merge_requests/860#note_244971