TerminalNativeFrame.fromBuffer constructor

TerminalNativeFrame.fromBuffer(
  1. Buffer buffer
)

Captures a native frame from a UV buffer.

Implementation

factory TerminalNativeFrame.fromBuffer(uv_buffer.Buffer buffer) {
  final lines = <TerminalNativeLine>[];
  for (var y = 0; y < buffer.height(); y++) {
    final line = buffer.line(y);
    lines.add(
      TerminalNativeLine(
        index: y,
        cells: List<TerminalNativeCell>.unmodifiable(
          line == null
              ? const <TerminalNativeCell>[]
              : line.cells.map(TerminalNativeCell.fromCell),
        ),
        dirtySpans: _dirtySpansFor(buffer, y),
      ),
    );
  }
  return TerminalNativeFrame(
    width: buffer.width(),
    height: buffer.height(),
    lines: List<TerminalNativeLine>.unmodifiable(lines),
  );
}