Raxol. UI. BorderRenderer
(Raxol v2.6.0)
View Source
Handles border rendering logic and border character definitions.
Summary
Functions
Gets border characters for a given border style.
Returns border chars in the 8-key format used by FocusRing and wrap_with_border.
Returns border characters, falling back to ASCII if the terminal does not support Unicode box-drawing characters.
Renders box borders with proper styling.
Renders empty box with no borders.
Renders horizontal line.
Renders vertical line.
Types
@type border_style() :: :single | :double | :rounded | :ascii | :none
Functions
@spec get_border_chars(border_style()) :: border_chars()
Gets border characters for a given border style.
@spec get_border_chars_8key(border_style()) :: border_chars_8key()
Returns border chars in the 8-key format used by FocusRing and wrap_with_border.
Keys: top_left, top, top_right, left, right, bottom_left, bottom, bottom_right
@spec get_border_chars_adaptive(border_style()) :: border_chars()
Returns border characters, falling back to ASCII if the terminal does not support Unicode box-drawing characters.
@spec render_box_borders( integer(), integer(), pos_integer(), pos_integer(), border_chars(), map() ) :: [cell()]
Renders box borders with proper styling.
@spec render_empty_box( integer(), integer(), pos_integer(), pos_integer(), map() ) :: [cell()]
Renders empty box with no borders.
@spec render_horizontal_line( integer(), integer(), pos_integer(), String.t(), map(), term() ) :: [cell()]
Renders horizontal line.
@spec render_vertical_line( integer(), integer(), pos_integer(), String.t(), map(), term() ) :: [cell()]
Renders vertical line.