Raxol.Terminal.Buffer.Scroller (Raxol v0.4.0)
View SourceHandles scrolling operations (up and down) within the Raxol.Terminal.ScreenBuffer, considering scroll regions.
Summary
Functions
Scrolls the buffer down by the specified number of lines, optionally within a specified scroll region.
Handles cell manipulation using provided lines from scrollback.
Expects lines_to_insert
from the caller (e.g., Buffer.Manager via Buffer.Scrollback).
Scrolls the buffer up by the specified number of lines, optionally within a specified scroll region.
Handles cell manipulation.
Returns {updated_buffer, scrolled_off_lines}
.
Functions
@spec scroll_down( Raxol.Terminal.ScreenBuffer.t(), [[Raxol.Terminal.Cell.t()]], non_neg_integer(), {non_neg_integer(), non_neg_integer()} | nil ) :: Raxol.Terminal.ScreenBuffer.t()
Scrolls the buffer down by the specified number of lines, optionally within a specified scroll region.
Handles cell manipulation using provided lines from scrollback.
Expects lines_to_insert
from the caller (e.g., Buffer.Manager via Buffer.Scrollback).
@spec scroll_up( Raxol.Terminal.ScreenBuffer.t(), non_neg_integer(), {non_neg_integer(), non_neg_integer()} | nil ) :: {Raxol.Terminal.ScreenBuffer.t(), [[Raxol.Terminal.Cell.t()]]}
Scrolls the buffer up by the specified number of lines, optionally within a specified scroll region.
Handles cell manipulation.
Returns {updated_buffer, scrolled_off_lines}
.