Core functionality for screen buffer creation, initialization, and basic queries. Consolidates: Initializer, Common, Helpers, and basic state management.
Summary
Functions
Clears the entire buffer.
Gets a cell at the specified coordinates.
Gets the character at the specified coordinates.
Gets the buffer dimensions.
Gets the buffer height.
Gets a line of cells.
Gets the buffer width.
Creates a new screen buffer with the specified dimensions, clamped to the
terminal size ceiling (Raxol.Core.Utils.Validation.clamp_terminal_size/2).
Resizes the buffer to new dimensions, clamped to the terminal size ceiling.
Converts buffer to legacy cell grid format for backward compatibility.
Checks if coordinates are within buffer bounds.
Types
@type t() :: %Raxol.Terminal.ScreenBuffer.Core{ alternate_screen: boolean(), cells: [[Raxol.Terminal.Cell.t()]], cursor_blink: boolean(), cursor_position: {non_neg_integer(), non_neg_integer()}, cursor_style: atom(), cursor_visible: boolean(), damage_regions: [tuple()], default_style: map(), height: non_neg_integer(), scroll_position: non_neg_integer(), scroll_region: nil | {non_neg_integer(), non_neg_integer()}, scrollback: [[Raxol.Terminal.Cell.t()]], scrollback_limit: non_neg_integer(), selection: nil | {non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer()}, width: non_neg_integer() }
Functions
Clears the entire buffer.
Gets a cell at the specified coordinates.
Gets the character at the specified coordinates.
Gets the buffer dimensions.
Gets the buffer height.
Gets a line of cells.
Gets the buffer width.
Creates a new screen buffer with the specified dimensions, clamped to the
terminal size ceiling (Raxol.Core.Utils.Validation.clamp_terminal_size/2).
Resizes the buffer to new dimensions, clamped to the terminal size ceiling.
Converts buffer to legacy cell grid format for backward compatibility.
Checks if coordinates are within buffer bounds.