/** * @file kc_term.h * @brief KC 端末制御モジュール * @copyright 2003 - 2023 Nomura Kei * @depends * kc.h */ #ifndef KC_TERM_H #define KC_TERM_H #include <kc.h> // ASCII エスケープコードによる表示 // 装飾 #define KC_TERM_CLR "\x1b[0m" //!< 装飾無し #define KC_TERM_BLD "\x1b[1m" //!< 太字 #define KC_TERM_LGT "\x1b[2m" //!< 細字 #define KC_TERM_ITA "\x1b[3m" //!< イタリック #define KC_TERM_UND "\x1b[4m" //!< 下線 #define KC_TERM_BLN "\x1b[5m" //!< 点滅 #define KC_TERM_FBL "\x1b[6m" //!< 高速点滅 #define KC_TERM_INV "\x1b[7m" //!< 反転表示 #define KC_TERM_HID "\x1b[8m" //!< 非表示 (コピーは可能) #define KC_TERM_CAN "\x1b[9m" //!< 取り消し // 文字色 #define KC_TERM_DEF "\x1b[39m" //!< デフォルト #define KC_TERM_BLK "\x1b[30m" //!< 黒 #define KC_TERM_RED "\x1b[31m" //!< 赤 #define KC_TERM_GRN "\x1b[32m" //!< 緑 #define KC_TERM_YEL "\x1b[33m" //!< 黄 #define KC_TERM_BLU "\x1b[34m" //!< 青 #define KC_TERM_MAG "\x1b[35m" //!< 紫 #define KC_TERM_CYN "\x1b[36m" //!< 水 #define KC_TERM_WHT "\x1b[37m" //!< 白 #define KC_TERM_H_BLK "\x1b[90m" //!< 黒(高輝度) #define KC_TERM_H_RED "\x1b[91m" //!< 赤(高輝度) #define KC_TERM_H_GRN "\x1b[92m" //!< 緑(高輝度) #define KC_TERM_H_YEL "\x1b[93m" //!< 黄(高輝度) #define KC_TERM_H_BLU "\x1b[94m" //!< 青(高輝度) #define KC_TERM_H_MAG "\x1b[95m" //!< 紫(高輝度) #define KC_TERM_H_CYN "\x1b[96m" //!< 水(高輝度) #define KC_TERM_H_WHT "\x1b[97m" //!< 白(高輝度) // 背景 #define KC_TERM_BG_DEF "\x1b[49m" //!< デフォルト #define KC_TERM_BG_BLK "\x1b[40m" //!< 黒 #define KC_TERM_BG_RED "\x1b[41m" //!< 赤 #define KC_TERM_BG_GRN "\x1b[42m" //!< 緑 #define KC_TERM_BG_YEL "\x1b[43m" //!< 黄 #define KC_TERM_BG_BLU "\x1b[44m" //!< 青 #define KC_TERM_BG_MAG "\x1b[45m" //!< 紫 #define KC_TERM_BG_CYN "\x1b[46m" //!< 水 #define KC_TERM_BG_WHT "\x1b[47m" //!< 白 #define KC_TERM_BG_H_BLK "\x1b[100m" //!< 黒(高輝度) #define KC_TERM_BG_H_RED "\x1b[101m" //!< 赤(高輝度) #define KC_TERM_BG_H_GRN "\x1b[102m" //!< 緑(高輝度) #define KC_TERM_BG_H_YEL "\x1b[103m" //!< 黄(高輝度) #define KC_TERM_BG_H_BLU "\x1b[104m" //!< 青(高輝度) #define KC_TERM_BG_H_MAG "\x1b[105m" //!< 紫(高輝度) #define KC_TERM_BG_H_CYN "\x1b[106m" //!< 水(高輝度) #define KC_TERM_BG_H_WHT "\x1b[107m" //!< 白(高輝度) // 移動系 #define KC_TERM_UP(n) "\x1b[" #n "A" //!< n 上に移動 #define KC_TERM_DOWN(n) "\x1b[" #n "B" //!< n 下に移動 #define KC_TERM_RIGHT(n) "\x1b[" #n "C" //!< n 右に移動 #define KC_TERM_LEFT(n) "\x1b[" #n "D" //!< n 左に移動 #define KC_TERM_DOWN_LINE(n) "\x1b[" #n "E" //!< n 行下に移動(行頭[1列目]) #define KC_TERM_UP_LINE(n) "\x1b[" #n "F" //!< n 行上に移動(行頭[1列目]) #define KC_TERM_COL(n) "\x1b[" #n "G" //!< n 列に移動 #define KC_TERM_MOVE(n, m) "\x1b[" #n ";" #m "H" //!< n,m 位置へ移動 #define KC_TERM_DEL_AFT "\x1b[0J" //!< カーソル以降を消去 #define KC_TERM_DEL_BEF "\x1b[1J" //!< カーソル以前を消去 #define KC_TERM_DEL "\x1b[2J" //!< 全体を消去 #define KC_TERM_DEL_AFT_LINE "\x1b[0K" //!< カーソル行のカーソル以降を消去 #define KC_TERM_DEL_BEF_LINE "\x1b[1K" //!< カーソル行のカーソル以前を消去 #define KC_TERM_DEL_LINE "\x1b[2K" //!< カーソル行を消去 #define KC_TERM_SCROLL(n) "\x1b[" #n "S" //!< n行分次にスクロール #define KC_TERM_SCROLL_R(n) "\x1b[" #n "T" //!< n行分前にスクロール #endif // KC_TERM_H