X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=include%2Fcurses.wide;h=e21e4b409cfeec4dbafba726cefe4e489c3e8450;hp=ac03151be62acf929683b30fde70265c4348fb1b;hb=d803343ca3e2a419085e76fc9f04a6fbd14498b8;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01 diff --git a/include/curses.wide b/include/curses.wide index ac03151b..e21e4b40 100644 --- a/include/curses.wide +++ b/include/curses.wide @@ -1,21 +1,28 @@ +/* $Id: curses.wide,v 1.39 2009/05/09 15:43:00 tom Exp $ */ +/* + * vile:cmode: + * This file is part of ncurses, designed to be appended after curses.h.in + * (see that file for the relevant copyright). + */ +#define _XOPEN_CURSES 1 #ifdef _XOPEN_SOURCE_EXTENDED -/* $Id: curses.wide,v 1.25 2002/08/31 17:48:53 tom Exp $ */ - extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs; -#define WACS_BSSB (&_nc_wacs['l']) -#define WACS_SSBB (&_nc_wacs['m']) -#define WACS_BBSS (&_nc_wacs['k']) -#define WACS_SBBS (&_nc_wacs['j']) -#define WACS_SBSS (&_nc_wacs['u']) -#define WACS_SSSB (&_nc_wacs['t']) -#define WACS_SSBS (&_nc_wacs['v']) -#define WACS_BSSS (&_nc_wacs['w']) -#define WACS_BSBS (&_nc_wacs['q']) -#define WACS_SBSB (&_nc_wacs['x']) -#define WACS_SSSS (&_nc_wacs['n']) +#define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c]) + +#define WACS_BSSB NCURSES_WACS('l') +#define WACS_SSBB NCURSES_WACS('m') +#define WACS_BBSS NCURSES_WACS('k') +#define WACS_SBBS NCURSES_WACS('j') +#define WACS_SBSS NCURSES_WACS('u') +#define WACS_SSSB NCURSES_WACS('t') +#define WACS_SSBS NCURSES_WACS('v') +#define WACS_BSSS NCURSES_WACS('w') +#define WACS_BSBS NCURSES_WACS('q') +#define WACS_SBSB NCURSES_WACS('x') +#define WACS_SSSS NCURSES_WACS('n') #define WACS_ULCORNER WACS_BSSB #define WACS_LLCORNER WACS_SSBB @@ -29,31 +36,31 @@ extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs; #define WACS_VLINE WACS_SBSB #define WACS_PLUS WACS_SSSS -#define WACS_S1 (&_nc_wacs['o']) /* scan line 1 */ -#define WACS_S9 (&_nc_wacs['s']) /* scan line 9 */ -#define WACS_DIAMOND (&_nc_wacs['`']) /* diamond */ -#define WACS_CKBOARD (&_nc_wacs['a']) /* checker board */ -#define WACS_DEGREE (&_nc_wacs['f']) /* degree symbol */ -#define WACS_PLMINUS (&_nc_wacs['g']) /* plus/minus */ -#define WACS_BULLET (&_nc_wacs['~']) /* bullet */ +#define WACS_S1 NCURSES_WACS('o') /* scan line 1 */ +#define WACS_S9 NCURSES_WACS('s') /* scan line 9 */ +#define WACS_DIAMOND NCURSES_WACS('`') /* diamond */ +#define WACS_CKBOARD NCURSES_WACS('a') /* checker board */ +#define WACS_DEGREE NCURSES_WACS('f') /* degree symbol */ +#define WACS_PLMINUS NCURSES_WACS('g') /* plus/minus */ +#define WACS_BULLET NCURSES_WACS('~') /* bullet */ /* Teletype 5410v1 symbols */ -#define WACS_LARROW (&_nc_wacs[',']) /* arrow left */ -#define WACS_RARROW (&_nc_wacs['+']) /* arrow right */ -#define WACS_DARROW (&_nc_wacs['.']) /* arrow down */ -#define WACS_UARROW (&_nc_wacs['-']) /* arrow up */ -#define WACS_BOARD (&_nc_wacs['h']) /* board of squares */ -#define WACS_LANTERN (&_nc_wacs['i']) /* lantern symbol */ -#define WACS_BLOCK (&_nc_wacs['0']) /* solid square block */ +#define WACS_LARROW NCURSES_WACS(',') /* arrow left */ +#define WACS_RARROW NCURSES_WACS('+') /* arrow right */ +#define WACS_DARROW NCURSES_WACS('.') /* arrow down */ +#define WACS_UARROW NCURSES_WACS('-') /* arrow up */ +#define WACS_BOARD NCURSES_WACS('h') /* board of squares */ +#define WACS_LANTERN NCURSES_WACS('i') /* lantern symbol */ +#define WACS_BLOCK NCURSES_WACS('0') /* solid square block */ /* ncurses extensions */ -#define WACS_S3 (&_nc_wacs['p']) /* scan line 3 */ -#define WACS_S7 (&_nc_wacs['r']) /* scan line 7 */ -#define WACS_LEQUAL (&_nc_wacs['y']) /* less/equal */ -#define WACS_GEQUAL (&_nc_wacs['z']) /* greater/equal */ -#define WACS_PI (&_nc_wacs['{']) /* Pi */ -#define WACS_NEQUAL (&_nc_wacs['|']) /* not equal */ -#define WACS_STERLING (&_nc_wacs['}']) /* UK pound sign */ +#define WACS_S3 NCURSES_WACS('p') /* scan line 3 */ +#define WACS_S7 NCURSES_WACS('r') /* scan line 7 */ +#define WACS_LEQUAL NCURSES_WACS('y') /* less/equal */ +#define WACS_GEQUAL NCURSES_WACS('z') /* greater/equal */ +#define WACS_PI NCURSES_WACS('{') /* Pi */ +#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */ +#define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */ /* * Function prototypes for wide-character operations. @@ -127,13 +134,13 @@ extern NCURSES_EXPORT(int) mvwins_wch (WINDOW *, int, int, const cchar_t *); /* extern NCURSES_EXPORT(int) mvwins_wstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ extern NCURSES_EXPORT(int) mvwinwstr (WINDOW *, int, int, wchar_t *); /* generated:WIDEC */ extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *); /* missing */ +extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *); /* implemented */ extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, short, const void *); /* implemented */ -extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* missing */ +extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* implemented */ extern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */ extern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */ extern NCURSES_EXPORT(int) vid_attr (attr_t, short, void *); /* implemented */ -extern NCURSES_EXPORT(int) vid_puts (attr_t, short, void *, int (*)(int)); /* implemented */ +extern NCURSES_EXPORT(int) vid_puts (attr_t, short, void *, NCURSES_OUTC); /* implemented */ extern NCURSES_EXPORT(int) vline_set (const cchar_t *, int); /* generated:WIDEC */ extern NCURSES_EXPORT(int) wadd_wch (WINDOW *,const cchar_t *); /* implemented */ extern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int); /* implemented */ @@ -146,7 +153,7 @@ extern NCURSES_EXPORT(int) wborder_set (WINDOW *,const cchar_t*,const cchar_t*,c extern NCURSES_EXPORT(int) wecho_wchar (WINDOW *, const cchar_t *); /* implemented */ extern NCURSES_EXPORT(int) wget_wch (WINDOW *, wint_t *); /* implemented */ extern NCURSES_EXPORT(int) wget_wstr (WINDOW *, wint_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *); /* implemented */ +extern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *); /* generated:WIDEC */ extern NCURSES_EXPORT(int) wgetn_wstr (WINDOW *,wint_t *, int); /* implemented */ extern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int); /* implemented */ extern NCURSES_EXPORT(int) win_wch (WINDOW *, cchar_t *); /* implemented */ @@ -160,6 +167,16 @@ extern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *); /* implemented */ extern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *); /* implemented */ extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* implemented */ +#if NCURSES_SP_FUNCS +extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(term_attrs) (SCREEN*); /* implemented */ +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(unget_wch) (SCREEN*, const wchar_t); /* implemented */ +extern NCURSES_EXPORT(wchar_t*) NCURSES_SP_NAME(wunctrl) (SCREEN*, cchar_t *); /* implemented */ +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_attr) (SCREEN*, attr_t, short, void *); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (SCREEN*, attr_t, short, void *, NCURSES_SP_OUTC); +#endif + +#ifndef NCURSES_NOMACROS + /* * XSI curses macros for XPG4 conformance. */ @@ -186,16 +203,17 @@ extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* imple #define ins_wch(c) wins_wch(stdscr,c) #define ins_wstr(t) wins_wstr(stdscr,t) #define inwstr(c) winwstr(stdscr,c) -#define vid_attr(a,pair,opts) vidattr(a) #define vline_set(c,n) wvline_set(stdscr,c,n) #define wadd_wchstr(win,str) wadd_wchnstr(win,str,-1) #define waddwstr(win,wstr) waddnwstr(win,wstr,-1) -#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK) #define wget_wstr(w,t) wgetn_wstr(w,t,-1) -#define wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK) #define win_wchstr(w,c) win_wchnstr(w,c,-1) #define wins_wstr(w,t) wins_nwstr(w,t,-1) +#if !NCURSES_OPAQUE +#define wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK) +#endif + #define mvadd_wch(y,x,c) mvwadd_wch(stdscr,y,x,c) #define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,y,x,s,n) #define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,y,x,s) @@ -234,4 +252,11 @@ extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* imple #define mvwinwstr(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : winwstr(win,c)) #define mvwvline_set(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : wvline_set(win,c,n)) +#endif /* NCURSES_NOMACROS */ + +#if defined(TRACE) || defined(NCURSES_TEST) +extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *); +extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *); +#endif + #endif /* _XOPEN_SOURCE_EXTENDED */