TerminalRenderFrame

Short-lived primitive view of the terminal's render state for one viewport.

A frame exposes stable public render encodings, not core internal storage. Consumers should copy rows into caller-owned primitive arrays during the enclosing TerminalRenderFrameReader.readRenderFrame callback.

Properties

Link copied to clipboard

Currently active terminal screen buffer.

Link copied to clipboard
abstract val columns: Int

Number of visible columns in each render row.

Link copied to clipboard

Current render cursor overlay state.

Link copied to clipboard

Number of history lines discarded due to ring buffer capacity wrapping.

Link copied to clipboard
abstract val frameGeneration: Long

Monotonic generation that changes on any visually relevant mutation.

Link copied to clipboard
open val historySize: Int

Number of retained off-screen history lines available in this frame.

Link copied to clipboard

Currently active resolved color palette.

Link copied to clipboard
abstract val rows: Int

Number of visible render rows.

Link copied to clipboard

Clamped scrollback offset used by this frame, in lines from the live bottom viewport. Zero means the frame is pinned to the newest output.

Link copied to clipboard

Generation that changes when terminal-owned row mapping or shape changes.

Functions

Link copied to clipboard

Copies the current cursor overlay state into sink.

Link copied to clipboard
abstract fun copyLine(row: Int, codeWords: IntArray, codeOffset: Int = 0, attrWords: LongArray, attrOffset: Int = 0, flags: IntArray, flagOffset: Int = 0, extraAttrWords: LongArray? = null, extraAttrOffset: Int = 0, hyperlinkIds: IntArray? = null, hyperlinkOffset: Int = 0, clusterSink: TerminalRenderClusterSink? = null, clusterDataSink: TerminalRenderClusterDataSink? = null)

Copies one visible row into caller-owned primitive arrays.

Link copied to clipboard
abstract fun lineGeneration(row: Int): Long

Returns the generation for visible row.

Link copied to clipboard
open fun lineId(row: Int): Long

Returns the stable logical line identity for visible row.

Link copied to clipboard
abstract fun lineWrapped(row: Int): Boolean

Reports whether visible row soft-wraps into the next row.