Skip to content
ConsoleMonster

API Reference

Interface

ITerminalOutput

Namespace ConsoleMonster.Rendering
Assembly ConsoleMonster
Implements
IDisposable
Modifiers abstract

Turns frames and lines into output for one mode: VT (diffed live frames, alternate screen), Stream (append-only lines, optional colour) or Plain (ASCII lines, no colour). Not thread-safe: a live session calls it from its single render thread only.

Usage

Explore 3 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Methods

public abstract Void BeginLive() #
Returns: Void

Starts live rendering (VT: alternate screen, hidden cursor). No effect for line-based outputs.

public abstract Void EndLive() #
Returns: Void

Ends live rendering and restores the terminal (cursor, screen, attributes). Safe to call more than once.

public abstract Void Invalidate() #
Returns: Void

Forces the next frame to be redrawn completely (after a resize or external output).

public abstract Void RenderFrame(CellBuffer frame) #
Returns: Void

Draws a full-screen frame, writing only the cells that changed since the previous frame.

Parameters

frame ConsoleMonster.Canvas.CellBuffer requiredposition: 0
The frame; its size is the screen size.
public abstract Void WriteBlock(CellBuffer buffer) #
Returns: Void

Appends a rendered block (print-once output) to the scrollback.

Parameters

buffer ConsoleMonster.Canvas.CellBuffer requiredposition: 0
The rendered block; trailing blank cells on each row are trimmed.
public abstract Void WriteInline(StyledLine line) #
Returns: Void

Writes one styled line without ending it (Write-ConsoleText -NoNewLine); the next write continues on it.

Parameters

line ConsoleMonster.Text.StyledLine requiredposition: 0
The line.
public abstract Void WriteLine(StyledLine line) #
Returns: Void

Appends one styled line (stream narration, captured output, summaries).

Parameters

line ConsoleMonster.Text.StyledLine requiredposition: 0
The line.

Properties

public abstract TerminalProfile Profile { get; } #

The profile this output encodes for.

public abstract Boolean SupportsLiveFrames { get; } #

Whether the output can redraw a live frame in place.