Function constrain_drag

Source
fn constrain_drag(
    kind: ShapeKind,
    from: Pos2,
    to: Pos2,
    modifiers: Modifiers,
) -> (Pos2, Pos2)
Expand description

Shift locks the shape’s aspect (square / circle / 45°-stepped line); Alt anchors it on the press point instead of corner-to-corner, so it grows symmetrically from where the drag started. Returns the two corners draw_shape_preview (and the final shape) should use in place of the raw press/cursor, so the live preview and what actually gets created always agree.