Anvil::InlineRenderer
Inherits Termisu::Renderer < Reference < Object
Übersetzt die absoluten Pufferkoordinaten, die Termisu::Buffer#render_to
liefert, in Bewegungen innerhalb einer Region, deren obere Kante irgendwo
im Scrollback steht.
Vertikal muss relativ adressiert werden (CUU/CUD): die absolute Bildschirmzeile der Region ist unbekannt und ändert sich bei jedem Scroll. Horizontal geht absolut (CHA) — die Region beginnt immer in Spalte 0 und ist so breit wie das Terminal, das spart die gesamte Spaltenbuchhaltung.
Schreibt in ein IO, nicht in ein Terminal: so lässt sich eine Region in
einen Speicherpuffer rendern und prüfen, ohne ein echtes Terminal zu
brauchen.
Constructors
Instance methods
Applies a complete style transition (attributes + colors) in one call.
fg, bg, and attr are the target style. The old_ parameters carry
the caller's view of the current terminal style (nil = unknown, which
forces emission).
This default implementation decomposes the transition into the granular color/attribute methods above with the legacy emission semantics (reset-then-reapply when any attribute is removed), so existing renderer implementations need no changes. Terminal overrides this to emit a single combined SGR sequence per transition instead.
The branch count is a flat per-attribute dispatch table, not nested logic. ameba:disable Metrics/CyclomaticComplexity
Moves cursor to the specified position (writes escape sequence).
Wo der Cursor steht, in Regionszeilen ab 0. Die Surface hält ihn zwischen den Frames auf Zeile 0.
Wo der Cursor steht, in Regionszeilen ab 0. Die Surface hält ihn zwischen den Frames auf Zeile 0.