abstract class Termisu::Renderer

Overview

Abstract renderer interface for terminal output.

Separates rendering logic from I/O operations, enabling different renderer implementations (terminal, in-memory, etc.).

This interface defines all methods that Buffer requires for rendering cells to the screen, including cursor control, colors, and attributes.

Note: Methods with _seq suffix write escape sequences immediately. This distinguishes them from buffer state management methods.

Direct Known Subclasses

Defined in:

termisu/renderer.cr

Instance Method Summary

Instance Method Detail

abstract def background=(color : Color) #

Sets the background color (writes escape sequence).


[View source]
abstract def close #

Closes the renderer and releases resources.


[View source]
abstract def enable_blink #

Enables blink text (writes escape sequence).


[View source]
abstract def enable_bold #

Enables bold text (writes escape sequence).


[View source]
abstract def enable_cursive #

Enables italic/cursive text (writes escape sequence).


[View source]
abstract def enable_dim #

Enables dim/faint text (writes escape sequence).


[View source]
abstract def enable_hidden #

Enables hidden/invisible text (writes escape sequence).


[View source]
abstract def enable_reverse #

Enables reverse video (writes escape sequence).


[View source]
abstract def enable_strikethrough #

Enables strikethrough text (writes escape sequence).


[View source]
abstract def enable_underline #

Enables underline text (writes escape sequence).


[View source]
abstract def flush #

Flushes any buffered output.


[View source]
abstract def foreground=(color : Color) #

Sets the foreground color (writes escape sequence).


[View source]
abstract def move_cursor(x : Int32, y : Int32) #

Moves cursor to the specified position (writes escape sequence).


[View source]
abstract def reset_attributes #

Resets all text attributes to default (writes escape sequence).


[View source]
abstract def size : Tuple(Int32, Int32) #

Returns the renderer dimensions as {width, height}.


[View source]
abstract def write(data : String) #

Writes data to the renderer.


[View source]
abstract def write_hide_cursor #

Writes hide cursor escape sequence.


[View source]
abstract def write_show_cursor #

Writes show cursor escape sequence.


[View source]