Fixed-size render surface for terminal lines.
Summary
Types
@type t() :: %Cringe.Canvas{ height: non_neg_integer(), lines: [String.t()], width: non_neg_integer() }
Functions
@spec new(non_neg_integer(), non_neg_integer()) :: t()
@spec put(t(), non_neg_integer(), non_neg_integer(), String.t()) :: t()
@spec put_block(t(), non_neg_integer(), non_neg_integer(), [String.t()]) :: t()