Cursor tweaks and code cleanup

- CursorManager code cleanup.
- Diagonal and flat curve cursors now use our bundled cursor icons.
  Icons are now less intrusive, allowing you to see what's going on
  under them as you manipulate the nodes.
- New small crosshair icon for curves.
This commit is contained in:
Morgan Hardwood
2018-08-28 23:45:48 +02:00
parent 54ff8788e6
commit 8bc0df571e
7 changed files with 333 additions and 141 deletions

View File

@@ -559,7 +559,7 @@ bool MyDiagonalCurve::handleEvents (GdkEvent* event)
getCursorPosition(Gdk::EventType(event->type), event->motion.is_hint != 0, int(event->button.x), int(event->button.y), Gdk::ModifierType(event->button.state));
findClosestPoint();
new_type = CSMove;
new_type = CSMove2D; // Shown when dragging a node.
if (distanceX > minDistanceX) {
if (mod_type & GDK_CONTROL_MASK) {
@@ -735,7 +735,7 @@ bool MyDiagonalCurve::handleEvents (GdkEvent* event)
}
if (distanceX <= minDistanceX) {
new_type = CSMove;
new_type = CSMove2D; // Shown on node release.
lit_point = closest_point;
} else {
new_type = CSPlus;
@@ -799,7 +799,7 @@ bool MyDiagonalCurve::handleEvents (GdkEvent* event)
lit_point = -1;
} else if (distanceX <= minDistanceX) {
// the cursor is close to an existing point
new_type = CSMove;
new_type = CSPlus; // Shown when hovering over node snapping distance (not necessarily over node).
lit_point = closest_point;
} else {
// the cursor is inside the graph but away from existing points