Skip to content

nimterm/canvas

This page is generated from the module’s exported API and ## documentation comments.

Testable terminal-cell canvas.

Cell = object
glyph*: Rune
combining*: string
continuation*: bool
style*: Style

View source

Canvas = object
size*: Size

View source

proc blankCell(style = defaultStyle()): Cell {.raises: [], tags: [], forbids: [].}

Returns: Cell.

Name Type Default
style inferred defaultStyle()

View source

proc newCanvas(canvasSize: Size; fill = blankCell()): Canvas {.raises: [],
tags: [], forbids: [].}

Returns: Canvas.

Name Type Default
canvasSize Size
fill inferred blankCell()

View source

proc valid(canvas: Canvas; x, y: int): bool {.raises: [], tags: [], forbids: [].}

Returns: bool.

Name Type Default
canvas Canvas
x int
y int

View source

proc getCell(canvas: Canvas; x, y: int): Cell {.raises: [], tags: [],
forbids: [].}

Returns: Cell.

Name Type Default
canvas Canvas
x int
y int

View source

proc setCell(canvas: var Canvas; x, y: int; cell: Cell) {.raises: [], tags: [],
forbids: [].}
Name Type Default
canvas var Canvas
x int
y int
cell Cell

View source

proc clear(canvas: var Canvas; fill = blankCell()) {.raises: [], tags: [],
forbids: [].}
Name Type Default
canvas var Canvas
fill inferred blankCell()

View source

proc fill(canvas: var Canvas; area: Rect; cell = blankCell()) {.raises: [],
tags: [], forbids: [].}
Name Type Default
canvas var Canvas
area Rect
cell inferred blankCell()

View source

proc copy(canvas: Canvas): Canvas {.raises: [], tags: [], forbids: [].}

Returns: Canvas.

Name Type Default
canvas Canvas

View source

proc writeText(canvas: var Canvas; x, y: int; text: string;
style = defaultStyle(); maxWidth = int.high) {.raises: [],
tags: [], forbids: [].}
Name Type Default
canvas var Canvas
x int
y int
text string
style inferred defaultStyle()
maxWidth inferred int.high

View source

Write ANSI-styled text as semantic cells, preserving the base background.

proc writeAnsiText(canvas: var Canvas; x, y: int; text: string;
baseStyle = defaultStyle(); maxWidth = int.high) {.
raises: [], tags: [], forbids: [].}
Name Type Default
canvas var Canvas
x int
y int
text string
baseStyle inferred defaultStyle()
maxWidth inferred int.high

View source

proc lineText(canvas: Canvas; y: int): string {.raises: [], tags: [],
forbids: [].}

Returns: string.

Name Type Default
canvas Canvas
y int

View source

proc plainText(canvas: Canvas): string {.raises: [], tags: [], forbids: [].}

Returns: string.

Name Type Default
canvas Canvas

View source