Back to API Reference
Interface

INativeInputBackend

abstract
Implements:IDisposable

Platform transport that binds one native input producer to one reporter epoch at a time.

Remarks

Methods and reporter calls use the Unity main thread. A backend may replace only a quiesced producer. Each platform callback remains bound to the reporter captured for its producer epoch. Disposal releases all platform resources and permits no later reports.

Implementations(1)

Types that implement INativeInputBackend.

public bool WantsTextContext{ get }

Gets whether document-window updates are consumed.

public abstract void OpenInput(NativeInputOpenRequest request, NativeInputReporter reporter)

Opens a producer for an epoch, atomically replacing a previously quiesced producer.

public abstract void QuiesceInput(NativeInputReporter reporter, NativeCompositionDisposition disposition, Action quiesced)

Freezes new input, drains prior output in source order, resolves composition, and invokes the barrier completion exactly once.

public abstract void CloseInput(NativeInputReporter reporter)

Terminally releases a producer after its quiescence barrier has completed.

public abstract void AbortInput(NativeInputReporter reporter)

Terminally releases a producer from any state and suppresses its later editing output.

public abstract void SetCursorScreenPos()

Updates the IME candidate anchor in Unity screen pixels.

public abstract void SetInputFieldRect()

Updates the focused editor rectangle in Unity screen pixels.

public abstract void FlushPendingInput()

Delivers buffered platform input through the current reporter in source order.

public abstract void PushTextContext()

Updates a push-model IME mirror with a UTF-16 document window and selection.