abstract class Opal::Terminal::Driver

Overview

Abstract base interface for terminal input/output drivers.

Direct Known Subclasses

Defined in:

opal/terminal/driver.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(output : IO = STDOUT, input : IO = STDIN) #

[View source]

Instance Method Detail

def check_resize : ResizeEvent | Nil #

Checks if the terminal window size has changed since last check.


[View source]
def clear : Nil #

[View source]
def disable_mouse : Nil #

[View source]
def enable_mouse : Nil #

[View source]
def enter_alternate_screen : Nil #

[View source]
def exit_alternate_screen : Nil #

[View source]
abstract def flush : Nil #

[View source]
def flush_input : Nil #

Flushes any queued input events and purges platform input buffers


[View source]
def hide_cursor : Nil #

[View source]
def input : IO #

[View source]
def input=(input : IO) #

[View source]
def move_to(row : Int32, col : Int32) : Nil #

[View source]
def on_resize : Proc(Int32, Int32, Nil) | Nil #

[View source]
def on_resize=(on_resize : Proc(Int32, Int32, Nil) | Nil) #

[View source]
def output : IO #

[View source]
def output=(output : IO) #

[View source]
def poll_event(timeout_ms : Int32 = 0) : KeyEvent | MouseEvent | ResizeEvent | Nil #

Non-blocking or timed check for input/resize events.


[View source]
abstract def raw_mode(&) #

[View source]
def read_event : KeyEvent | MouseEvent | ResizeEvent | Nil #

Reads the next key, mouse, or resize event from the terminal, consuming from the internal event queue if multiple events arrived in the same read chunk.


[View source]
def show_cursor : Nil #

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

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

[View source]