Skip to content

SelTrans: fix inconsistencies with _norm, _grip, and rotation center

There are some inconsistencies when displaying the _norm, _grip, and rotation center handles:

  1. _norm and rotation center are not displayed on a black background;

  2. _grip is never displayed, even though the code updates its position and even changes its shape depending on the operation performed.

Fix these issues by using the XOR blending mode and, since the handles are only visible when dragging, set their color to 0xff0000b0 which is the color used by other handles when they are in the SP_KNOT_STATE_DRAGGING state.

Moreover to have _grip properly blended when HANDLE_CENTER is moved _norm must be hidden, otherwise the two control point would overlap (both in shape and position) and the XOR blending would produce an unintuitive result.

Finally, to effectively hide _norm, move forcing handles visibility after grab() because grab() shows both _norm and _grip by default.

Fixed bugs:

Merge request reports