# InputTextBinding

`import { InputTextBinding } from "destack:input/binding";`

Text binding family.

```ds title="InputTextBinding"
export interface InputTextBinding {
    openTextSession(descriptor: &'a readonly TextSessionDescriptor, state: &'b readonly TextSessionState): Result<InputTextSessionHandle, HostError>;
    closeTextSession(session: InputTextSessionHandle): Result<void, HostError>;
    setTextGeometry(session: InputTextSessionHandle, geometry: &'a readonly TextGeometry): Result<void, HostError>;
    readTextGeometry(session: InputTextSessionHandle): Result<TextGeometry, HostError>;
    setTextState(session: InputTextSessionHandle, state: &'a readonly TextSessionState): Result<void, HostError>;
    readTextEvents(session: InputTextSessionHandle, maxEvents: uint32, timeoutNs?: uint64 | undefined): Result<TextSessionEvent[], HostError>;
}
```

[language/library/src/input/binding/text.ds:274:347](https://github.com/destack-sh/destack/blob/main/language/library/src/input/binding/text.ds#L274-L347)

## Members

### `openTextSession(descriptor: &'a readonly TextSessionDescriptor, state: &'b readonly TextSessionState): Result<InputTextSessionHandle, HostError>`

Open one text input session.

### `closeTextSession(session: InputTextSessionHandle): Result<void, HostError>`

Close one text input session.

### `setTextGeometry(session: InputTextSessionHandle, geometry: &'a readonly TextGeometry): Result<void, HostError>`

Set text input geometry.

### `readTextGeometry(session: InputTextSessionHandle): Result<TextGeometry, HostError>`

Read text input geometry.

### `setTextState(session: InputTextSessionHandle, state: &'a readonly TextSessionState): Result<void, HostError>`

Set text input state.

### `readTextEvents(session: InputTextSessionHandle, maxEvents: uint32, timeoutNs?: uint64 | undefined): Result<TextSessionEvent[], HostError>`

Read text-session events.
