Reference

Alphabetical

Name

Description

Alignment

Alignment of text or graphics in a box.

Anchor

Anchor describes a location inside a rectangular area using a combination of a vertical and a horizontal component.

Backend

The interface to the underlying platform.

BackendPtr

Shared pointer to a backend instance.

Background

The background color.

Bitmap

A mutable bitmap storing boolean pixels in row-major order.

BitmapColorMode

The mode how color is applied to the bitmap.

BitmapDrawOptions

The options to draw a bitmap.

BitmapScaleMode

The mode how the bitmap is scaled.

Buffer

A mutable 2D buffer storing characters and colors for rendering.

BufferConstRefView

A view that uses a reference to the content.

BufferView

A view that uses a shared pointer to the content.

BufferViewBase

The base class for all buffer views.

Char

Represents a character string with foreground and background colors.

CharAttributes

Represents optional ANSI text attributes such as bold, underline, or strikethrough.

CharStyle

Combines a Color value with CharAttributes into one reusable text style.

Char16Style

Defines a style for drawing tiles.

Char16StylePtr

Shared pointer for Char16Style

CharCombinationStyle

A style how two characters are visually combined to a new one.

CharCombinationStylePtr

Shared pointer for CharCombinationStyle

Color

A foreground/background color pair for terminal rendering.

ColorBase

Shared implementation for foreground and background color values.

ColorBase::Value

Internal color identifiers used for ANSI conversion and parsing.

ColorList

A list of terminal colors.

ColorPart

A foreground or background color.

ColorRole

The type color.

ColorSequence

A configurable sequence of complete Color values with run-length style counts.

CropEdges

Flags for crop edges and corners.

CursorBuffer

A remapped buffer with cursor-style writing, wrapping, and scrollback behavior.

CursorBuffer::OverflowMode

Controls whether cursor writes wrap, scroll, or grow the buffer at the bottom edge.

CursorWriter

The shared interface for buffers and terminals that support cursor-based output.

Direction

A direction in a 2D grid.

Direction::Enum

The canonical enum values used by Direction.

Font

A bitmap font used to render stylized terminal text.

FontGlyph

A bitmap glyph that can be used by a terminal text font.

FontPtr

Shared pointer to a terminal font.

Foreground

The foreground color.

FrameColorMode

The mode how animated colors are applied to frames.

FrameDrawOptions

The options to draw a frame.

FrameStyle

Various box styles

Input

Reads key presses from the console depending on the configured mode.

Input::Mode

Supported reading modes for the input backend.

InputDefinition

Definition of a single key mapping for a specific input mode.

InputDefinition::ForMode

The input modes to which a key definition can apply.

InputDefinitionList

A list of input definitions.

Key

A simple representation of a key press.

Key::Type

Supported key kinds.

Margins

Represents margins (top, right, bottom, left) around a rectangle.

MatrixCombinationStyle

A class that combines characters through an indexed result matrix.

MoveMode

The cursor move mode.

ParagraphBackgroundMode

How paragraph rendering extends the background color beyond the visible text.

ParagraphOnError

The fallback to use when paragraph layout becomes impossible.

ParagraphOptions

Options that control paragraph wrapping, indentation, tab handling, and fallback behavior.

ParagraphSpacing

The spacing between explicit newline-separated paragraphs.

Position

Represents a 2D integer position or vector (x, y).

ReadableBuffer

A readable buffer.

RemappedBuffer

A buffer optimized for row and column remapping operations.

Rectangle

Axis-aligned rectangle represented by a top-left position and size.

SimpleCharCombinationStyle

A class to use a simple map to combine styles.

Size

A non-negative 2D size (width × height).

String

A terminal string represented as a sequence of Char values.

StringLines

A sequence of wrapped terminal text lines.

TabOverflowBehavior

The handling for tabs whose configured tab stop does not advance the current line.

Terminal

High-level terminal interface for screen control, color output, and key input.

TerminalFlag

A terminal flag.

TerminalFlags

A set of terminal flags.

Terminal::OutputMode

The output mode for the terminal.

Terminal::RefreshMode

Screen clearing strategy used between rendered frames.

TerminalPtr

Shared pointer to a terminal instance.

Text

Describes a text block to render into a Buffer.

TextOptions

Options for text rendering.

TextAnimation

Supported text animation styles used by Buffer::drawText().

Tile9Style

Defines a style for repeating a 3x3 tile pattern across a rectangle.

Tile9StylePtr

Shared pointer for Tile9Style

UpdateSettings

Settings controlling how Terminal::updateScreen() renders a buffer.

WritableBuffer

Abstract writable terminal buffer interface.

bg

Short alias for Background.

fg

Short alias for Foreground.

By Topic

Topic

Description

Bitmap

Bitmap is the low-level pixel container used by the library whenever a boolean mask needs to be rendered, copied, or transformed. A bitmap stores only on/off pixels; the actual terminal representation is chosen later by Buffer::drawBitmap() and BitmapDrawOptions.

Buffer Views

Buffer views expose a rectangular window onto a larger readable buffer. They are useful whenever the logical content is bigger than the visible terminal area, for example in scrollable panels, minimaps, editors, and diagnostic tools.

Backend

The backend classes connect Terminal to the actual console, host environment, or test harness. Most applications use the built-in backend, while advanced integrations can inject a custom implementation.

Buffer

The buffer classes represent rendered terminal content in memory before it is written to the screen. ReadableBuffer provides the inspection API, WritableBuffer adds mutation and drawing operations, Buffer is the concrete 2D storage type used in most applications, and CursorBuffer adds cursor-based streaming output.

Color

The color classes provide access to the standard 16 terminal colors and their combinations. They are used to style terminal output, buffer cells, and text elements throughout the library.

Cursor Output

CursorWriter defines the shared streaming API used by Terminal and CursorBuffer. It focuses on incremental output, active color and attribute state, cursor movement, and wrapped paragraph printing.

Frames, Borders, and Tiles

The drawing types define how frames, borders, filled areas, and character combinations are rendered into writable buffers. They are the main building blocks for boxes, panels, decorative borders, tiled fills, and line-art style layouts.

Font

The font classes allow you to render large bitmap-based text directly in the terminal. Fonts are primarily used for titles, banners, and other decorative elements in terminal interfaces.

Strings and Chars

Char, CharAttributes, CharStyle, and String are the reusable terminal-text value types used to store styled characters, measure Unicode-aware width, and split or wrap terminal text before rendering.

Geometry

The geometry classes provide the building blocks for positioning and layout inside a terminal buffer. They describe sizes, positions, rectangles, and directions, and allow you to derive new regions from existing ones.

Input

The input classes provide access to keyboard input from the terminal. They are designed for interactive applications such as dashboards, tools, and terminal games that need immediate key handling.

Paragraph Options

ParagraphOptions collects the low-level layout rules for wrapped terminal paragraphs. The same object model is used by Terminal::printParagraph(), TextOptions, and Text, so one paragraph configuration can be reused for direct terminal output and buffer-based text rendering.

Terminal

The terminal classes provide the runtime connection between your rendered content and the real console. Terminal manages initialization, refresh strategy, full-screen updates, input access, and direct output for interactive applications.

Text Rendering

Text, TextOptions, and TextAnimation render strings into rectangles, wrapped paragraphs, animated labels, and reusable text presets inside writable buffers.