/// <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);
        }