Skip to content

Class ScreenBuffer

A grid of cells plus a scrollback ring. Row 0 is the top of the live screen; scrollback rows are addressed with negative indices through GetRow.

Declaration
public sealed class ScreenBuffer
Declaration
public int Cols { get; }
Declaration
public int Rows { get; }
Declaration
public int MaxScrollback { get; }
Declaration
public int ScrollbackCount { get; }

Live row for y in [0, Rows), scrollback for y in [-ScrollbackCount, 0). Read only: the emulator owns the cells.

Declaration
public ReadOnlySpan<Cell> GetRow(int y)

System.ReadOnlySpan<DarkEffekt.Terminal.Cell>

Type Name
System.Int32 y

How row y is drawn. Scrollback rows keep theirs too.

Declaration
public LineKind GetLineKind(int y)

DarkEffekt.Terminal.LineKind

Type Name
System.Int32 y

The columns a row shows: half of them on a double-width or double-height line.

Declaration
public int ColumnsOf(int y)

System.Int32

Type Name
System.Int32 y