Cringe.Canvas (cringe v0.4.0)

Copy Markdown View Source

Fixed-size render surface for terminal lines.

Summary

Types

t()

@type t() :: %Cringe.Canvas{
  height: non_neg_integer(),
  lines: [String.t()],
  width: non_neg_integer()
}

Functions

lines(canvas)

@spec lines(t()) :: [String.t()]

new(width, height)

@spec new(non_neg_integer(), non_neg_integer()) :: t()

put(canvas, x, y, text)

@spec put(t(), non_neg_integer(), non_neg_integer(), String.t()) :: t()

put_block(canvas, x, y, lines)

@spec put_block(t(), non_neg_integer(), non_neg_integer(), [String.t()]) :: t()

put_block(canvas, x, y, lines, opts)

@spec put_block(t(), non_neg_integer(), non_neg_integer(), [String.t()], keyword()) ::
  t()