Raxol.Terminal.ScreenBufferBehaviour behaviour (Raxol v0.3.0)

View Source

Behaviour for terminal screen buffer operations.

Summary

Callbacks

clear(buffer, style)

get_dimensions(buffer)

@callback get_dimensions(buffer :: Raxol.Terminal.ScreenBuffer.t()) ::
  {width :: non_neg_integer(), height :: non_neg_integer()}

new(width, height, scrollback_limit)

@callback new(
  width :: non_neg_integer(),
  height :: non_neg_integer(),
  scrollback_limit :: non_neg_integer()
) :: Raxol.Terminal.ScreenBuffer.t()

resize(buffer, new_width, new_height)

@callback resize(
  buffer :: Raxol.Terminal.ScreenBuffer.t(),
  new_width :: non_neg_integer(),
  new_height :: non_neg_integer()
) :: Raxol.Terminal.ScreenBuffer.t()