Notcurses豐富的字符圖形/TUI 庫
Notcurses 是一個(gè)用于在現(xiàn)代終端模擬器上構(gòu)建復(fù)雜、生動(dòng)的文本用戶界面 (TUI) 的庫。最大限度地支持鮮艷的顏色、多媒體、線程和 Unicode。
用 Notcurses 可以做一些用 NCurses 根本做不到的事情。此外,它還很快。它不是一個(gè)源代碼兼容的 X/Open Curses 實(shí)現(xiàn),也不是現(xiàn)有系統(tǒng)上 NCurses 的替代品。
Notcurses 是用 C 語言編寫的,帶有 C++-safe headers。Rust、C++ 和 Python wrappers 都可以使用。
Notcurses 放棄了作為單一 UNIX 規(guī)范的一部分而捆綁的 X/Open Curses API。因此,Notcurses 并不是一個(gè)直接的 Curses 替代品。只要有可能,Notcurses 就會(huì)使用 NCurses 提供的 Terminfo 庫,并從其可移植性和徹底性中獲益良多。
Notcurses 為工作站、手機(jī)、筆記本電腦和平板電腦上的交互式用戶開辟了高級(jí)功能,可能以犧牲某些工業(yè)和零售終端為代價(jià)。從根本上說,Curses 假定最低限度,并允許你(通過努力)提高;而 Notcurses 假定最大限度,并在必要時(shí)(自己)降低。后一種方法可能會(huì)在一些舊硬件上發(fā)生故障,但前一種方法的結(jié)果是新軟件看起來像舊硬件。
特性:
- 終端功能的高級(jí)和廣泛的運(yùn)行時(shí)查詢
- 在可用的情況下可選使用“alternate screen”(enter_ca_mode / exit_ca_mode terminfo 功能)
- 所有 API 均原生使用 24 位 8bpc RGB 顏色
- 顏色被量化為索引調(diào)色板終端
- 透明/半透明加動(dòng)態(tài)高對(duì)比度文字
- 較低的平面會(huì)影響較高的半透明平面的顏色
- Sprites
- 完全支持 Unicode,包括寬字形和雙向文本
- 組合鍵(數(shù)字鍵盤等)映射到 Private Supplementary Area B
- 通過 ffmpeg 或 OpenImageIO 支持圖像/視頻
- 子區(qū)域淡入/淡出,文本脈沖
- 用于為幾何對(duì)象著色的 Linear interpolation
- 多單元和像素 blitters,旋轉(zhuǎn)和任意縮放
評(píng)論
圖片
表情
