import enum inkInputHintHoldIndicationType : Uint8
{
	FromInputConfig,
	Press,
	Hold,
}

importonly struct inkInputKeyData
{
	public import static function SetInputKey( self : inkInputKeyData, inputKey : EInputKey );
	public import static function SetInputCustomKey( self : inkInputKeyData, inputKey : EInputCustomKey );
	public import static function SetIsHoldInput( self : inkInputKeyData, isHoldInput : Bool );
}

importonly class inkInputDisplayController extends inkLogicController
{
	public import function SetInputKey( inputKeyData : inkInputKeyData );
	public import function SetFixedIconHeight( fixedIconHeight : Float );
	public import function GetInputAction() : CName;
	public import function SetInputAction( actionName : CName );
	public import function SetVisible( visible : Bool );
	public import function SetHoldIndicatorType( type : inkInputHintHoldIndicationType );
}

class LabelInputDisplayController extends inkInputDisplayController
{
	private editable var m_inputLabel : inkTextRef;

	public function SetInputActionLabel( actionName : CName, const label : ref< String > )
	{
		inkTextRef.SetText( m_inputLabel, label );
		SetInputAction( actionName );
	}

}

