Lines Matching defs:handle

139     Node *node_towards = _parent->nodeToward(this); // node in direction of this handle
146 // The handle becomes degenerate.
152 // Only 1 handle becomes degenerate
163 // If the segment between the handle and the node
209 /* for smooth nodes, we need to rotate the other handle so that it's colinear
214 // for symmetric nodes, place the other handle on the opposite side
272 case NODE_CUSP: return _("Cusp node handle");
273 case NODE_SMOOTH: return _("Smooth node handle");
274 case NODE_SYMMETRIC: return _("Symmetric node handle");
275 case NODE_AUTO: return _("Auto-smooth node handle");
290 // when Shift+S is pressed when hovering over a handle belonging to a cusp node,
291 // hold this handle in place; otherwise process normally
292 // this handle is guaranteed not to be degenerate
356 // direction of the handle, change to Ray instead of Line
415 // with Shift, if the node is cusp, rotate the other handle as well
436 // hide the handle if it's less than dragtolerance away from the node
449 // HACK: If the handle was dragged out, call parent's ungrabbed handler,
494 more = C_("Path handle tip", "more: Shift, Ctrl, Alt");
496 more = C_("Path handle tip", "more: Ctrl");
498 more = C_("Path handle tip", "more: Ctrl, Alt");
503 return format_tip(C_("Path handle tip",
508 return format_tip(C_("Path handle tip",
514 return C_("Path handle tip",
515 "<b>Shift+Alt</b>: preserve handle length and rotate both handles");
517 return C_("Path handle tip",
518 "<b>Alt</b>: preserve handle length while dragging");
524 return format_tip(C_("Path handle tip",
528 return format_tip(C_("Path handle tip",
529 "<b>Ctrl</b>: Move handle by his actual steps in BSpline Live Effect"));
531 return format_tip(C_("Path handle tip",
540 "<b>Shift</b>: move handle");
546 return format_tip(C_("Path handle tip",
547 "<b>Auto node handle</b>: drag to convert to smooth node (%s)"), more);
550 return format_tip(C_("Path handle tip",
551 "<b>Auto node handle</b>: drag to convert to smooth node (%s)"), more);
553 return format_tip(C_("Path handle tip",
554 "<b>BSpline node handle</b>: Shift to drag, double click to reset (%s). %g power"),more,_pm()._bsplineHandlePosition(h));
573 Glib::ustring ret = format_tip(C_("Path handle tip",
574 "Move handle by %s, %s; angle %.2f°, length %s"), x->str, y->str, angle, len->str);
651 // if the node has a smooth handle after a line segment, it should be kept colinear
692 /* Affine transforms keep handle invariants for smooth and symmetric nodes,
719 /* This method restores handle invariants for neighboring nodes,
730 * Rotate the appropriate handle to be colinear with the segment.
732 Handle *handle, *other_handle;
735 handle = &_back;
739 handle = &_front;
744 if (_type == NODE_SMOOTH && !handle->isDegenerate()) {
745 handle->setDirection(other->position(), new_pos);
747 // also update the handle on the other end of the segment
812 // if update_handles is true, adjust handle positions to match the node type
813 // handle degenerate handles appropriately
832 // For a node that is already smooth and has a degenerate handle,
833 // drag out the second handle without changing the direction of the first one.
845 // if the front handle is degenerate and this...next is a line segment,
846 // make back colinear; otherwise pull out the other handle
885 // back handle to front handle. This also works correctly for degenerates
936 // check whether the handle aligns with the previous line segment.
1028 // First handle the trivial case of growing over an unselected node.
1179 // determine which handle to drag out based on degeneration and the direction of drag
1289 // with Ctrl+Alt, constrain to handle lines
1290 // project the new position onto a handle line that is closer;
1291 // also snap to perpendiculars of handle lines
1307 // from the second handle constraint
1384 g_error("Node::nodeToward(): handle is not a child of this node!");
1408 g_error("Node::nodeAwayFrom(): handle is not a child of this node!");
1421 "<b>Shift+Ctrl:</b> drag out a handle and snap its angle "
1425 "<b>Shift</b>: drag out a handle, click to toggle selection");
1432 return C_("Path node tip", "<b>Ctrl+Alt</b>: move along handle lines, click to delete node");
1663 // otherwise the code that updates handle visibility will break