using System; namespace ImeSharp { /// /// Arguments for the event. /// public struct IMETextCompositionEventArgs { /// // Construct a TextCompositionEventArgs with composition infos. /// public IMETextCompositionEventArgs(IMEString compositionText, int cursorPosition, IMEString[] candidateList = null, int candidatePageStart = 0, int candidatePageSize = 0, int candidateSelection = 0) { CompositionText = compositionText; CursorPosition = cursorPosition; CandidateList = candidateList; CandidatePageStart = candidatePageStart; CandidatePageSize = candidatePageSize; CandidateSelection = candidateSelection; } /// /// The full string as it's composed by the IMM. /// public readonly IMEString CompositionText; /// /// The position of the cursor inside the composed string. /// public readonly int CursorPosition; /// /// The candidate text list for the composition. /// This property is only supported on WindowsDX and WindowsUniversal. /// If the composition string does not generate candidates this array is empty. /// public readonly IMEString[] CandidateList; /// /// First candidate index of current page. /// public readonly int CandidatePageStart; /// /// How many candidates should display per page. /// public readonly int CandidatePageSize; /// /// The selected candidate index. /// public readonly int CandidateSelection; } }