namespace UnityEngine.InputSystem.LowLevel
{
///
/// Interface for classes that can receive text input events.
///
///
/// This interface should be implemented by devices that are meant to receive text
/// input through .
///
///
///
public interface ITextInputReceiver
{
///
/// A single, fully-formed Unicode character has been typed on the device.
///
/// Character that was typed. Note that in case the character is part of
/// a surrogate pair, this method is called first with the high surrogate and then with the
/// low surrogate character.
///
/// This method is called on a device when a is received
/// for the device. is the
/// from the event.
///
/// Note that this method will be called *twice* for a single
/// in case the given UTF-32 (encoding in the event) needs to be represented as UTF-16
/// (encoding of char in C#) surrogate.
///
void OnTextInput(char character);
///
/// Called when an IME composition is in-progress or finished.
///
/// The current composition.
///
///
///
/// The method will be repeatedly called with the current string while composition is in progress.
/// Once composition finishes, the method will be called one more time with a blank composition
/// string.
///
void OnIMECompositionChanged(IMECompositionString compositionString);
}
}