copyLine

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.

All destination arrays must have enough space for columns entries from their respective offsets. extraAttrWords and hyperlinkIds are optional because not every renderer needs those channels.

clusterDataSink is the preferred zero-allocation path for cells marked TerminalRenderCellFlags.CLUSTER. clusterSink is retained for callers that need text directly; implementations may avoid constructing cluster strings when only clusterDataSink is supplied.

Parameters

row

zero-based visible row index.

codeWords

destination for Unicode scalar values or zero for empty, cluster, and wide trailing cells.

codeOffset

first destination index in codeWords.

attrWords

destination for stable public render attribute words.

attrOffset

first destination index in attrWords.

flags

destination for TerminalRenderCellFlags bit sets.

flagOffset

first destination index in flags.

extraAttrWords

optional destination for less common attribute data.

extraAttrOffset

first destination index in extraAttrWords.

hyperlinkIds

optional destination for public hyperlink identifiers, where zero means no hyperlink.

hyperlinkOffset

first destination index in hyperlinkIds.

clusterSink

optional receiver for cluster text on cluster cells.

clusterDataSink

optional receiver for primitive cluster code points on cluster cells.