ncurses

‚¹‚è‚©Ž® - ƒ}ƒjƒ…ƒAƒ‹ - ncurses

ncurses

CUI‚É‚¨‚¢‚āCƒXƒNƒŠ[ƒ“‚âCƒL[“ü—́CƒJ[ƒ\ƒ‹‚È‚Ç‚ðŠÇ—‚·‚郉ƒCƒuƒ‰ƒŠ‚Å‚·D
‚±‚̃‰ƒCƒuƒ‰ƒŠ‚ð—˜—p‚·‚邱‚ƂŁCCUIƒx[ƒX‚Ń_ƒCƒAƒƒO‚ðo‚µ‚½‚èC‚¢‚ë‚¢‚ëo—ˆ‚é‚悤‚Å‚·D
‚±‚±‚ł́CŽ©•ª‚ÅŽg‚¤‚ÆŽv‚Á‚½ŠÖ”‚Ì‚ÝŠÈ’P‚Èà–¾‚ð‘‚¢‚Ä‚¢‚Ü‚·D

‚±‚̃y[ƒW‚́CBSD‚̃}ƒjƒ…ƒAƒ‹‚ðŽQl‚ɁCŽ„‚ª‰ðŽß‚µ‚½‚à‚Ì‚Å‚·D
ŠÔˆá‚Á‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚̂ŁCŽ©ŒÈÓ”C‚ÅŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢D
‚æ‚èÚ‚µ‚­’m‚肽‚¢ê‡‚́CBSD‚̃}ƒjƒ…ƒAƒ‹‚ðŒ©‚Ä‰º‚³‚¢D

ƒwƒbƒ_ƒtƒ@ƒCƒ‹ncurses.h‚̃Cƒ“ƒNƒ‹[ƒh‚ƃ‰ƒCƒuƒ‰ƒŠncurses.a‚̃Šƒ“ƒN‚ª•K—v‚Å‚·
#include <ncurses.h>
-lncurses

Žg‚¢•û

  1. ì¬
    initscr ‚à‚µ‚­‚Í newterm
  2. Ý’è
    ­‚È‚­‚Æ‚àcbreak ‚à‚µ‚­‚Í nocbreak‚ðŒÄ‚яo‚·‚ׂ«D
  3. —˜—p
  4. Œãˆ—
    endwin‚Å’[––‚̃ŠƒZƒbƒg‚ƃJ[ƒ\ƒ‹‚ð¶‰º‚Ɉړ®‚·‚éD
    ‚Ü‚½C•K—v‚ɉž‚¶‚āCendwin‚ÌŒã‚Édelscreen‚ðŒÄ‚ԁD

ƒXƒNƒŠ[ƒ“‚ƃEƒBƒ“ƒhƒE

curses‰æ–ʂ́CƒXƒNƒŠ[ƒ“‚Æ‚¢‚¤’[––‚ƁC’[––ã‚̃EƒBƒ“ƒhƒE‚Ì‚QŽí—Þ‚©‚ç\¬‚³‚ê‚Ü‚·D
ƒEƒBƒ“ƒhƒE‚́C’ʏí‚̃EƒBƒ“ƒhƒE‚Ì‘¼‚ɁCƒpƒbƒh‚ƌĂ΂ê‚é‰æ–ʃTƒCƒY‚ɉe‹¿‚³‚ê‚È‚¢ƒEƒBƒ“ƒhƒE‚à‚ ‚è‚Ü‚·D

–¼‘O‚Ì‹K–ñH

Ú“ªŽ«‚É‚æ‚èCˆø”‚ª•Ï‚í‚é‚悤‚Å‚·D

w‚ÅŽn‚Ü‚éŠÖ”‚́Cˆø”‚ɃEƒBƒ“ƒhƒE‚ðŽw’肵‚Ü‚·D
p‚ÅŽn‚Ü‚éŠÖ”‚́Cˆø”‚Ƀpƒbƒh‚ðŽw’肵‚Ü‚·D
Ú“ªŽ«‚Ì–³‚¢ŠÖ”‚́Cstdscr‚ðŽg—p‚µ‚Ü‚·D

mv‚ÅŽn‚Ü‚éŠÖ”‚́AŽÀÛ‚̏ˆ—‚ðs‚¤‘O‚ÉysCx—ñ–Ú‚Émove‚µ‚Ü‚·D
mvw‚ÅŽn‚Ü‚éŠÖ”‚́CƒEƒBƒ“ƒhƒE‚Æ x,y À•W‚Ì—¼•û‚ðŽw’肵‚Ü‚·

‚±‚±‚ł́CÅ‚à’Pƒ‚ÈŒ`Ž®‚Ì‚Ý‚Ì‚¹‚Ä‚¢‚Ü‚·D
ŠÖ”éŒ¾‚ÌŒã‚ë‚É•t‚¯‚ç‚ê‚éƒvƒŒƒtƒBƒbƒNƒXˆê——‚ðæ‚¹‚Ä‚¨‚«‚Ü‚·D
‚Ü‚½CƒƒCƒh•¶Žš—p‚̊֐”‚à‘¶Ý‚µ‚Ü‚·‚ªC‚±‚±‚ł͏ȗª‚µ‚Ü‚·D

ƒvƒŒƒtƒBƒbƒNƒX‚Ì—á
int addch(chtype ch); [w,mv,mvw]                    // ¶‹L‚̏ꍇCˆÈ‰º‚̊֐”‚ªÈ—ª‚³‚ê‚Ä‚¢‚Ü‚·
int waddch(WINDOW *win, chtype ch);
int mvaddch(int y, int x, chtype ch);
int mvwaddch(WINDOW *win, int y, int x, chtype ch); // ƒEƒBƒ“ƒhƒE‚ªæ‚È‚±‚Æ‚É’ˆÓ

ŠÖ”ˆê——


ƒXƒNƒŠ[ƒ“

ƒXƒNƒŠ[ƒ“‚́C’[––‚ÌŠî‘b‚Æ‚È‚é•”•ª‚Å‚·D
“Á‚É•K—v‚ª‚È‚¢ŒÀ‚èinitscr‚¾‚¯‚ŏ\•ª‚©‚ÆŽv‚¢‚Ü‚·D

1: initscr();
2: ...
3: endwin();
WINDOW *iniscr(void);
’[––‚̏‰Šú‰»D
ŠÂ‹«•Ï”TERMC•W€“üo—Í‚ð—˜—p‚µC’[––‚ð‰Šú‰»‚µ‚Ü‚·D
int endwin(void);
ƒXƒNƒŠ[ƒ“‚ðƒŠƒZƒbƒg‚µCƒJ[ƒ\ƒ‹‚ð¶‰º‚Ɉړ®‚µ‚Ü‚·D
ƒXƒNƒŠ[ƒ“ŠÖ˜A‚̃ƒ‚ƒŠ‚Ȃǂ͉ð•ú‚µ‚È‚¢‚½‚߁C•K—v‚ɉž‚¶‚Ädelscreen‚ðŒÄ‚яo‚·•K—v‚ª‚ ‚è‚Ü‚·D
bool isendwin(void);
Œ»Ý‚̃XƒNƒŠ[ƒ“ã‚É‚¨‚¢‚āC‚·‚łɁCendwin‚ªŒÄ‚΂ê‚Ä‚¢‚é‚©•Ô‚µ‚Ü‚·D
SCREEN *newterm(const char *type, FILE *outfd, FILE *infd);
Žw’肳‚ꂽ’[––ƒ^ƒCƒvC“üo—Í—pƒtƒ@ƒCƒ‹ƒfƒBƒXƒNƒŠƒvƒ^‚ð—˜—p‚µ‚ĐV‚µ‚¢ƒXƒNƒŠ[ƒ“‚ðì¬‚µ‚Ü‚·D
SCREEN *set_term(SCREEN *new);
Œ»Ý‚̃XƒNƒŠ[ƒ“‚ðØ‚è‘Ö‚¦‚éD
•Ô’l‚́C¡‚܂ł̃XƒNƒŠ[ƒ“D
void delscreen(SCREEN* sp);
ƒXƒNƒŠ[ƒ“‚Å—˜—p‚µ‚Ä‚¢‚郁ƒ‚ƒŠ‚ð‰ð•ú‚µ‚Ü‚·D
Œ»ÝŽg—p’†‚̃XƒNƒŠ[ƒ“‚ð‰ð•ú‚µ‚È‚¢‚悤‚É’ˆÓ

ƒEƒBƒ“ƒhƒE

ƒEƒBƒ“ƒhƒE‚́CƒXƒNƒŠ[ƒ“‚©‚ç‚͂ݏo‚·‚悤‚ɍì‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñD
ì¬EˆÚ“®‚É‚æ‚Á‚Ă͂ݏo‚Ä‚µ‚Ü‚¤‚Æ‚«‚̓Gƒ‰[‚Æ‚È‚è‚Ü‚·D

1: WINDOW *wnd = subwin(stdscr, 10, 20, 10, 5);
2: if(wnd) wprintw(wnd, "(10, 5)");
3: else    printw("error");
4: delwin(wnd);
ƒEƒBƒ“ƒhƒE‚̍쐬‚ƍ폜
WINDOW *newwin(int nlines, int ncols, int begin_y, int begin_x);
nlinessCncols—ñ‚̐V‚µ‚¢ƒEƒBƒ“ƒhƒE‚ðCbegin_ysCbegin_x—ñ–ڂɍ쐬‚µ‚Ü‚·D
WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begin_y, int begin_x);
nlinessCncols—ñ‚̐V‚µ‚¢ƒEƒBƒ“ƒhƒE‚ðŽw’肵‚½ƒEƒBƒ“ƒhƒE‚Ìbegin_ysCbegin_x—ñ–ڂɍ쐬‚µ‚Ü‚·D
int delwin(WINDOW *win);
Žw’肵‚½ƒEƒBƒ“ƒhƒE‚ðíœ‚µ‚Ü‚·D
WINDOW *derwin(WINDOW *orig, int nlines, int ncols, int begin_y, int begin_x);
int mvderwin(WINDOW *win, int par_y, int par_x);
WINDOW *dupwin(WINDOW *win);
void wsyncup(WINDOW *win);
void wsyncdown(WINDOW *win);
int syncok(WINDOW *win, bool bf);
void wcursyncup(WINDOW *win);
ƒpƒbƒh‚̍쐬

ƒpƒbƒh‚́CƒTƒCƒY§ŒÀ‚Ì‚È‚¢ƒEƒBƒ“ƒhƒE‚Å‚·D
ƒpƒbƒh‚ð—˜—p‚µ‚½ê‡C‰æ–ʂ̍XV‚͍s‚í‚ê‚È‚¢‚½‚߁C•K—v‚ɉž‚¶‚Äprefresh‚ʼnæ–Ê‚ðXV‚·‚é•K—v‚ª‚ ‚è‚Ü‚·D

WINDOW *newpad(int nlines, int ncols);
nlinessCncols—ñ‚̐V‚µ‚¢ƒpƒbƒh‚ðì¬‚µ‚Ü‚·D
WINDOW *subpad(WINDOW *orig, int nlines, int ncols, int begin_y, int begin_x);
nlinessCncols—ñ‚̐V‚µ‚¢ƒpƒbƒh‚ðŽw’肵‚½ƒEƒBƒ“ƒhƒE‚Ìbegin_ysCbegin_x—ñ–ڂɍ쐬‚µ‚Ü‚·D
‘€ì
int mvwin(WINDOW *win, int y, int x);
Žw’肵‚½ƒEƒBƒ“ƒhƒE‚ðCys–ځCx—ñ–ڂɈړ®‚µ‚Ü‚·D
int wresize(WINDOW *win, int lines, int columns);
Žw’肵‚½ƒEƒBƒ“ƒhƒE‚ðClinessCcolumns—ñ‚ɃŠƒTƒCƒY‚µ‚Ü‚·D
int overlay(const WINDOW *srcwin, WINDOW *dstwin);
dstwinƒEƒBƒ“ƒhƒE‚ɁCsrcwinƒEƒBƒ“ƒhƒE‚ªd‚È‚é‚悤‚É”z’u‚µ‚Ü‚·D
srcwin‚ªXV‚³‚ê‚Ä‚àCdstwin‚Ì“à—e‚Í”j‰ó‚³‚ê‚Ü‚¹‚ñD
2‚‚̃EƒBƒ“ƒhƒE‚͈Ⴄ‘å‚«‚³‚Å‚à‚©‚Ü‚¢‚Ü‚¹‚ñD
int overwrite(const WINDOW *srcwin, WINDOW *dstwin);
srcwin‚̍XV‚É‚æ‚èdstwin‚ª”j‰ó‚³‚ê‚邱‚ƈȊO‚́Coverlay‚Æ“¯‚¶‚Å‚·D
int copywin(WINDOW *srcwin, WINDOW *dstwin, int sminrow, int smincol, int dminrow, int dmincol, int dmaxrow, int dmaxcol, int overlay);
”z’u‚·‚éÀ•W‚ðŽw’è‚Å‚«‚邱‚ƈȊO‚́Coverlay‚Æ“¯‚¶‚Å‚·D
int scrl(int n); [w]
n‚ª³‚̐”‚̏ꍇCã•ûŒü‚ÉnsƒXƒNƒ[ƒ‹‚µ‚Ü‚·D
•‰‚̐”‚̏ꍇC‰º•ûŒü‚ÉnsƒXƒNƒ[ƒ‹‚µ‚Ü‚·D
‚±‚̊֐”‚ðŽg‚¤ê‡Cscrollok‚ŃXƒNƒ[ƒ‹‚ª—LŒø‚É‚È‚Á‚Ä‚¢‚é•K—v‚ª‚ ‚è‚Ü‚·D
int scroll(WINDOW *win);
wscrl(win, 1)‚Æ“¯“™‚Å‚·D
int beep(void);
‰Â”\‚Å‚ ‚ê‚Î’[––‚ÌŒx‰¹‚ð–‚炵‚Ü‚·D
–‚炷‚±‚Æ‚ª‚Å‚«‚È‚¢ê‡C’[––‚ðƒtƒ‰ƒbƒVƒ…(ƒrƒWƒuƒ‹ƒxƒ‹)‚³‚¹‚Ü‚·D
‚Ç‚¿‚ç‚à‚Å‚«‚È‚¢ê‡C‚È‚É‚à‹N‚«‚Ü‚¹‚ñD
int flash(void);
’[––‚ðƒtƒ‰ƒbƒVƒ…‚³‚¹‚Ü‚·D
ƒtƒ‰ƒbƒVƒ…‚³‚¹‚邱‚Æ‚ª‚Å‚«‚È‚¢ê‡CŒx‰¹‚ð–‚炵‚Ü‚·D
‚Ç‚¿‚ç‚à‚Å‚«‚È‚¢ê‡C‚È‚É‚à‹N‚«‚Ü‚¹‚ñD
‘®«
void getparyx(WINDOW *win, int y, int x);
Žw’肵‚½ƒEƒBƒ“ƒhƒE‚ªƒTƒuƒEƒBƒ“ƒhƒE‚Å‚ ‚é‚Æ‚«CeƒEƒBƒ“ƒhƒE‚É‚¨‚¯‚鍶ãÀ•W‚ðŽæ“¾‚µ‚Ü‚·D
ƒTƒuƒEƒBƒ“ƒhƒE‚Å‚Í‚È‚¢‚Æ‚«Cx‚Æy‚É‚Í-1‚ª“ü‚ê‚ç‚ê‚ê‚Ü‚·D
‚±‚ê‚́CŠÖ”‚Å‚Í‚È‚­ƒ}ƒNƒ‚ÅŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚·D
void getbegyx(WINDOW *win, int y, int x);
Žw’肳‚ꂽƒEƒBƒ“ƒhƒE‚̍À•W‚ðŽæ“¾‚µ‚Ü‚·D
‚±‚ê‚́CŠÖ”‚Å‚Í‚È‚­ƒ}ƒNƒ‚ÅŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚·D
void getmaxyx(WINDOW *win, int y, int x);
Žw’肳‚ꂽƒEƒBƒ“ƒhƒE‚̃TƒCƒY‚ðŽæ“¾‚µ‚Ü‚·D
‚±‚ê‚́CŠÖ”‚Å‚Í‚È‚­ƒ}ƒNƒ‚ÅŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚·D
int border(chtype ls, chtype rs, chtype ts, chtype bs, chtype tl, chtype tr, chtype bl, chtype br); [w]
ƒEƒBƒ“ƒhƒE‚ɘg‚ðì¬‚µ‚Ü‚·D
ˆø”‚ɂ́C‚»‚ꂼ‚ê‚̈ʒu‚ɏo—Í‚·‚镶Žš‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«C0‚ðŽw’肵‚½ê‡CƒfƒtƒHƒ‹ƒg‚Ì•¶Žš‚ªŽg—p‚³‚ê‚Ü‚·D
ˆø”‚ƃfƒtƒHƒ‹ƒg‚Ì•¶Žš
ls  ¶‘¤    ACS_VLINE
rs  ‰E‘¤    ACS_VLINE
ts  ã‘¤    ACS_HLINE
ds  ‰º‘¤    ACS_HLINE
tl  ¶ã‹÷  ACS_ULCORNER
tr  ‰Eã‹÷  ACS_URCORNER
bl  ¶‰º‹÷  ACS_LLCORNER
br  ‰E‰º‹÷  ACS_LRCORNER
ƒ‰ƒCƒ“ƒOƒ‰ƒtƒBƒbƒNƒX‚ÉŠÖ‚µ‚ẮC‚±‚¿‚çŽQÆD
int box(WINDOW *win, chtype verch, chtype horch);
wborder(win, verch, verch, horch, horch, 0, 0, 0, 0)‚Æ“¯“™‚Å‚·D
int hline(chtype ch, int n); [w,mv,mvw]
Œ»Ý‚̃J[ƒ\ƒ‹ˆÊ’u‚©‚çÅ‘ån‚Ì’·‚³‚ðŽ‚Â…•½ü‚ðˆø‚«‚Ü‚·D
ƒJ[ƒ\ƒ‹ˆÊ’u‚Í•Ï‚í‚è‚Ü‚¹‚ñD
int vline(chtype ch, int n); [w,mv,mvw]
‚’¼ü‚ðˆø‚­‚±‚ƈȊO‚́Chline‚Æ“¯‚¶‚Å‚·D
void bkgdset(const chtype ch); [w]
ƒEƒBƒ“ƒhƒE‚Ì”wŒi‚ðÝ’肵‚Ü‚·D
int bkgd(const chtype ch); [w]
chtype getbkgd(WINDOW *win);
ƒEƒBƒ“ƒhƒE‚Ì”wŒi‚ðŽæ“¾‚µ‚Ü‚·D
int attron(int attrs); [w]
ƒEƒBƒ“ƒhƒE‚Ì‘®«’†‚ÌŽw’肵‚½‘®«‚ð—LŒø‚É‚µ‚Ü‚·D
Žw’è‚Å‚«‚é‘®«‚ÉŠÖ‚µ‚ẮC‚±‚¿‚çŽQÆD
int attroff(int attrs); [w]
ƒEƒBƒ“ƒhƒE‚Ì‘®«’†‚ÌŽw’肵‚½‘®«‚𖳌ø‚É‚µ‚Ü‚·D
Žw’è‚Å‚«‚é‘®«‚ÉŠÖ‚µ‚ẮC‚±‚¿‚çŽQÆD
int attrset(int attrs);
ƒEƒBƒ“ƒhƒE‚Ì‘®«‚ðCŽw’肵‚½‘®«‚ɐݒ肵‚Ü‚·D
Žw’è‚Å‚«‚é‘®«‚ÉŠÖ‚µ‚ẮC‚±‚¿‚çŽQÆD
int standend(void); [w]
attrset(A_NORMAL)‚Æ“¯“™‚Å‚·D
int standout(void); [w]
attron(A_STANDOUT)‚Æ“¯“™‚Å‚·D
int color_set(short color_pair_number, void* opts); [w]
ƒEƒBƒ“ƒhƒE‚Ì‘OŒi / ”wŒi‚ðÝ’肵‚Ü‚·D
opt‚͏«—ˆ‚Ì‚½‚ß‚Ì—\–ñ•Ï”‚ŁCŒ»Ý‚Ì‚Æ‚±‚ëNULL‚ð“n‚³‚È‚¢‚Æ‚¢‚¯‚Ü‚¹‚ñD
int attr_on(attr_t attrs, void *opts); [w]
‘®«‚ÌŽw’肪attr_tŒ^‚Å‚ ‚邱‚ƈȊO‚́Cattron‚Æ“¯‚¶‚Å‚·D
opt‚͏«—ˆ‚Ì‚½‚ß‚Ì—\–ñ•Ï”‚ŁCŒ»Ý‚Ì‚Æ‚±‚ëNULL‚ð“n‚³‚È‚¢‚Æ‚¢‚¯‚Ü‚¹‚ñD
int attr_off(attr_t attrs, void *opts); [w]
‘®«‚ÌŽw’肪attr_tŒ^‚Å‚ ‚邱‚ƈȊO‚́Cattroff‚Æ“¯‚¶‚Å‚·D
opt‚͏«—ˆ‚Ì‚½‚ß‚Ì—\–ñ•Ï”‚ŁCŒ»Ý‚Ì‚Æ‚±‚ëNULL‚ð“n‚³‚È‚¢‚Æ‚¢‚¯‚Ü‚¹‚ñD
int attr_set(attr_t attrs, short pair, void *opts); [w]
‘®«‚ÌŽw’肪attr_tŒ^‚Å‚ ‚邱‚ƈȊO‚́Cattrset‚Æ“¯‚¶‚Å‚·D
opt‚͏«—ˆ‚Ì‚½‚ß‚Ì—\–ñ•Ï”‚ŁCŒ»Ý‚Ì‚Æ‚±‚ëNULL‚ð“n‚³‚È‚¢‚Æ‚¢‚¯‚Ü‚¹‚ñD
int attr_get(attr_t *attrs, short *pair, void *opts); [w]
Œ»Ý‚Ì‘®«‚¨‚æ‚ѐF‚̃yƒA‚ðŽæ“¾‚µ‚Ü‚·D
opt‚͏«—ˆ‚Ì‚½‚ß‚Ì—\–ñ•Ï”‚ŁCŒ»Ý‚Ì‚Æ‚±‚ëNULL‚ð“n‚³‚È‚¢‚Æ‚¢‚¯‚Ü‚¹‚ñD
int chgat(int n, attr_t attr, short color, const void *opts) [w,mv,mvw]
ƒJ[ƒ\ƒ‹ˆÊ’u‚©‚çCn•¶Žš‚Ì‘®«‚ð•ÏX‚µ‚Ü‚·D
opt‚͏«—ˆ‚Ì‚½‚ß‚Ì—\–ñ•Ï”‚ŁCŒ»Ý‚Ì‚Æ‚±‚ëNULL‚ð“n‚³‚È‚¢‚Æ‚¢‚¯‚Ü‚¹‚ñD

F

ƒJƒ‰[‘®«‚ðˆµ‚¤‚½‚߂̊֐”‚Å‚·D
‚±‚ê‚ç‚̊֐”‚ðŽg‚¤ê‡C‚ ‚ç‚©‚¶‚ßstart_color‚ðŒÄ‚яo‚µ‚Ä‚¨‚­•K—v‚ª‚ ‚è‚Ü‚·D

int start_color(void);
ƒJƒ‰[‘®«‚ðˆµ‚¤‚½‚߂ɁC‰Šú‰»‚µ‚Ü‚·D
‚±‚̊֐”‚́Cinitscr‚ƈꏏ‚ɌĂяo‚µ‚Ä‚¨‚­‚±‚ƁD
int init_pair(short pair, short f, short b);
F‚̃yƒA‚Ì’è‹`‚ð‰Šú‰»E•ÏX‚µ‚Ü‚·D
pair‚̓yƒA‚̔ԍ†‚ŁC1‚©‚çCOLOR_PAIRS-1‚ÌŠÔ‚Ì’l‚ðŽw’肵‚Ü‚·D
f‚Æb‚Í‘OŒiF‚Æ”wŒiF‚ŁC0‚©‚çCOLORS‚ÌŠÔ‚Ì’l‚ðŽw’肵‚Ü‚·D
pair = 0‚Í‘OŒiF‚ª”’C”wŒiF‚ª•‚ɐݒ肳‚ê‚Ä‚¨‚èC•ÏX‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñD
int pair_content(short pair, short *f, short *b);
Žw’肵‚½ƒyƒA”ԍ†‚Ì‘OŒiF‚Æ”wŒiF‚ðŽæ“¾‚µ‚Ü‚·D
int init_color(short color, short r, short g, short b);
F‚Ì’è‹`‚ð‰Šú‰»E•ÏX‚µ‚Ü‚·D
color‚͐F‚̔ԍ†‚ŁC1‚©‚çCOLOR‚ÌŠÔ‚Ì’l‚ðŽw’肵‚Ü‚·D
rCgCb‚͐F‚̐ԁC—΁CÂ‚Ì—v‘f‚Ì‹­‚³‚ŁC0‚©‚ç1000‚ÌŠÔ‚Ì’l‚ðŽw’肵‚Ü‚·D
‚±‚±‚ŕύX‚³‚ꂽF‚Í’¼‚¿‚ɉæ–Ê‚Ö”½‰f‚³‚ê‚Ü‚·D
int color_content(short color, short *r, short *g, short *b);
Žw’肵‚½F”ԍ†‚ÌRGB‚Ì‹­‚³‚ðŽæ“¾‚µ‚Ü‚·D
bool has_colors(void);
Œ»Ý‚Ì’[––‚ªF‚ðˆµ‚¦‚é‚©•Ô‚µ‚Ü‚·D
ˆµ‚¦‚éê‡‚́CTRUE‚ª•Ô‚³‚ê‚Ü‚·D
bool can_change_color(void);
Œ»Ý‚Ì’[––‚ªF‚ðˆµ‚¦C‚©‚CF‚̕ύX‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚é‚©•Ô‚µ‚Ü‚·D
ˆµ‚¦‚éê‡‚́CTRUE‚ª•Ô‚³‚ê‚Ü‚·D
int assume_default_colors(int fg, int bg);
ƒfƒtƒHƒ‹ƒg‚Ì”wŒiF‚Æ‘OŒiF‚Æ‚µ‚ÄŽg‚¤F”ԍ†‚ðŽw’肵‚Ü‚·D
‚±‚ê‚́C—BˆêFƒyƒA0‚̐F‚Ì‘g‚ݍ‡‚킹‚ð•ÏX‚·‚éŽè’i‚É‚È‚è‚Ü‚·D
‚±‚̊֐”‚́Cncurses‚ÌŠg’£ŠÖ”‚Å‚·D
int use_default_colors(void);
assume_default_colors(-1, -1)‚Æ“™‰¿‚Å‚·D

ƒJ[ƒ\ƒ‹ŠÖ˜A

int move(int y, int x); [w]
ƒJ[ƒ\ƒ‹‚ðysx—ñ‚Ɉړ®‚µ‚Ü‚·D
void getyx(WINDOW *win, int y, int x);
ƒJ[ƒ\ƒ‹‚̍À•W‚ðŽæ“¾‚µ‚Ü‚·D
‚±‚ê‚́CŠÖ”‚Å‚Í‚È‚­ƒ}ƒNƒ‚ÅŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚·D

ƒ}ƒEƒXŠÖ˜A

int getmouse(MEVENT *event);
int ungetmouse(MEVENT *event);
mmask_t mousemask(mmask_t newmask, mmask_t *oldmask);
bool wenclose(WINDOW *win, int y, int x);
bool mouse_trafo(int* pY, int* pX, bool to_screen); [w]
int mouseinterval(int erval);

“ü—ÍŠÖ˜A

Ý’è

’[––‚©‚ç‚Ì“ü—͂̐§Œä‚Å‚·D

1: cbreak();    // ƒL[“ü—͂𒼂¿‚Ɏ󂯕t‚¯‚é
2: noecho();    // ƒGƒR[‚µ‚È‚¢
int cbreak(void);
ƒL[‚Ì“ü—Í‚ðRaw Mode‚É‚µ‚Ü‚·D
‚±‚̃‚[ƒh‚ł́CƒL[“ü—͂̓oƒbƒtƒ@‚³‚ꂸC‚·‚®‚ɃvƒƒOƒ‰ƒ€‚É“n‚³‚ê‚Ü‚·
int nocbreak(void);
ƒL[‚Ì“ü—Í‚ðCooked Mode‚É‚µ‚Ü‚·D
‚±‚̃‚[ƒh‚ł́C‰üs‚©ƒLƒƒƒŠƒbƒWƒŠƒ^[ƒ“‚ª“ü—Í‚³‚ê‚é‚܂ŁCƒL[“ü—Í‚ðƒoƒbƒtƒ@‚µ‚Ü‚·D
int halfdelay(int tenths);
Raw Mode‚Æ‚Ù‚Ú“¯‚¶‚Å‚·‚ªCthnths * 10•ª‚Ì1•b‘Ò‚Á‚Ä“ü—Í‚ª–³‚©‚Á‚½ê‡ƒGƒ‰[‚Æ‚È‚è‚Ü‚·D
‚±‚̃‚[ƒh‚𔲂¯‚é‚Æ‚«‚́Cnocbreak‚ðŒÄ‚Ñ‚Ü‚·D
int echo(void);
ƒL[‚ðƒ^ƒCƒv‚µ‚½‚Æ‚«‚ɁCƒXƒNƒŠ[ƒ“‚ɃGƒR[‚·‚郂[ƒh‚É‚µ‚Ü‚·D
int noecho(void);
ƒL[‚ðƒ^ƒCƒv‚µ‚Ä‚àCƒXƒNƒŠ[ƒ“‚ɃGƒR[‚µ‚È‚¢ƒ‚[ƒh‚É‚µ‚Ü‚·D
int intrflush(WINDOW *win, bool bf);
ƒL[ƒ{[ƒh‚©‚ç‚ÌŠ„‚荞‚Ý(interrupt(SIGINT),break,quit(SIGQUIT))‚ª”­¶‚µ‚½‚Æ‚«‚ɁCƒEƒBƒ“ƒhƒE‚Ì“à—e‚ðflash‚·‚é‚©Žw’肵‚Ü‚·D
int keypad(WINDOW *win, bool bf);
bf‚ÉTRUE‚ðŽw’肵‚½ê‡Cwgetch“™‚É‚¨‚¢‚āCƒtƒ@ƒ“ƒNƒVƒ‡ƒ“ƒL[‚ð‰Ÿ‚µ‚½‚Æ‚«‚Ƀtƒ@ƒ“ƒNƒVƒ‡ƒ“ƒL[‚̃R[ƒh‚ð•Ô‚·‚悤‚É‚È‚è‚Ü‚·D
FALSE‚̏ꍇCƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚Ì‚Ü‚ÜŽæ‚èo‚³‚ê‚Ü‚·D
•Ô‚³‚ê‚éƒL[ƒR[ƒh‚ÉŠÖ‚µ‚ẮCƒ}ƒjƒ…ƒAƒ‹C‚à‚µ‚­‚Í‚±‚¿‚çŽQÆD
int define_key(char *definition, int keycode);
ƒL[ƒR[ƒh‚ɃL[‚ðŠ„‚è“–‚Ä‚Ü‚·D
definition‚ªNULL‚Å‚ ‚Á‚½ê‡C‚»‚̃L[ƒR[ƒh‚͍폜‚³‚ê‚Ü‚·D
char * keybound(int keycode, int count);
Žw’肵‚½ƒL[ƒR[ƒh‚ÉŠ„‚è“–‚Ä‚ç‚ꂽƒL[‚ðŽæ“¾‚µ‚Ü‚·D
int keyok(int keycode, bool enable);
Žw’肵‚½ƒL[ƒR[ƒh‚Ì—LŒø/–³Œø‚ðØ‚è‘Ö‚¦‚Ü‚·
int meta(WINDOW *win, bool bf);
int nodelay(WINDOW *win, bool bf);
bf‚ÉTRUE‚ðŽw’肵‚½ê‡Cgetch‚Ȃǂ̌Ăяo‚µ‚ªC”ñƒuƒƒbƒLƒ“ƒOƒ‚[ƒh‚É‚È‚è‚Ü‚·D
”ñƒuƒƒbƒLƒ“ƒOƒ‚[ƒh‚ł́C“ü—͂̏€”õ‚ª–³‚¢iƒoƒbƒtƒ@‚Ƀf[ƒ^‚ª–³‚¢jê‡CERR‚ª•Ô‚³‚ê‚Ü‚·D
int raw(void);
int noraw(void);
void noqiflush(void);
void qiflush(void);
int notimeout(WINDOW *win, bool bf);
timeoutŠÖ”‚ƃyƒA‚Å‚Í–³‚¢‚±‚Æ‚É’ˆÓ
ŽŸ‚̃L[“ü—͂܂ł̃^ƒCƒ€ƒAƒEƒg‚ð—˜—p‚·‚é‚©Žw’肵‚Ü‚·D
‚±‚ê‚́CƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚̉ðŽß‚É—˜—p‚³‚ê‚Ü‚·D
void timeout(int delay); [w]
nodelay‚Æ‚Ù‚Ú“¯‚¶‚Å‚·‚ªCERR‚ð•Ô‚·‚܂ł̃^ƒCƒ€ƒAƒEƒgŽžŠÔ‚ðŽw’è‚Å‚«‚é“_‚ªˆá‚¢‚Ü‚·D
delay‚É•‰‚Ì’l‚ðŽw’è‚·‚é‚ƁCƒuƒƒbƒLƒ“ƒOƒ‚[ƒh‚É‚È‚è‚Ü‚·D
delay‚É0‚ðŽw’è‚·‚é‚ƁC”ñƒuƒƒbƒLƒ“ƒOƒ‚[ƒh‚É‚È‚è‚Ü‚·D
delay‚ɐ³‚Ì’l‚ðŽw’è‚·‚é‚ƁCdelayƒ~ƒŠ•b‘Ò‚¿C‚»‚ÌŠÔ‚É“ü—Í‚ª–³‚¢ê‡ERR‚ð•Ô‚µ‚Ü‚·D
int typeahead(int fd);
“ü—Í

“ü—͂́CscanwŒnŠÖ”‚ƁCgetŒnŠÖ”CinŒnŠÖ”‚ª‚ ‚è‚Ü‚·D ˆá‚¢‚Í‚Ù‚Æ‚ñ‚Ç‚ ‚è‚Ü‚¹‚ñ‚ªC scanwŒnŠÖ”‚͏‘Ž®•t‚«“ü—́C getŒnŠÖ”‚͒ʏí‚Ì“ü—́C inŒnŠÖ”‚̓EƒBƒ“ƒhƒE‚Ì•¶Žš‚̓ǂݍž‚Ý ‚Æ‚¢‚Á‚½‚Æ‚±‚ë‚Å‚µ‚傤‚©D

int scanw(char *fmt [, arg] ...); [w,mv,mvw]
getstr‚É‚¨‚¢‚Ä“ü—Í‚³‚ꂽ•¶Žš—ñ‚ðŒ³‚ÉCscanf‚ɏ]‚¢‘Ž®‰»‚µ‚½ê‡‚Æ“¯“™‚Å‚·D
int vwscanw(WINDOW *win, char *fmt, va_list varglist);
‰Â•Ïˆø”‚ðva_list‚Æ‚µ‚Ä“n‚·‚±‚ƈȊO‚́Cscanw‚Æ“¯‚¶‚Å‚·D
‚±‚̊֐”‚ðŽg‚¤ê‡Cƒwƒbƒ_ƒtƒ@ƒCƒ‹varargs.h‚àƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­•K—v‚ª‚ ‚è‚Ü‚·D
int getch(void); [w,mv,mvw]
1•¶Žš“ǂݍž‚Ý‚Ü‚·D
keypad‚ªTRUE‚ɐݒ肳‚ê‚Ä‚¢‚éê‡‚́CƒL[ƒR[ƒh‚ª‹A‚Á‚Ä‚­‚é‰Â”\«‚ª‚ ‚è‚Ü‚·D
•Ô‚³‚ê‚éƒL[ƒR[ƒh‚ÉŠÖ‚µ‚ẮCƒ}ƒjƒ…ƒAƒ‹C‚à‚µ‚­‚Í‚±‚¿‚çŽQÆD
int ungetch(int ch);
1•¶Žš‰Ÿ‚µž‚Ý‚Ü‚·D
‚±‚±‚ʼnŸ‚µž‚ñ‚¾•¶Žš‚ªCŽŸ‚Ìgetch‚Å•Ô‚³‚ê‚Ü‚·D
‰Ÿ‚µž‚Ý‚ª•ÛØ‚³‚ê‚Ä‚¢‚é‚̂́C1•¶Žš‚Ì‚Ý‚Å‚·D
int getstr(char *str); [w,mv,mvw]
‰üs‚©ƒLƒƒƒŠƒbƒWƒŠƒ^[ƒ“‚ª‚ðŽó‚¯Žæ‚é‚܂ŁCƒL[ƒ{[ƒh‚©‚當Žš—ñ‚ð“ǂݍž‚Ý‚Ü‚·D
int getnstr(char *str, int n); [w,mv,mvw]
“ǂݍž‚Þ•¶Žš—ñ‚̍ő咷‚ðŽw’è‚·‚邱‚ƈȊO‚́Cgetstr‚Æ“¯‚¶‚Å‚·D
chtype inch(void); [w,mv,mvw]
ƒJ[ƒ\ƒ‹ˆÊ’u‚Ì•¶Žš‚𑮐«•t‚«‚œǂݏo‚µ‚Ü‚·D
int instr(char *str); [w,mv,mvw]
ƒJ[ƒ\ƒ‹ˆÊ’u‚©‚çƒkƒ‹•¶Žš‚Ü‚Å‚ð“ǂݏo‚µ‚Ü‚·D
int innstr(char *str, int n); [w,mv,mvw]
“ǂݍž‚Þ•¶Žš—ñ‚̍ő咷‚ðŽw’è‚·‚邱‚ƈȊO‚́Cinstr‚Æ“¯‚¶‚Å‚·D
int inchstr(chtype *chstr); [w,mv,mvw]
“ǂݏo‚·•¶Žš—ñ‚ª‘®«•t‚«‚Å‚ ‚邱‚ƈȊO‚́Cinstr‚Æ“¯‚¶‚Å‚·D
int inchnstr(chtype *chstr, int n); [w,mv,mvw]
“ǂݍž‚Þ•¶Žš—ñ‚̍ő咷‚ðŽw’è‚·‚邱‚ƈȊO‚́Cinchstr‚Æ“¯‚¶‚Å‚·D

o—ÍŠÖ˜A

Ý’è

’[––‚ւ̏o—Í‚ÉŠÖ‚·‚éÝ’è‚Å‚·D

1: idlok();       // s‚Ì‘}“ü‚ðs‚¤‚悤‚É‚µ‚Ü‚·
2: scrollok();    // ƒEƒBƒ“ƒhƒE‚ðƒXƒNƒ[ƒ‹‚·‚é‚悤‚É‚µ‚Ü‚·
int clearok(WINDOW *win, bool bf);
‰æ–Ê‚ðƒNƒŠƒA‚µC‘S‰æ–Ê‚ðÄ•`‰æ‚·‚é‚悤‚É‚µ‚Ü‚·D
’[––‚ðƒŠƒZƒbƒg‚·‚é‚Æ‚«‚⎋ŠoŒø‰Ê‚𓾂½‚¢‚Æ‚«‚ÉŽg‚¢‚Ü‚·H
int idlok(WINDOW *win, bool bf);
s‚Ì‘}“ü^íœ‚ðs‚¦‚é‚悤‚É‚µ‚Ü‚·D
‰æ–ʂ̃XƒNƒ[ƒ‹‚́CÅ‰ºs‚ɍs‚ð’ljÁ‚·‚é‚̂ŁCscrollok‚ðŒÄ‚яo‚·‚Æ‚«‚́C‚±‚̊֐”‚àŒÄ‚яo‚·•K—v‚ª‚ ‚è‚Ü‚·D
void idcok(WINDOW *win, bool bf);
•¶Žš‚Ì‘}“ü^íœ‚ðs‚¦‚é‚悤‚É‚µ‚Ü‚·D
ƒfƒtƒHƒ‹ƒg‚Å—LŒø‚É‚È‚Á‚Ä‚¢‚é–Í—lD
void immedok(WINDOW *win, bool bf);
int leaveok(WINDOW *win, bool bf);
int setscrreg(int top, int bot); [w]
ƒXƒNƒ[ƒ‹‚·‚é—̈æ‚ðŽw’肵‚Ü‚·D
int scrollok(WINDOW *win, bool bf);
ÅIs‚ʼnüs‚ª”­¶‚µ‚½‚Æ‚«CƒXƒNƒ[ƒ‹‚·‚é‚©Žw’肵‚Ü‚·D
int nl(void);
‰üs‚ðƒŠƒ^[ƒ“‚ƃ‰ƒCƒ“ƒtƒB[ƒh‚É•ÏŠ·‚µ‚Ü‚·D
int nonl(void);
‰üs‚ðƒŠƒ^[ƒ“‚ƃ‰ƒCƒ“ƒtƒB[ƒh‚É•ÏŠ·‚µ‚Ü‚¹‚ñD
o—Í

o—͂́CprintwŒnŠÖ”‚ƁCaddŒnŠÖ”CinsŒnŠÖ”‚ª‚ ‚è‚Ü‚·D ˆá‚¢‚Í‚Ù‚Æ‚ñ‚Ç‚ ‚è‚Ü‚¹‚ñ‚ªC printwŒnŠÖ”‚͏‘Ž®•t‚«o—́C addŒnŠÖ”‚̓J[ƒ\ƒ‹‚ÌŒã‚ë‚É•¶Žš—ñ‚ð’ljÁC insŒnŠÖ”‚̓J[ƒ\ƒ‹‚Ì‘O‚É•¶Žš—ñ‚ð‘}“ü ‚Æ‚¢‚Á‚½‚Æ‚±‚ë‚Å‚µ‚傤‚©D

int printw(char *fmt [, arg] ...); [w,mv,mvw]
printf‚ɏ]‚¢‘Ž®‰»‚µ‚½•¶Žš—ñ‚ðCaddstr‚É“n‚µ‚½ê‡‚Æ“¯“™‚Å‚·D
int vwprintw(WINDOW *win, char *fmt, va_list varglist);
‰Â•Ïˆø”‚ðva_list‚Æ‚µ‚Ä“n‚·‚±‚ƈȊO‚́Cprintw‚Æ“¯‚¶‚Å‚·D
‚±‚̊֐”‚ðŽg‚¤ê‡Cƒwƒbƒ_ƒtƒ@ƒCƒ‹varargs.h‚àƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¨‚­•K—v‚ª‚ ‚è‚Ü‚·D
int addch(chtype ch); [w,mv,mvw]
ƒJ[ƒ\ƒ‹ˆÊ’u‚É•¶Žš‚ð’ljÁ‚µCƒJ[ƒ\ƒ‹‚ði‚ß‚Ü‚·D
‚±‚Ì‚Æ‚«C‰E’[‚Å‚ ‚ê‚ÎŽŸ‚̍s‚̐擪‚ɃJ[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·D
‚Ü‚½CÅ‰ºs‚Å‚ ‚èCƒXƒNƒ[ƒ‹‰Â”\(scrollok)‚Å‚ ‚ê‚΁CƒXƒNƒ[ƒ‹‚µ‚Ü‚·D
‚±‚̊֐”‚ł́Cƒ‰ƒCƒ“•`‰æ•¶Žš‚ðo—Í‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·D
Žg‚¦‚郉ƒCƒ“•`‰æ•¶Žš‚Í‚±‚¿‚çŽQÆD
int echochar(chtype ch); [w]
addch‚Ærefresh‘±‚¯‚ČĂяo‚³‚ꂽê‡‚Æ“¯“™‚Å‚·D
o—Í‚·‚镶Žš‚ªC§Œä•¶Žš‚Å‚Í‚È‚­C‚©‚C1•¶Žš‚¾‚¯‚Å‚ ‚éê‡‚́C‚±‚¿‚ç‚̊֐”‚ðŽg‚Á‚½•û‚ª‚¢‚¢‚悤‚Å‚·D
int pechochar(WINDOW *pad, chtype ch);
‘Ώۂªƒpƒbƒh‚Å‚ ‚邱‚ƈȊOCechochar‚Æ“¯“™‚Å‚·D
int addstr(const char *str); [w,mv,mvw]
ƒJ[ƒ\ƒ‹ˆÊ’u‚É•¶Žš—ñ‚ð’ljÁ‚µCƒJ[ƒ\ƒ‹‚ði‚ß‚Ü‚·D
addch‚Æ“¯—l‚ɁC•K—v‚ɉž‚¶‚ĉüsEƒXƒNƒ[ƒ‹‚³‚ê‚Ü‚·D
int addnstr(const char *str, int n); [w,mv,mvw]
o—Í‚·‚镶Žš—ñ‚̍ő咷‚ðŽw’è‚·‚邱‚ƈȊO‚́Caddstr‚Æ“¯‚¶‚Å‚·D
n‚É•‰‚̐”‚ðŽw’肵‚½ê‡C“à•”‚Ån = strlen(str)‚ðŒÄ‚яo‚µ‚Ä‚¢‚é–Í—lD
int addchstr(const chtype *chstr); [w,mv,mvw]
addstr‚ÉŽ—‚Ä‚¢‚Ü‚·‚ªCˆÈ‰º‚Ì“_‚É‚¨‚¢‚ĈقȂè‚Ü‚·D
‚»‚Ì‚½‚߁Caddstr‚Æ”äŠr‚µ‚āC‚‘¬‚É“®ì‚µ‚Ü‚·D
int addchnstr(const chtype *chstr, int n); [w,mv,mvw]
o—Í‚·‚镶Žš—ñ‚̍ő咷‚ðŽw’è‚·‚邱‚ƈȊO‚́Caddchstr‚Æ“¯‚¶‚Å‚·D
n‚É•‰‚̐”‚ðŽw’肵‚½ê‡C“à•”‚Ån = strlen(str)‚ðŒÄ‚яo‚µ‚Ä‚¢‚é–Í—lD
int insch(chtype ch); [w,mv,mvw]
ƒJ[ƒ\ƒ‹ˆÊ’u‚Éch‚ð‘}“ü‚µ‚Ü‚·D
‚±‚ÌŒ‹‰ÊC‚»‚̍s‚̍Ōã‚Ì•¶Žš‚ªíœ‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñD
‚Ü‚½C‚±‚̊֐”‚ł́CƒJ[ƒ\ƒ‹‚̈ʒu‚͕ω»‚µ‚Ü‚¹‚ñD
int insstr(const char *str); [w,mv,mvw]
ƒJ[ƒ\ƒ‹‚̈ʒu‚É•¶Žš—ñ‚ð‘}“ü‚µ‚Ü‚·D
‚Ü‚½C‚±‚̊֐”‚ł́CƒJ[ƒ\ƒ‹‚̈ʒu‚͕ω»‚µ‚Ü‚¹‚ñD
int insnstr(const char *str, int n); [w,mv,mvw]
o—Í‚·‚镶Žš—ñ‚̍ő咷‚ðŽw’è‚·‚邱‚ƈȊO‚́Cinsstr‚Æ“¯‚¶‚Å‚·D
n‚É•‰‚̐”‚ðŽw’肵‚½ê‡C“à•”‚Ån = strlen(str)‚ðŒÄ‚яo‚µ‚Ä‚¢‚é–Í—lD
int insnstr(const char *str, int n); [w,mv,mvw]
o—Í‚·‚镶Žš—ñ‚̍ő咷‚ðŽw’è‚·‚邱‚ƈȊO‚́Cinsstr‚Æ“¯‚¶‚Å‚·D
n‚É•‰‚̐”‚ðŽw’肵‚½ê‡C“à•”‚Ån = strlen(str)‚ðŒÄ‚яo‚µ‚Ä‚¢‚é–Í—lD
int insdelln(int n); [w]
Œ»Ýs‚̏ã‚Éns‹ós‚ð’ljÁ‚µ‚Ü‚·D
‚»‚ÌŒ‹‰ÊC‰º’[‚Ìns‚ªÁ‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñD
n‚É•‰‚̐”‚ðŽw’肵‚½ê‡CŒ»Ýs‚̉º‚̍s‚©‚çnsíœ‚³‚ê‚Ü‚·D
int insertln(void); [w]
insdelln(1)‚ðŒÄ‚яo‚·‚Ì‚Æ“¯“™‚Å‚·D

Á‹Ž

int erase(void); [w]
ƒEƒBƒ“ƒhƒE‚É‹ó”’‚ðƒRƒs[‚·‚邱‚Æ‚É‚æ‚蕶Žš‚ðÁ‹Ž‚µ‚Ü‚·D
int clear(void); [w]
clearok‚ðŒÄ‚яo‚µCŽŸ‚Ìrefresh‚̌Ăяo‚µŽž‚ɉæ–Ê‘S‘Ì‚ðÄ•`‰æ‚µ‚Ü‚·D
int clrtoeol(void); [w]
ƒJ[ƒ\ƒ‹ˆÊ’u‚©‚çs‚̏I‚í‚è‚Ü‚Å‚ðíœ‚µ‚Ü‚·D
int clrtobot(void); [w]
ƒJ[ƒ\ƒ‹ˆÊ’u‚©‚ç‰æ–ʂ̏I‚í‚è‚Ü‚Å‚ðíœ‚µ‚Ü‚·D
int delch(void);
ƒJ[ƒ\ƒ‹ˆÊ’u‚Ì•¶Žš‚ðíœ‚µ‚Ü‚·D
‚±‚ê‚É‚æ‚èCƒJ[ƒ\ƒ‹‚æ‚è‰E‚Ì•¶Žš‚ªCˆê‚‚¸‚¶‚É‚¸‚ê‚Ü‚·D
int deleteln(void);
ƒJ[ƒ\ƒ‹‚Ì‚ ‚és‚ðíœ‚µ‚Ü‚·D
‚±‚ê‚É‚æ‚èCŽŸ‚̍sˆÈ~‚ªˆês‚¸‚ã‚É‚¸‚ê‚Ü‚·D

XV

int refresh(void); [w]
’[––‚ðƒEƒBƒ“ƒhƒEƒf[ƒ^‚ÉŠî‚«Ä•`‰æ‚µ‚Ü‚·D
‚±‚̊֐”‚́Cwnoutrefresh‚Ædoupdate‚ð˜A‘±‚ŌĂяo‚·‚Ì‚Æ‚Ù‚Ú“™‰¿‚Å‚·D
int prefresh(WINDOW *pad, int pminrow, int pmincol, int sminrow, int smincol, int smaxrow, int smaxcol);
‘Ώۂªƒpƒbƒh‚Å‚ ‚邱‚ƈȊOCwrefresh‚Æ“¯“™‚Å‚·D
‚½‚¾‚µCƒEƒBƒ“ƒhƒE’†‚É‚¨‚¯‚éƒpƒbƒh‚̈ʒuŠÖŒW‚ðŽ¦‚·ˆø”‚ª’ljÁ‚³‚ê‚Ä‚¢‚Ü‚·D
pminrowCpmincol‚̓pƒbƒh“à‚ł̍À•WC sminrowCsmincolCsmaxrowCsmaxcol‚̓XƒNƒŠ[ƒ““à‚ł̍À•W‚É‚È‚è‚Ü‚·D
ƒpƒbƒh‚Ì•‚ƍ‚‚³‚́CƒXƒNƒŠ[ƒ“À•W‚©‚çŒvŽZ‚³‚ê‚Ü‚·D
‚‚܂èCpmaxrow = pminrow + (pmaxrow - pminrow)‚É‚È‚è‚Ü‚·D
‚±‚ê‚ç‚̍À•W‚́CŠ®‘S‚ɃpƒbƒhCƒEƒBƒ“ƒhƒE‚Ì“à•”‚É‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·D
int wnoutrefresh(WINDOW *win);
ƒEƒBƒ“ƒhƒEƒf[ƒ^‚ð‰¼‘z‰æ–ʂɃRƒs[‚µ‚Ü‚·D
•¡”‚̃EƒBƒ“ƒhƒE‚ðXV‚·‚éê‡C’Pƒ‚ÉrefreshŠÖ”‚ðŒÄ‚яo‚·‚æ‚èŒø—¦“I‚ɉæ–ʂ̍XV‚ðs‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·D
int pnoutrefresh(WINDOW *pad, int pminrow, int pmincol, int sminrow, int smincol, int smaxrow, int smaxcol);
‘Ώۂªƒpƒbƒh‚Å‚ ‚邱‚ƈȊOCwnoutrefresh‚Æ“¯“™‚Å‚·D
’ljÁˆø”‚ÉŠÖ‚µ‚ẮCprefresh‚Æ“¯‚¶‚Å‚·D
int doupdate(void);
‰¼‘z‰æ–Ê‚ÆŽÀÛ‚̉æ–Ê‚ð”äŠr‚µC‰æ–Ê‚ðXV‚µ‚Ü‚·D
int touchwin(WINDOW *win);
Žw’肵‚½ƒEƒBƒ“ƒhƒE‚ðXV‘ΏۂɎw’肵‚Ü‚·D
int redrawwin(WINDOW *win);
touchwin‚Æ‚Ù‚Ú“¯“™‚Å‚·D
int touchline(WINDOW *win, int start, int count);
Žw’肵‚½s‚ðXV‘ΏۂɎw’肵‚Ü‚·D
int wredrawln(WINDOW *win, int beg_line, int num_lines);
touchline‚Æ‚Ù‚Ú“¯“™‚Å‚·D
int untouchwin(WINDOW *win);
ÅŒã‚ÌrefreshˆÈ~CXV‚ª–³‚©‚Á‚½‚悤‚É‚µ‚Ü‚·D
int wtouchln(WINDOW *win, int y, int n, int changed);
ys–Ú‚Éns‚̋󔒍s‚ðì¬‚µ‚Ü‚·D
changed‚É0‚ðŽw’肵‚½ê‡C‰æ–ʂ̍XV‚ðÝ’肵‚Ü‚¹‚ñD
0ˆÈŠO‚Å‚ ‚ê‚΁C‰æ–Ê‚ªXV‚³‚ꂽ‚悤‚ɐݒ肵‚Ü‚·D
bool is_wintouched(WINDOW *win);
Žw’肵‚½ƒEƒBƒ“ƒhƒE‚ªXV‚³‚ê‚Ä‚¢‚é‚©’²‚ׂ܂·D
XV‚³‚ê‚Ä‚¢‚ê‚΁CTRUE‚ª•Ô‚³‚ê‚Ü‚·D
bool is_linetouched(WINDOW *win, int line);
Žw’肵‚½s‚ªXV‚³‚ê‚Ä‚¢‚é‚©’²‚ׂ܂·D
XV‚³‚ê‚Ä‚¢‚ê‚΁CTRUE‚ª•Ô‚³‚ê‚Ü‚·D

ƒ\ƒtƒgƒ‰ƒxƒ‹

int slk_init(int fmt);
int slk_set(int labnum, const char *label, int fmt);
char *slk_label(int labnum);
int slk_attron(const chtype attrs);
int slk_attroff(const chtype attrs);
int slk_attrset(const chtype attrs);
int slk_attr_on(attr_t attrs, void* opts);
int slk_attr_off(const attr_t attrs, void * opts);
int slk_attr_set(const attr_t attrs, short color_pair_number, void* opts);
attr_t slk_attr(void);
int slk_color(short color_pair_number);
int slk_refresh(void);
int slk_noutrefresh(void);
int slk_clear(void);
int slk_restore(void);
int slk_touch(void);

’[––î•ñ

’[––‚̏î•ñ‚ðŽæ“¾‚·‚邽‚߂̊֐”‚Å‚·

curses ŠÂ‹«–â‚¢‡‚킹 (ƒNƒGƒŠ) ƒ‹[ƒ`ƒ“
int baudrate(void);
char erasechar(void);
int erasewchar(wchar_t *ch);
bool has_ic(void);
bool has_il(void);
char killchar(void);
int killwchar(wchar_t *ch);
char *longname(void);
attr_t term_attrs(void);
chtype termattrs(void);
char *termname(void);
int has_key(int ch);
Žw’肵‚½ƒtƒ@ƒ“ƒNƒVƒ‡ƒ“ƒL[‚ðŒ»Ý‚Ì’[––‚ª”FŽ¯‚·‚é‚©’²‚ׂ܂·D
”FŽ¯‚Å‚«‚éê‡CTRUE‚ª•Ô‚³‚ê‚Ü‚·D
Žw’è‚Å‚«‚éƒL[ƒR[ƒh‚ÉŠÖ‚µ‚ẮCƒ}ƒjƒ…ƒAƒ‹C‚à‚µ‚­‚Í‚±‚¿‚çŽQÆD

‚»‚Ì‘¼

char *unctrl(chtype c);
c‚©‚ç‘®«‚ðŽæ‚菜‚«C•\Ž¦‚·‚镶Žš‚ð•Ô‚µ‚Ü‚·D
wunctrl‚Æ‚¢‚¤ŠÖ”‚à‘¶Ý‚µ‚Ü‚·‚ªC‚±‚ê‚̓ƒCƒh•¶Žš—p‚̊֐”‚Å‚·D
char *keyname(int c);
ƒL[c‚ɑΉž‚·‚镶Žš—ñ‚ð•Ô‚µ‚Ü‚·D
void filter(void);
void use_env(bool f);
FALSE‚ðŽw’肵‚Ä‚¨‚­‚±‚ƂŁC LINES, COLUMN‚Ì’l‚ðCŠÂ‹«•Ï”‚©‚ç‚Å‚Í‚È‚­C terminfo ƒf[ƒ^ƒx[ƒX‚É‚©‚ç“ǂݏo‚·‚悤‚É‚µ‚Ü‚·D
initscr‚ðŒÄ‚яo‚·‘O‚ɌĂяo‚µ‚Ä‚¨‚­•K—v‚ª‚ ‚è‚Ü‚·D
int putwin(WINDOW *win, FILE *filep);
ƒEƒBƒ“ƒhƒE‚ÉŠÖ‚·‚éî•ñ‚ð‚·‚×‚ÄCfilep‚ɏo—Í‚µ‚Ü‚·D
WINDOW *getwin(FILE *filep);
putwin‚ɏo—Í‚µ‚Ä‚ ‚éî•ñ‚©‚çCƒEƒBƒ“ƒhƒE‚ðì¬‚µ‚Ü‚·D
int delay_output(int ms);
o—Í‚ðmsƒ~ƒŠ•b’x‚点‚Ü‚·D
‚±‚̊֐”‚Ísleep‚·‚é‚킯‚Å‚Í‚È‚¢‚̂ŁC‚ ‚Ü‚èŽg—p‚͐„§‚³‚ê‚Ü‚¹‚ñD
int flushinp(void);
æs‚µ‚Ä“ü—Í‚µ‚Ä‚ ‚éƒf[ƒ^‚ð‚·‚×‚Ä”jŠü‚µ‚Ü‚·D
const char * curses_version(void);
cursesƒ‰ƒCƒuƒ‰ƒŠ‚̃o[ƒWƒ‡ƒ“‚ð•Ô‚µ‚Ü‚·D
int use_extended_names(bool enable);
int resize_term(int lines, int columns);
X’[––—p‚Å‚·D
’[––‚̃TƒCƒY‚ð•ÏX‚µ‚Ü‚·D
int resizeterm(int lines, int columns);
X’[––—p‚Å‚·D
SIGWINCH ƒnƒ“ƒhƒ‰‚Ì‚½‚ߏˆ—‚ðŠÜ‚Þ‚±‚ƈȊO‚́Cresize_term‚Æ“¯‚¶‚Å‚·D
bool is_term_resized(int lines, int columns);
X’[––—p‚Å‚·D
’[––‚̃TƒCƒY‚ª•ÏX‚³‚ê‚Ä‚¢‚ê‚ÎTRUE‚ð•Ô‚µ‚Ü‚·D

ƒfƒoƒbƒO

ƒfƒoƒbƒO—p‚̊֐”‚Å‚·D
‚±‚ê‚ç‚̊֐”‚ðŽg‚¤ê‡Cncursesƒ‰ƒCƒuƒ‰ƒŠ‚Ì‘ã‚í‚è‚ɁCncurses_gƒ‰ƒCƒuƒ‰ƒŠ‚ðƒŠƒ“ƒN‚·‚é•K—v‚ª‚ ‚è‚Ü‚·D
ƒgƒŒ[ƒXƒtƒ@ƒCƒ‹‚́CƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠ‚Ìtrace‚Æ‚¢‚¤–¼‘O‚̃tƒ@ƒCƒ‹‚É‚È‚è‚Ü‚·D

void trace(const unsigned int param);
ƒgƒŒ[ƒX‚·‚郌ƒxƒ‹‚ðŽw’肵‚Ü‚·D
Žw’è‚Å‚«‚éƒpƒ‰ƒ[ƒ^‚ÉŠÖ‚µ‚ẮC‚±‚¿‚çŽQÆD
void _tracef(const char *format, ...);
‘Ž®•t‚«‚ŏo—Í‚µ‚Ü‚·D
void _tracedump(const char *label, WINDOW *win);
char *_traceattr(attr_t attr);
char *_traceattr2(int buffer, chtype ch);
char *_nc_tracebits(void);
char *_tracechar(const unsigned char ch);
char *_tracechtype(chtype ch);
char *_tracechtype2(int buffer, chtype ch);
char *_tracemouse(const MEVENT *event);
int scr_dump(const char *filename);
Œ»Ý‚̃XƒNƒŠ[ƒ“‚Ì“à—e‚ðƒtƒ@ƒCƒ‹‚Öƒ_ƒ“ƒv‚µ‚Ü‚·D
int scr_restore(const char *filename);
scr_dump‚É‚æ‚èƒ_ƒ“ƒv‚³‚ꂽƒtƒ@ƒCƒ‹‚©‚ç‰æ–ʂ𕜋A‚³‚¹‚Ü‚·D
int scr_init(const char *filename);
scr_dump‚É‚æ‚èƒ_ƒ“ƒv‚³‚ꂽƒtƒ@ƒCƒ‹‚̏î•ñ‚ðŒ³‚ÉCƒXƒNƒŠ[ƒ“‚ð‰Šú‰»‚µ‚Ü‚·D
int scr_set(const char *filename);
scr_initCscr_resutore‚ð˜A‘±‚ŌĂяo‚·‚Ì‚Æ“™‰¿‚Å‚·D

’჌ƒxƒ‹‚̊֐”

ˆÈ‰º‚̊֐”‚́CŽg—p‚ª„§‚³‚ê‚Ü‚¹‚ñD
‰Â”\‚ÈŒÀ‚èC•W€‚ÌcursesŠÖ”‚ðŽg‚¤‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢D

cursesƒ‹[ƒ`ƒ“
int def_prog_mode(void);
int def_shell_mode(void);
int reset_prog_mode(void);
int reset_shell_mode(void);
int resetty(void);
int savetty(void);
void getsyx(int y, int x);
void setsyx(int y, int x);
int ripoffline(int line, int (*init)(WINDOW *, int));
int curs_set(int visibility);
int napms(int ms);
msƒ~ƒŠ•b sleep ‚µ‚Ü‚·D
terminfo ƒP[ƒpƒrƒŠƒeƒBƒf[ƒ^ƒx[ƒX‚ւ̃Cƒ“ƒ^ƒtƒF[ƒX

‚±‚̊֐”‚ðŽg‚¤ê‡Cƒwƒbƒ_ƒtƒ@ƒCƒ‹term.h‚ðƒCƒ“ƒNƒ‹[ƒh‚µC
extern char PC; extern char * UP; extern char * BC; extern short ospeed; ‚ðéŒ¾‚·‚é•K—v‚ª‚ ‚è‚Ü‚·D

int tgetent(char *bp, const char *name);
int tgetflag(char *id);
int tgetnum(char *id);
char *tgetstr(char *id, char **area);
char *tgoto(const char *cap, int col, int row);
int tputs(const char *str, int affcnt, int (*putc)(int));
terminfo ƒf[ƒ^ƒx[ƒX‚ւ̃Cƒ“ƒ^ƒtƒF[ƒX

‚±‚̊֐”‚ðŽg‚¤ê‡Cƒwƒbƒ_ƒtƒ@ƒCƒ‹term.h‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é•K—v‚ª‚ ‚è‚Ü‚·D

int setupterm(const char *term, int fildes, int *errret);
int setterm(const char *term);
TERMINAL *set_curterm(TERMINAL *nterm);
int del_curterm(TERMINAL *oterm);
int restartterm(const char *term, int fildes, int *errret);
char *tparm(const char *str, ...);
int tputs(const char *str, int affcnt, int (*putc)(int));
int putp(const char *str);
int vidputs(chtype attrs, int (*putc)(char));
int vidattr(chtype attrs);
int vid_puts(attr_t attrs, short pair, void *opts, int (*putc)(char));
int vid_attr(attr_t attrs, short pair, void *opts);
int mvcur(int oldrow, int oldcol, int newrow, int newcol);
int tigetflag(const char *capname);
int tigetnum(const char *capname);
char *tigetstr(const char *capname);

’ˆÓ

ƒEƒBƒ“ƒhƒE‚̐ςݏd‚˂́Cpanelƒ‰ƒCƒuƒ‰ƒŠŽg‚¤•K—v‚ª‚ ‚é‚悤‚Å‚·D


ƒgƒbƒv‚Ö