class

Anvil::Surface

Inherits Reference < Object

Die Zeichenfläche — der einzige Ort, an dem sich Fullscreen und Inline unterscheiden. Alles darüber (Blöcke, Editor, Schleife) kennt nur dieses Protokoll.

Instance methods

begin_frame
Source
clear_screen

Vollbild-Löschen — nur für die ausdrückliche Wiederherstellung (Ctrl-L).

Source
close
Source
commit(lines : Array(Text::StyledLine)) : Nil

Schreibt Zeilen dauerhaft oberhalb der Zeichenfläche.

Source
cursor_at(x : Int32, y : Int32) : Nil
Source
end_frame
Source
height
Source
height=(value : Int32) : Nil

Höhe der Live-Region. Im Vollbild fest.

Source
hide_cursor
Source
invalidate!

Erklärt den Bildschirminhalt für ungültig: der nächste Frame wird vollständig neu gezeichnet statt gediffed. Nötig, wenn etwas anderes auf das Terminal geschrieben hat (ein Subprozess) oder der Nutzer Ctrl-L drückt.

Source
max_height

Wie hoch die Region höchstens werden darf.

Source
put(x : Int32, y : Int32, line : Text::StyledLine) : Int32

Schreibt eine gestylte Zeile ab Spalte x. Gibt zurück, wie viele Spalten belegt wurden.

Liegt hier statt in den Implementierungen, weil beide Betriebsarten dasselbe meinen: Grapheme für Grapheme in Zellen, mit korrekter Breite für CJK und Emoji. Nur das Setzen einer Zelle unterscheidet sie.

Source
put_cell(x : Int32, y : Int32, grapheme : String, style : Text::Style) : Nil
Source
put_cell(x : Int32, y : Int32, char : Char, style : Text::Style) : Nil
Source
put_line(x : Int32, y : Int32, line : Text::StyledLine, style : Text::Style = Text::Style::NONE) : Nil

Wie put, füllt den Zeilenrest aber mit Leerzeichen. Ohne das bleiben Reste des vorigen Frames stehen, wo die neue Zeile kürzer ist.

Source
resized!

Nach einer Größenänderung des Fensters.

Source
size
Source
width
Source

Nested types