NEPLg2 Standard Library - tui
Web Playground
Web Playground

wasix/tui: WASIX 端末制御と TUI 描画補助ライブラリ

目的もくてき:

実装じっそう:

注意ちゅうい:

TtyState: WASIX TTY 構造体のメモリレイアウト

目的:

レイアウト:

TerminalSize: 端末の列数と行数

目的もくてき:

注意ちゅうい:

enter_raw_mode: ターミナルを RAW モードにする

目的:

注意(重要):

restore_mode: ターミナルの状態を元に戻す

目的:

get_terminal_size: ターミナルのサイズを取得する

目的もくてき:

実装じっそう:

注意ちゅうい:

--- ANSI 画面制御ヘルパー ---
clear_screen: 画面全体をクリアしてカーソルを左上に移動する
move_cursor: カーソルを (col, row) に移動する (1-indexed)
cursor_home: カーソルを左上 (1,1) に移動する
hide_cursor: カーソルを非表示にする
show_cursor: カーソルを再表示する
clear_line: カーソル行を消去する
set_bg_color: 背景色を設定する (0-7: 標準色)
0=黒 1=赤 2=緑 3=黄 4=青 5=マゼンタ 6=シアン 7=白
set_fg_color: 前景色を設定する (0-7: 標準色)
reset_color: 前景色と背景色をリセットする
repeat_text: 文字列を指定回数だけ連結して返す

目的もくてき:

実装じっそう:

注意ちゅうい:

計算量けいさんりょう:

str_display_width: 文字列の表示幅を概算する

目的もくてき:

実装じっそう:

注意ちゅうい:

計算量けいさんりょう:

line_pad_to_cols: 行文字列を指定表示幅まで右側空白で埋める

目的もくてき:

実装じっそう:

注意ちゅうい:

計算量けいさんりょう:

line_clip_to_cols: 行文字列を指定表示幅以内に切り詰める

目的もくてき:

実装じっそう:

次の文字を追加すると cols を超える時点で切り出しを終了します。

注意ちゅうい:

計算量けいさんりょう:

text_wrap_lines: 表示幅で折り返した行配列を作る

目的もくてき:

実装じっそう:

注意ちゅうい:

計算量けいさんりょう:

buffer_set_wrapped_text: 折り返し文字列を行バッファへ描画する

目的もくてき:

実装じっそう:

注意ちゅうい:

計算量けいさんりょう:

line_box: 罫線付きの1行(│ ... │)を作る

目的もくてき:

実装じっそう:

注意ちゅうい:

line_box_styled: 罫線付きの1行を色付き背景で作る

目的もくてき:

実装じっそう:

注意ちゅうい:

line_top: 上枠(┌──┐)を作る

目的もくてき:

line_bottom: 下枠(└──┘)を作る

目的もくてき:

style_text: 前景色/背景色を付与した文字列を作る

目的もくてき:

実装じっそう:

注意ちゅうい:

hyperlink_text: OSC8 でハイパーリンク付き文字列を作る

目的もくてき:

実装じっそう:

注意ちゅうい:

---- 行バッファ差分レンダリング ----

Buffer レイアウト:

buffer_new: 行バッファを作成する

目的もくてき:

実装じっそう:

注意ちゅうい:

buffer_free: 行バッファを解放する

目的もくてき:

buffer_set_line: row(1-origin) の行文字列を設定する

目的もくてき:

注意ちゅうい:

line_has_escape: 行に ESC 制御文字が含まれるか判定する

目的もくてき:

buffer_present_diff: 差分のある行だけ再描画する

目的もくてき:

実装じっそう:

注意ちゅうい: