namespace Ryujinx.Input.Assigner
{
///
/// An interface that allows to gather the driver input info to assign to a button on the UI.
///
public interface IButtonAssigner
{
///
/// Initialize the button assigner.
///
void Initialize();
///
/// Read input.
///
void ReadInput();
///
/// Check if a button was pressed.
///
/// True if a button was pressed
bool IsAnyButtonPressed();
///
/// Indicate if the user of this API should cancel operations. This is triggered for example when a gamepad get disconnected or when a user cancel assignation operations.
///
/// True if the user of this API should cancel operations
bool ShouldCancel();
///
/// Get the pressed button that was read in by the button assigner.
///
/// The pressed button that was read
Button? GetPressedButton();
}
}