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.