/// <summary> /// Returns <see cref="HandlePositions.Corners"/> or <see cref="HandlePositions.Border"/> as available handle /// positions depending on the modifier state of <c>Ctrl</c>. /// </summary> /// <param name="context">The context the handles are created in.</param> /// <returns><see cref="HandlePositions.Corners"/> or <see cref="HandlePositions.Border"/></returns> public HandlePositions GetAvailableHandles(IInputModeContext context) { var ctrlPressed = KeyEventRecognizers.CtrlPressed(this, context.CanvasControl.LastMouse2DEvent); // when Ctrl is pressed, all border positions are returned, otherwise only the corner positions return(ctrlPressed ? HandlePositions.Border : HandlePositions.Corners); }