Inconsistent angle measurements: eg it's not easy to use the Measure Tool with painting/drawing tools
Submitted by Elle Stone
Created attachment 369638 Make Measure Tool angles match paint tools angles
This bug report is a follow-up to this post:
My patch isn't a solution to the general problem of inconsistencies between angles displayed by various tools. Resolving these inconsistencies probably would take a combination of adding options to the Measure Tool, plus eliminating some of the variability in how different tools/filters/views/etc present angle measurements. Also, the code in the attached patch causes the Measure Tool to often (but I think not always) show an angle of 0 degrees when it should show 180 degrees, as I noted in a comment in the patch.
But if there can only be one option for the Measure Tool, I think matching the paint tools is perhap the best option.
Here are some example "angle measurement" inconsistencies and also some related bug reports, taken from my post to the GIMP GUI mailing list:
The "click/shift to position and paint" angle measurements measure counterclockwise from zero to 360 degrees, with zero being at the positive x-axis.
Filters/Blur/Circular Motion Blur and Linear Motion Blur angle of blur both run from 0 to 360, counterclockwise (matches the Paint tools).
The "View/Rotate View/Other Rotation Angle" angle of rotation measurements from 0 to 360, but clockwise (opposite direction from the Paint tools) from the positive x-axis.
For arbitrary rotation of a layer, the rotation measurements from always from 0 at the positive y-axis, running from -180 (counterclockwise) degrees to +180 (clockwise) degrees.
The "Measure Tool" measures the angle from the closest of the positive and negative x axes. So the maximum angle the Measure Tool will show is 90 degrees, which means there are four angles (one per quadrant) that measure 1 degree, four angles that measure 2 degrees, four that measure 3 degrees, and so on, all the way from "just over 0" to "just under 90 degrees", with 0 and 90 degrees only being measured at two angles each, being the positive and negative x and y axes, respectively.
Rotating a layer or selection to match an angle measured by the Measure Tool requires some fairly complicated adding/subtracting. Let's say you measured an angle of 27 degrees in the third quadrant. So starting from 0 rotation, add 90 degrees to get to the negative x-axis, and then add 27 more degrees, so rotate the layer or selection by 90+27=117 degrees.
Painting a straight line at a given angle that was measured using the Measure Tool requires adding/subtracting 0 or 90 or 180 or 270 degrees, depending on the direction of the painted line vs the angle measured by the Measure Tool.
Here are some possibly relevant bug reports:
add easy way to set rotation angle to straighten an image: https://bugzilla.gnome.org/show_bug.cgi?id=526719
Measure tool: saveable preset parameters: https://bugzilla.gnome.org/show_bug.cgi?id=679562
The Angle range in brush dynamics should be -180°/+180° and not 0°-360°: https://bugzilla.gnome.org/show_bug.cgi?id=787651
implement free angled guides: https://bugzilla.gnome.org/show_bug.cgi?id=344109
Patch 369638, "Make Measure Tool angles match paint tools angles":
Version: git master