Bug 381917 - Control points are very hard to select when they are occupying nearly the same space as their node.
Summary: Control points are very hard to select when they are occupying nearly the sam...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Layers/Vector (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-02 15:50 UTC by wolthera
Modified: 2018-02-20 20:42 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Proposed patch (1.68 KB, patch)
2018-02-20 15:25 UTC, Dmitry Kazakov
Details
Screenshot for color scheme (9.12 KB, image/png)
2018-02-20 15:28 UTC, Dmitry Kazakov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description wolthera 2017-07-02 15:50:51 UTC
It also doesn't help that the hover-over color both highlights the node and it's two control points, no matter which of the three you're hovering over.

Suggestion:

1. Make the point you're hovering over highlight 100%, the nodes/controlpoints that belong with it 50% highlighted, and the rest unhighlighted.
2. Maybe we need to discuss a heuristic or a rules that when pressing on a node in a certain manner, you are always controlling it's control points, and that in all other cases the main node gets picked.
3. Allow customising the highlight color, or use some kind of b&w display. Right now we're using red and green, and those can't be distinguished by people with color blindness.

This situation of controlpoint occupying same space as node is very common when ending a path with the path tool using the stylus, with a single click and then enter.
Comment 1 Dmitry Kazakov 2018-02-20 15:25:14 UTC
Created attachment 110845 [details]
Proposed patch

The patch does:
1) Highlights only the point (control point) that is actually hovered

The patch does not:
1) Not highlight the node point of the currently hovered control point (needs color choice)
2) Not fix color-blinded people problem (needs color choice)
Comment 2 Dmitry Kazakov 2018-02-20 15:28:37 UTC
Created attachment 110847 [details]
Screenshot for color scheme

Basically, if someone provides me with colors for the node types (see attached screenshot), I will easily translate it into code:

Color 1) Node point, which control point is hovered
Color 2) Hovered point color
Color 3) Non-hovered point or control point
Comment 3 wolthera 2018-02-20 16:30:29 UTC
Okay, so, Inkscape uses Blue for selected and Red for hover over.

Our options are either

1. Node selected blue
2. Node hovered control point: cyan (or a 50% mix between selected and hovered)
3. controlpoint hovered: green

Or

1. Node selected green
2. Node hovered control point: cyan (or a 50% mix between selected and hovered)
3. controlpoint hovered: blue

Or


1. Node selected blue
2. Node hovered control point: purple/fuchsia/magenta (or a 50% mix between selected and hovered)
3. controlpoint hovered: red

Or


1. Node selected red
2. Node hovered control point: purple/fuchsia/magenta (or a 50% mix between selected and hovered)
3. controlpoint hovered: blue
Comment 4 wolthera 2018-02-20 16:36:05 UTC
go with the second, I think?
Comment 5 Dmitry Kazakov 2018-02-20 20:42:15 UTC
Git commit 5507353d0768d9b1e177032af7bdfa285768aed3 by Dmitry Kazakov.
Committed on 20/02/2018 at 20:41.
Pushed by dkazakov into branch 'master'.

Fix colors for the highlight in the path shape handles

One can always change the color in:

* KisHandleStyle::highlightedPrimaryHandles()
* KisHandleStyle::partiallyHighlightedPrimaryHandles()
* KisHandleStyle::selectedPrimaryHandles()

M  +1    -0    libs/flake/KoPathPoint.h
M  +11   -2    libs/flake/tools/KoPathToolHandle.cpp
M  +15   -2    libs/global/KisHandleStyle.cpp
M  +6    -0    libs/global/KisHandleStyle.h

https://commits.kde.org/krita/5507353d0768d9b1e177032af7bdfa285768aed3
Comment 6 Dmitry Kazakov 2018-02-20 20:42:15 UTC
Git commit 92aeb4d9365f44acace741f518978005b6698213 by Dmitry Kazakov.
Committed on 20/02/2018 at 20:41.
Pushed by dkazakov into branch 'master'.

Highlight only control point that is really hovered

And paint in **on the top** so the user would see it

M  +12   -3    libs/flake/tools/KoPathToolHandle.cpp

https://commits.kde.org/krita/92aeb4d9365f44acace741f518978005b6698213