Raxol.Terminal.Buffer.Manager.Behaviour behaviour (Raxol v0.5.0)

View Source

Behaviour for terminal buffer management.

Summary

Callbacks

clear_damage()

@callback clear_damage() :: :ok

get_cell(x, y)

@callback get_cell(x :: non_neg_integer(), y :: non_neg_integer()) :: term()

get_memory_usage()

@callback get_memory_usage() :: non_neg_integer()

get_metrics()

@callback get_metrics() :: map()

get_scrollback_count()

@callback get_scrollback_count() :: non_neg_integer()

initialize_buffers(width, height, opts)

@callback initialize_buffers(
  width :: non_neg_integer(),
  height :: non_neg_integer(),
  opts :: keyword()
) :: map()

read(opts)

@callback read(opts :: keyword()) :: term()

resize(size, opts)

@callback resize(
  size :: {non_neg_integer(), non_neg_integer()},
  opts :: keyword()
) :: :ok

scroll(lines)

@callback scroll(lines :: integer()) :: :ok

set_cell(x, y, cell)

@callback set_cell(
  x :: non_neg_integer(),
  y :: non_neg_integer(),
  cell :: term()
) :: :ok

write(data, opts)

@callback write(data :: term(), opts :: keyword()) :: :ok