|
|
#include <curses.h>
The following constant is defined if the implementation supports the indicated revision of the X/Open Curses specification:
These data types are described in more detail in ``Data Types''.
The inclusion of <curses.h> may make visible all symbols from the headers <stdio.h>, <term.h>, <termios.h> and <wchar.h>.
WA_ALTCHARSET Alternate character set WA_BLINK Blinking WA_BOLD Extra bright or bold WA_DIM Half bright WA_HORIZONTAL Horizontal highlight WA_INVIS Invisible WA_LEFT Left highlight WA_LOW Low highlight WA_PROTECT Protected WA_REVERSE Reverse video WA_RIGHT Right highlight WA_STANDOUT Best highlighting mode of the terminal WA_TOP Top highlight WA_UNDERLINE Underlining WA_VERTICAL Vertical highlightThese attribute flags shall be distinct.
The following symbolic constants are used to manipulate attribute bits in objects of type chtype:
A_ALTCHARSET Alternate character set A_BLINK Blinking A_BOLD Extra bright or bold A_DIM Half bright A_INVIS Invisible A_PROTECT Protected A_REVERSE Reverse video A_STANDOUT Best highlighting mode of the terminal A_UNDERLINE UnderliningThese attribute flags need not be distinct except when _XOPEN_CURSES is defined and the application sets _XOPEN_SOURCE_EXTENDED to 1.
The following symbolic constants can be used as bit-masks to extract the components of a chtype:
A_ATTRIBUTES Bit-mask to extract attributes A_CHARTEXT Bit-mask to extract a character A_COLOR Bit-mask to extract color-pair information
In the POSIX locale, the characters shown in the POSIX Locale Default column are used when the terminal database does not specify a value using the acsc capability.
| char Constant | char_t Constant | POSIX Locale Default | Glyph Description |
|---|---|---|---|
| ACS_ULCORNER | WACS_ULCORNER | + | upper left-hand corner |
| ACS_LLCORNER | WACS_LLCORNER | + | lower left-hand corner |
| ACS_URCORNER | WACS_URCORNER | + | upper right-hand corner |
| ACS_LRCORNER | WACS_LRCORNER | + | lower right-hand corner |
| ACS_RTEE | WACS_RTEE | + | right tee |
| ACS_LTEE | WACS_LTEE | + | left tee |
| ACS_BTEE | WACS_BTEE | + | bottom tee |
| ACS_TTEE | WACS_TTEE | + | top tee |
| ACS_HLINE | WACS_HLINE | - | horizontal line |
| ACS_VLINE | WACS_VLINE | | | vertical line |
| ACS_PLUS | WACS_PLUS | + | plus |
| ACS_S1 | WACS_S1 | - | scan line 1 |
| ACS_S9 | WACS_S9 | _ | scan line 9 |
| ACS_DIAMOND | WACS_DIAMOND | + | diamond |
| ACS_CKBOARD | WACS_CKBOARD | : | checker board (stipple) |
| ACS_DEGREE | WACS_DEGREE | ' | degree symbol |
| ACS_PLMINUS | WACS_PLMINUS | # | plus/minus |
| ACS_BULLET | WACS_BULLET | o | bullet |
| ACS_LARROW | WACS_LARROW | < | arrow pointing left |
| ACS_RARROW | WACS_RARROW | > | arrow pointing right |
| ACS_DARROW | WACS_DARROW | v | arrow pointing down |
| ACS_UARROW | WACS_UARROW | ^ | arrow pointing up |
| ACS_BOARD | WACS_BOARD | # | board of squares |
| ACS_LANTERN | WACS_LANTERN | # | lantern symbol |
| ACS_BLOCK | WACS_BLOCK | # | solid square block |
COLOR_BLACK COLOR_BLUE COLOR_GREEN COLOR_CYAN COLOR_RED COLOR_MAGENTA COLOR_YELLOW COLOR_WHITE
void getbegyx(WINDOW *win, int y, int x); void getmaxyx(WINDOW *win, int y, int x); void getparyx(WINDOW *win, int y, int x); void getyx(WINDOW *win, int y, int x);
| Key code | Description |
|---|---|
| KEY_CODE_YES | used to indicate that a wchar_t variable contains a key code |
| KEY_BREAK | Break key |
| KEY_DOWN | Down arrow key |
| KEY_UP | Up arrow key |
| KEY_LEFT | Left arrow key |
| KEY_RIGHT | Right arrow key |
| KEY_HOME | Home key |
| KEY_BACKSPACE | Backspace |
| KEY_F0 | Function keys; space for 64 keys is reserved |
| KEY_F(n) | For 0<=n<=63 |
| KEY_DL | Delete line |
| KEY_IL | Insert line |
| KEY_DC | Delete character |
| KEY_IC | Insert char or enter insert mode |
| KEY_EIC | Exit insert char mode |
| KEY_CLEAR | Clear screen |
| KEY_EOS | Clear to end of screen |
| KEY_EOL | Clear to end of line |
| KEY_SF | Scroll 1 line forward |
| KEY_SR | Scroll 1 line backward (reverse) |
| KEY_NPAGE | Next page |
| KEY_PPAGE | Previous page |
| KEY_STAB | Set tab |
| KEY_CTAB | Clear tab |
| KEY_CATAB | Clear all tabs |
| KEY_ENTER | Enter or send |
| KEY_SRESET | Soft (partial) reset |
| KEY_RESET | Reset or hard reset |
| KEY_PRINT | Print or copy |
| KEY_LL | Home down or bottom |
| KEY_A1 | Upper left of keypad |
| KEY_A3 | Upper right of keypad |
| KEY_B2 | Center of keypad |
| KEY_C1 | Lower left of keypad |
| KEY_C3 | Lower right of keypad |
The virtual keypad is a 3-by-3 keypad arranged as follows:
| A1 | UP | A3 |
| LEFT | B2 | RIGHT |
| C1 | DOWN | C3 |
Each legend, such as A1, corresponds to a symbolic constant for a key code from the preceding table, such as KEY_A1.
The following symbolic constants representing function key values are also defined:
| Key code | Description |
|---|---|
| KEY_BTAB | Back tab key |
| KEY_BEG | Beginning key |
| KEY_CANCEL | Cancel key |
| KEY_CLOSE | Close key |
| KEY_COMMAND | Cmd (command) key |
| KEY_COPY | Copy key |
| KEY_CREATE | Create key |
| KEY_END | End key |
| KEY_EXIT | Exit key |
| KEY_FIND | Find key |
| KEY_HELP | Help key |
| KEY_MARK | Mark key |
| KEY_MESSAGE | Message key |
| KEY_MOVE | Move key |
| KEY_NEXT | Next object key |
| KEY_OPEN | Open key |
| KEY_OPTIONS | Options key |
| KEY_PREVIOUS | Previous object key |
| KEY_REDO | Redo key |
| KEY_REFERENCE | Reference key |
| KEY_REFRESH | Refresh key |
| KEY_REPLACE | Replace key |
| KEY_RESTART | Restart key |
| KEY_RESUME | Resume key |
| KEY_SAVE | Save key |
| KEY_SBEG | Shifted beginning key |
| KEY_SCANCEL | Shifted cancel key |
| KEY_SCOMMAND | Shifted command key |
| KEY_SCOPY | Shifted copy key |
| KEY_SCREATE | Shifted create key |
| KEY_SDC | Shifted delete char key |
| KEY_SDL | Shifted delete line key |
| KEY_SELECT | Select key |
| KEY_SEND | Shifted end key |
| KEY_SEOL | Shifted clear line key |
| KEY_SEXIT | Shifted exit key |
| KEY_SFIND | Shifted find key |
| KEY_SHELP | Shifted help key |
| KEY_SHOME | Shifted home key |
| KEY_SIC | Shifted input key |
| KEY_SLEFT | Shifted left arrow key |
| KEY_SMESSAGE | Shifted message key |
| KEY_SMOVE | Shifted move key |
| KEY_SNEXT | Shifted next key |
| KEY_SOPTIONS | Shifted options key |
| KEY_SPREVIOUS | Shifted prev key |
| KEY_SPRINT | Shifted print key |
| KEY_SREDO | Shifted redo key |
| KEY_SREPLACE | Shifted replace key |
| KEY_SRIGHT | Shifted right arrow |
| KEY_SRSUME | Shifted resume key |
| KEY_SSAVE | Shifted save key |
| KEY_SSUSPEND | Shifted suspend key |
| KEY_SUNDO | Shifted undo key |
| KEY_SUSPEND | Suspend key |
| KEY_UNDO | Undo key |
int addch(const chtype);
int addchnstr(const chtype *, int);
int addchstr(const chtype *);
int addnstr(const char *, int);
int addnwstr(const wchar_t *, int);
int addstr(const char *);
int add_wch(const cchar_t *);
int add_wchnstr(const cchar_t *, int);
int add_wchstr(const cchar_t *);
int addwstr(const wchar_t *);
int attroff(int);
int attron(int);
int attrset(int);
int attr_get(attr_t *, short *, void *);
int attr_off(attr_t, void *);
int attr_on(attr_t, void *);
int attr_set(attr_t, short, void *);
int baudrate(void);
int beep(void);
int bkgd(chtype);
void bkgdset(chtype);
int bkgrnd(const cchar_t *);
void bkgrndset(const cchar_t *);
int border(chtype, chtype, chtype, chtype, chtype, chtype, chtype,
chtype);
int border_set(const cchar_t *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *);
int box(WINDOW *, chtype, chtype);
int box_set(WINDOW *, const cchar_t *, const cchar_t *);
bool can_change_color(void);
int cbreak(void);
int chgat(int, attr_t, short, const void *);
int clearok(WINDOW *, bool);
int clear(void);
int clrtobot(void);
int clrtoeol(void);
int color_content(short, short *, short *, short *);
int COLOR_PAIR(int);
int color_set(short,void *);
int copywin(const WINDOW *, WINDOW *, int, int, int, int, int, int,
int);
int curs_set(int);
int def_prog_mode(void);
int def_shell_mode(void);
int delay_output(int);
int delch(void);
int deleteln(void);
void delscreen(SCREEN *);
int delwin(WINDOW *);
WINDOW *derwin(WINDOW *, int, int, int, int);
int doupdate(void);
WINDOW *dupwin(WINDOW *);
int echo(void);
int echochar(const chtype);
int echo_wchar(const cchar_t *);
int endwin(void);
char erasechar(void);
int erase(void);
int erasewchar(wchar_t *);
void filter(void);
int flash(void);
int flushinp(void);
chtype getbkgd(WINDOW *);
int getbkgrnd(cchar_t *);
int getcchar(const cchar_t *, wchar_t *, attr_t *, short *, void *);
int getch(void);
int getnstr(char *, int);
int getn_wstr(wint_t *, int);
int getstr(char *);
int get_wch(wint_t *);
WINDOW *getwin(FILE *);
int get_wstr(wint_t *);
int halfdelay(int);
bool has_colors(void);
bool has_ic(void);
bool has_il(void);
int hline(chtype, int);
int hline_set(const cchar_t *, int);
void idcok(WINDOW *, bool);
int idlok(WINDOW *, bool);
void immedok(WINDOW *, bool);
chtype inch(void);
int inchnstr(chtype *, int);
int inchstr(chtype *);
WINDOW *initscr(void);
int init_color(short, short, short, short);
int init_pair(short, short, short);
int innstr(char *, int);
int innwstr(wchar_t *, int);
int insch(chtype);
int insdelln(int);
int insertln(void);
int insnstr(const char *, int);
int ins_nwstr(const wchar_t *, int);
int insstr(const char *);
int instr(char *);
int ins_wch(const cchar_t *);
int ins_wstr(const wchar_t *);
int intrflush(WINDOW *, bool);
int in_wch(cchar_t *);
int in_wchnstr(cchar_t *, int);
int in_wchstr(cchar_t *);
int inwstr(wchar_t *);
bool isendwin(void);
bool is_linetouched(WINDOW *, int);
bool is_wintouched(WINDOW *);
char *keyname(int);
char *key_name(wchar_t);
int keypad(WINDOW *, bool);
char killchar(void);
int killwchar(wchar_t *);
int leaveok(WINDOW *, bool);
char *longname(void);
int meta(WINDOW *, bool);
int move(int, int);
int mvaddch(int, int, const chtype);
int mvaddchnstr(int, int, const chtype *, int);
int mvaddchstr(int, int, const chtype *);
int mvaddnstr(int, int, const char *, int);
int mvaddnwstr(int, int, const wchar_t *, int);
int mvaddstr(int, int, const char *);
int mvadd_wch(int, int, const cchar_t *);
int mvadd_wchnstr(int, int, const cchar_t *, int);
int mvadd_wchstr(int, int, const cchar_t *);
int mvaddwstr(int, int, const wchar_t *);
int mvchgat(int, int, int, attr_t, short, const void *);
int mvcur(int, int, int, int);
int mvdelch(int, int);
int mvderwin(WINDOW *, int, int);
int mvgetch(int, int);
int mvgetnstr(int, int, char *, int);
int mvgetn_wstr(int, int, wint_t *, int);
int mvgetstr(int, int, char *);
int mvget_wch(int, int, wint_t *);
int mvget_wstr(int, int, wint_t *);
int mvhline(int, int, chtype, int);
int mvhline_set(int, int, const cchar_t *, int);
chtype mvinch(int, int);
int mvinchnstr(int, int, chtype *, int);
int mvinchstr(int, int, chtype *);
int mvinnstr(int, int, char *, int);
int mvinnwstr(int, int, wchar_t *, int);
int mvinsch(int, int, chtype);
int mvinsnstr(int, int, const char *, int);
int mvins_nwstr(int, int, const wchar_t *, int);
int mvinsstr(int, int, const char *);
int mvinstr(int, int, char *);
int mvins_wch(int, int, const cchar_t *);
int mvins_wstr(int, int, const wchar_t *);
int mvin_wch(int, int, cchar_t *);
int mvin_wchnstr(int, int, cchar_t *, int);
int mvin_wchstr(int, int, cchar_t *);
int mvinwstr(int, int, wchar_t *);
int mvprintw(int, int, char *, ...);
int mvscanw(int, int, char *, ...);
int mvvline(int, int, chtype, int);
int mvvline_set(int, int, const cchar_t *, int);
int mvwaddch(WINDOW *, int, int, const chtype);
int mvwaddchnstr(WINDOW *, int, int, const chtype *, int);
int mvwaddchstr(WINDOW *, int, int, const chtype *);
int mvwaddnstr(WINDOW *, int, int, const char *, int);
int mvwaddnwstr(WINDOW *, int, int, const wchar_t *, int);
int mvwaddstr(WINDOW *, int, int, const char *);
int mvwadd_wch(WINDOW *, int, int, const cchar_t *);
int mvwadd_wchnstr(WINDOW *, int, int, const cchar_t *, int);
int mvwadd_wchstr(WINDOW *, int, int, const cchar_t *);
int mvwaddwstr(WINDOW *, int, int, const wchar_t *);
int mvwchgat(WINDOW *, int, int, int, attr_t, short, const void *);
int mvwdelch(WINDOW *, int, int);
int mvwgetch(WINDOW *, int, int);
int mvwgetnstr(WINDOW *, int, int, char *, int);
int mvwgetn_wstr(WINDOW *, int, int, wint_t *, int);
int mvwgetstr(WINDOW *, int, int, char *);
int mvwget_wch(WINDOW *, int, int, wint_t *);
int mvwget_wstr(WINDOW *, int, int, wint_t *);
int mvwhline(WINDOW *, int, int, chtype, int);
int mvwhline_set(WINDOW *, int, int, const cchar_t *, int);
int mvwin(WINDOW *, int, int);
chtype mvwinch(WINDOW *, int, int);
int mvwinchnstr(WINDOW *, int, int, chtype *, int);
int mvwinchstr(WINDOW *, int, int, chtype *);
int mvwinnstr(WINDOW *, int, int, char *, int);
int mvwinnwstr(WINDOW *, int, int, wchar_t *, int);
int mvwinsch(WINDOW *, int, int, chtype);
int mvwinsnstr(WINDOW *, int, int, const char *, int);
int mvwins_nwstr(WINDOW *, int, int, const wchar_t *, int);
int mvwinsstr(WINDOW *, int, int, const char *);
int mvwinstr(WINDOW *, int, int, char *);
int mvwins_wch(WINDOW *, int, int, const cchar_t *);
int mvwins_wstr(WINDOW *, int, int, const wchar_t *);
int mvwin_wch(WINDOW *, int, int, cchar_t *);
int mvwin_wchnstr(WINDOW *, int, int, cchar_t *, int);
int mvwin_wchstr(WINDOW *, int, int, cchar_t *);
int mvwinwstr(WINDOW *, int, int, wchar_t *);
int mvwprintw(WINDOW *, int, int, char *, ...);
int mvwscanw(WINDOW *, int, int, char *, ...);
int mvwvline(WINDOW *, int, int, chtype, int);
int mvwvline_set(WINDOW *, int, int, const cchar_t *, int);
int napms(int);
WINDOW *newpad(int, int);
SCREEN *newterm(char *, FILE *, FILE *);
WINDOW *newwin(int, int, int, int);
int nl(void);
int nocbreak(void);
int nodelay(WINDOW *, bool);
int noecho(void);
int nonl(void);
void noqiflush(void);
int noraw(void);
int notimeout(WINDOW *, bool);
int overlay(const WINDOW *, WINDOW *);
int overwrite(const WINDOW *, WINDOW *);
int pair_content(short, short *, short *);
int PAIR_NUMBER(int);
int pechochar(WINDOW *, chtype);
int pecho_wchar(WINDOW *, const cchar_t*);
int pnoutrefresh(WINDOW *, int, int, int, int, int, int);
int prefresh(WINDOW *, int, int, int, int, int, int);
int printw(char *, ...);
int putp(const char *);
int putwin(WINDOW *, FILE *);
void qiflush(void);
int raw(void);
int redrawwin(WINDOW *);
int refresh(void);
int reset_prog_mode(void);
int reset_shell_mode(void);
int resetty(void);
int ripoffline(int, int (*)(WINDOW *, int));
int savetty(void);
int scanw(char *, ...);
int scr_dump(const char *);
int scr_init(const char *);
int scrl(int);
int scroll(WINDOW *);
int scrollok(WINDOW *, bool);
int scr_restore(const char *);
int scr_set(const char *);
int setcchar(cchar_t*, const wchar_t*, const attr_t, short,
const void*);
int setscrreg(int, int);
SCREEN *set_term(SCREEN *);
int setupterm(char *, int, int *);
int slk_attr_off(const attr_t, void *);
int slk_attroff(const chtype);
int slk_attr_on(const attr_t, void *);
int slk_attron(const chtype);
int slk_attr_set(const attr_t, short, void *);
int slk_attrset(const chtype);
int slk_clear(void);
int slk_color(short);
int slk_init(int);
char *slk_label(int);
int slk_noutrefresh(void);
int slk_refresh(void);
int slk_restore(void);
int slk_set(int, const char *, int);
int slk_touch(void);
int slk_wset(int, const wchar_t *, int);
int standend(void);
int standout(void);
int start_color(void);
WINDOW *subpad(WINDOW *, int, int, int, int);
WINDOW *subwin(WINDOW *, int, int, int, int);
int syncok(WINDOW *, bool);
chtype termattrs(void);
attr_t term_attrs(void);
char *termname(void);
int tigetflag(char *);
int tigetnum(char *);
char *tigetstr(char *);
void timeout(int);
int touchline(WINDOW *, int, int);
int touchwin(WINDOW *);
char *tparm(char *, long, long, long, long, long, long, long, long,
long);
int typeahead(int);
int ungetch(int);
int unget_wch(const wchar_t);
int untouchwin(WINDOW *);
void use_env(bool);
int vid_attr(attr_t, short, void *);
int vidattr(chtype);
int vid_puts(attr_t, short, void *, int (*)(int));
int vidputs(chtype, int (*)(int));
int vline(chtype, int);
int vline_set(const cchar_t *, int);
int vwprintw(WINDOW *, char *, va_list *);
int vw_printw(WINDOW *, char *, va_list *);
int vwscanw(WINDOW *, char *, va_list *);
int vw_scanw(WINDOW *, char *, va_list *);
int waddch(WINDOW *, const chtype);
int waddchnstr(WINDOW *, const chtype *, int);
int waddchstr(WINDOW *, const chtype *);
int waddnstr(WINDOW *, const char *, int);
int waddnwstr(WINDOW *, const wchar_t *, int);
int waddstr(WINDOW *, const char *);
int wadd_wch(WINDOW *, const cchar_t *);
int wadd_wchnstr(WINDOW *, const cchar_t *, int);
int wadd_wchstr(WINDOW *, const cchar_t *);
int waddwstr(WINDOW *, const wchar_t *);
int wattroff(WINDOW *, int);
int wattron(WINDOW *, int);
int wattrset(WINDOW *, int);
int wattr_get(WINDOW *, attr_t *, short *, void *);
int wattr_off(WINDOW *, attr_t, void *);
int wattr_on(WINDOW *, attr_t, void *);
int wattr_set(WINDOW *, attr_t, short, void *);
int wbkgd(WINDOW *, chtype);
void wbkgdset(WINDOW *, chtype);
int wbkgrnd(WINDOW *, const cchar_t *);
void wbkgrndset(WINDOW *, const cchar_t *);
int wborder(WINDOW *, chtype, chtype, chtype, chtype, chtype, chtype,
chtype, chtype);
int wborder_set(WINDOW *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *, const cchar_t *,
const cchar_t *, const cchar_t *, const cchar_t *);
int wchgat(WINDOW *, int, attr_t, short, const void *);
int wclear(WINDOW *);
int wclrtobot(WINDOW *);
int wclrtoeol(WINDOW *);
void wcursyncup(WINDOW *);
int wcolor_set(WINDOW *, short, void *);
int wdelch(WINDOW *);
int wdeleteln(WINDOW *);
int wechochar(WINDOW *, const chtype);
int wecho_wchar(WINDOW *, const cchar_t *);
int werase(WINDOW *);
int wgetbkgrnd(WINDOW *, cchar_t *);
int wgetch(WINDOW *);
int wgetnstr(WINDOW *, char *, int);
int wgetn_wstr(WINDOW *, wint_t *, int);
int wgetstr(WINDOW *, char *);
int wget_wch(WINDOW *, wint_t *);
int wget_wstr(WINDOW *, wint_t *);
int whline(WINDOW *, chtype, int);
int whline_set(WINDOW *, const cchar_t *, int);
chtype winch(WINDOW *);
int winchnstr(WINDOW *, chtype *, int);
int winchstr(WINDOW *, chtype *);
int winnstr(WINDOW *, char *, int);
int winnwstr(WINDOW *, wchar_t *, int);
int winsch(WINDOW *, chtype);
int winsdelln(WINDOW *, int);
int winsertln(WINDOW *);
int winsnstr(WINDOW *, const char *, int);
int wins_nwstr(WINDOW *, const wchar_t *, int);
int winsstr(WINDOW *, const char *);
int winstr(WINDOW *, char *);
int wins_wch(WINDOW *, const cchar_t *);
int wins_wstr(WINDOW *, const wchar_t *);
int win_wch(WINDOW *, cchar_t *);
int win_wchnstr(WINDOW *, cchar_t *, int);
int win_wchstr(WINDOW *, cchar_t *);
int winwstr(WINDOW *, wchar_t *);
int wmove(WINDOW *, int, int);
int wnoutrefresh(WINDOW *);
int wprintw(WINDOW *, char *, ...);
int wredrawln(WINDOW *, int, int);
int wrefresh(WINDOW *);
int wscanw(WINDOW *, char *, ...);
int wscrl(WINDOW *, int);
int wsetscrreg(WINDOW *, int, int);
int wstandend(WINDOW *);
int wstandout(WINDOW *);
void wsyncup(WINDOW *);
void wsyncdown(WINDOW *);
void wtimeout(WINDOW *, int);
int wtouchln(WINDOW *, int, int, int);
wchar_t *wunctrl(cchar_t *);
int wvline(WINDOW *, chtype, int);
int wvline_set(WINDOW *, const cchar_t *, int);