1/* $Id: curses.wide,v 1.51 2021/05/22 20:28:29 tom Exp $ */ 2/* 3 * vile:cmode: 4 * This file is part of ncurses, designed to be appended after curses.h.in 5 * (see that file for the relevant copyright). 6 */ 7#define _XOPEN_CURSES 1 8 9#if NCURSES_WIDECHAR 10 11extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs; 12 13#define NCURSES_WACS(c) (&_nc_wacs[NCURSES_CAST(unsigned char,(c))]) 14 15#define WACS_BSSB NCURSES_WACS('l') 16#define WACS_SSBB NCURSES_WACS('m') 17#define WACS_BBSS NCURSES_WACS('k') 18#define WACS_SBBS NCURSES_WACS('j') 19#define WACS_SBSS NCURSES_WACS('u') 20#define WACS_SSSB NCURSES_WACS('t') 21#define WACS_SSBS NCURSES_WACS('v') 22#define WACS_BSSS NCURSES_WACS('w') 23#define WACS_BSBS NCURSES_WACS('q') 24#define WACS_SBSB NCURSES_WACS('x') 25#define WACS_SSSS NCURSES_WACS('n') 26 27#define WACS_ULCORNER WACS_BSSB 28#define WACS_LLCORNER WACS_SSBB 29#define WACS_URCORNER WACS_BBSS 30#define WACS_LRCORNER WACS_SBBS 31#define WACS_RTEE WACS_SBSS 32#define WACS_LTEE WACS_SSSB 33#define WACS_BTEE WACS_SSBS 34#define WACS_TTEE WACS_BSSS 35#define WACS_HLINE WACS_BSBS 36#define WACS_VLINE WACS_SBSB 37#define WACS_PLUS WACS_SSSS 38 39#define WACS_S1 NCURSES_WACS('o') /* scan line 1 */ 40#define WACS_S9 NCURSES_WACS('s') /* scan line 9 */ 41#define WACS_DIAMOND NCURSES_WACS('`') /* diamond */ 42#define WACS_CKBOARD NCURSES_WACS('a') /* checker board */ 43#define WACS_DEGREE NCURSES_WACS('f') /* degree symbol */ 44#define WACS_PLMINUS NCURSES_WACS('g') /* plus/minus */ 45#define WACS_BULLET NCURSES_WACS('~') /* bullet */ 46 47 /* Teletype 5410v1 symbols */ 48#define WACS_LARROW NCURSES_WACS(',') /* arrow left */ 49#define WACS_RARROW NCURSES_WACS('+') /* arrow right */ 50#define WACS_DARROW NCURSES_WACS('.') /* arrow down */ 51#define WACS_UARROW NCURSES_WACS('-') /* arrow up */ 52#define WACS_BOARD NCURSES_WACS('h') /* board of squares */ 53#define WACS_LANTERN NCURSES_WACS('i') /* lantern symbol */ 54#define WACS_BLOCK NCURSES_WACS('0') /* solid square block */ 55 56 /* ncurses extensions */ 57#define WACS_S3 NCURSES_WACS('p') /* scan line 3 */ 58#define WACS_S7 NCURSES_WACS('r') /* scan line 7 */ 59#define WACS_LEQUAL NCURSES_WACS('y') /* less/equal */ 60#define WACS_GEQUAL NCURSES_WACS('z') /* greater/equal */ 61#define WACS_PI NCURSES_WACS('{') /* Pi */ 62#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */ 63#define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */ 64 65 /* double lines */ 66#define WACS_BDDB NCURSES_WACS('C') 67#define WACS_DDBB NCURSES_WACS('D') 68#define WACS_BBDD NCURSES_WACS('B') 69#define WACS_DBBD NCURSES_WACS('A') 70#define WACS_DBDD NCURSES_WACS('G') 71#define WACS_DDDB NCURSES_WACS('F') 72#define WACS_DDBD NCURSES_WACS('H') 73#define WACS_BDDD NCURSES_WACS('I') 74#define WACS_BDBD NCURSES_WACS('R') 75#define WACS_DBDB NCURSES_WACS('Y') 76#define WACS_DDDD NCURSES_WACS('E') 77 78#define WACS_D_ULCORNER WACS_BDDB 79#define WACS_D_LLCORNER WACS_DDBB 80#define WACS_D_URCORNER WACS_BBDD 81#define WACS_D_LRCORNER WACS_DBBD 82#define WACS_D_RTEE WACS_DBDD 83#define WACS_D_LTEE WACS_DDDB 84#define WACS_D_BTEE WACS_DDBD 85#define WACS_D_TTEE WACS_BDDD 86#define WACS_D_HLINE WACS_BDBD 87#define WACS_D_VLINE WACS_DBDB 88#define WACS_D_PLUS WACS_DDDD 89 90 /* thick lines */ 91#define WACS_BTTB NCURSES_WACS('L') 92#define WACS_TTBB NCURSES_WACS('M') 93#define WACS_BBTT NCURSES_WACS('K') 94#define WACS_TBBT NCURSES_WACS('J') 95#define WACS_TBTT NCURSES_WACS('U') 96#define WACS_TTTB NCURSES_WACS('T') 97#define WACS_TTBT NCURSES_WACS('V') 98#define WACS_BTTT NCURSES_WACS('W') 99#define WACS_BTBT NCURSES_WACS('Q') 100#define WACS_TBTB NCURSES_WACS('X') 101#define WACS_TTTT NCURSES_WACS('N') 102 103#define WACS_T_ULCORNER WACS_BTTB 104#define WACS_T_LLCORNER WACS_TTBB 105#define WACS_T_URCORNER WACS_BBTT 106#define WACS_T_LRCORNER WACS_TBBT 107#define WACS_T_RTEE WACS_TBTT 108#define WACS_T_LTEE WACS_TTTB 109#define WACS_T_BTEE WACS_TTBT 110#define WACS_T_TTEE WACS_BTTT 111#define WACS_T_HLINE WACS_BTBT 112#define WACS_T_VLINE WACS_TBTB 113#define WACS_T_PLUS WACS_TTTT 114 115/* 116 * Function prototypes for wide-character operations. 117 * 118 * "generated" comments should include ":WIDEC" to make the corresponding 119 * functions ifdef'd in lib_gen.c 120 * 121 * "implemented" comments do not need this marker. 122 */ 123 124extern NCURSES_EXPORT(int) add_wch (const cchar_t *); /* generated:WIDEC */ 125extern NCURSES_EXPORT(int) add_wchnstr (const cchar_t *, int); /* generated:WIDEC */ 126extern NCURSES_EXPORT(int) add_wchstr (const cchar_t *); /* generated:WIDEC */ 127extern NCURSES_EXPORT(int) addnwstr (const wchar_t *, int); /* generated:WIDEC */ 128extern NCURSES_EXPORT(int) addwstr (const wchar_t *); /* generated:WIDEC */ 129extern NCURSES_EXPORT(int) bkgrnd (const cchar_t *); /* generated:WIDEC */ 130extern NCURSES_EXPORT(void) bkgrndset (const cchar_t *); /* generated:WIDEC */ 131extern NCURSES_EXPORT(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*); /* generated:WIDEC */ 132extern NCURSES_EXPORT(int) box_set (WINDOW *, const cchar_t *, const cchar_t *); /* generated:WIDEC */ 133extern NCURSES_EXPORT(int) echo_wchar (const cchar_t *); /* generated:WIDEC */ 134extern NCURSES_EXPORT(int) erasewchar (wchar_t*); /* implemented */ 135extern NCURSES_EXPORT(int) get_wch (wint_t *); /* generated:WIDEC */ 136extern NCURSES_EXPORT(int) get_wstr (wint_t *); /* generated:WIDEC */ 137extern NCURSES_EXPORT(int) getbkgrnd (cchar_t *); /* generated:WIDEC */ 138extern NCURSES_EXPORT(int) getcchar (const cchar_t *, wchar_t*, attr_t*, NCURSES_PAIRS_T*, void*); /* implemented */ 139extern NCURSES_EXPORT(int) getn_wstr (wint_t *, int); /* generated:WIDEC */ 140extern NCURSES_EXPORT(int) hline_set (const cchar_t *, int); /* generated:WIDEC */ 141extern NCURSES_EXPORT(int) in_wch (cchar_t *); /* generated:WIDEC */ 142extern NCURSES_EXPORT(int) in_wchnstr (cchar_t *, int); /* generated:WIDEC */ 143extern NCURSES_EXPORT(int) in_wchstr (cchar_t *); /* generated:WIDEC */ 144extern NCURSES_EXPORT(int) innwstr (wchar_t *, int); /* generated:WIDEC */ 145extern NCURSES_EXPORT(int) ins_nwstr (const wchar_t *, int); /* generated:WIDEC */ 146extern NCURSES_EXPORT(int) ins_wch (const cchar_t *); /* generated:WIDEC */ 147extern NCURSES_EXPORT(int) ins_wstr (const wchar_t *); /* generated:WIDEC */ 148extern NCURSES_EXPORT(int) inwstr (wchar_t *); /* generated:WIDEC */ 149extern NCURSES_EXPORT(NCURSES_CONST char*) key_name (wchar_t); /* implemented */ 150extern NCURSES_EXPORT(int) killwchar (wchar_t *); /* implemented */ 151extern NCURSES_EXPORT(int) mvadd_wch (int, int, const cchar_t *); /* generated:WIDEC */ 152extern NCURSES_EXPORT(int) mvadd_wchnstr (int, int, const cchar_t *, int);/* generated:WIDEC */ 153extern NCURSES_EXPORT(int) mvadd_wchstr (int, int, const cchar_t *); /* generated:WIDEC */ 154extern NCURSES_EXPORT(int) mvaddnwstr (int, int, const wchar_t *, int); /* generated:WIDEC */ 155extern NCURSES_EXPORT(int) mvaddwstr (int, int, const wchar_t *); /* generated:WIDEC */ 156extern NCURSES_EXPORT(int) mvget_wch (int, int, wint_t *); /* generated:WIDEC */ 157extern NCURSES_EXPORT(int) mvget_wstr (int, int, wint_t *); /* generated:WIDEC */ 158extern NCURSES_EXPORT(int) mvgetn_wstr (int, int, wint_t *, int); /* generated:WIDEC */ 159extern NCURSES_EXPORT(int) mvhline_set (int, int, const cchar_t *, int); /* generated:WIDEC */ 160extern NCURSES_EXPORT(int) mvin_wch (int, int, cchar_t *); /* generated:WIDEC */ 161extern NCURSES_EXPORT(int) mvin_wchnstr (int, int, cchar_t *, int); /* generated:WIDEC */ 162extern NCURSES_EXPORT(int) mvin_wchstr (int, int, cchar_t *); /* generated:WIDEC */ 163extern NCURSES_EXPORT(int) mvinnwstr (int, int, wchar_t *, int); /* generated:WIDEC */ 164extern NCURSES_EXPORT(int) mvins_nwstr (int, int, const wchar_t *, int); /* generated:WIDEC */ 165extern NCURSES_EXPORT(int) mvins_wch (int, int, const cchar_t *); /* generated:WIDEC */ 166extern NCURSES_EXPORT(int) mvins_wstr (int, int, const wchar_t *); /* generated:WIDEC */ 167extern NCURSES_EXPORT(int) mvinwstr (int, int, wchar_t *); /* generated:WIDEC */ 168extern NCURSES_EXPORT(int) mvvline_set (int, int, const cchar_t *, int); /* generated:WIDEC */ 169extern NCURSES_EXPORT(int) mvwadd_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ 170extern NCURSES_EXPORT(int) mvwadd_wchnstr (WINDOW *, int, int, const cchar_t *, int); /* generated:WIDEC */ 171extern NCURSES_EXPORT(int) mvwadd_wchstr (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ 172extern NCURSES_EXPORT(int) mvwaddnwstr (WINDOW *, int, int, const wchar_t *, int);/* generated:WIDEC */ 173extern NCURSES_EXPORT(int) mvwaddwstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ 174extern NCURSES_EXPORT(int) mvwget_wch (WINDOW *, int, int, wint_t *); /* generated:WIDEC */ 175extern NCURSES_EXPORT(int) mvwget_wstr (WINDOW *, int, int, wint_t *); /* generated:WIDEC */ 176extern NCURSES_EXPORT(int) mvwgetn_wstr (WINDOW *, int, int, wint_t *, int);/* generated:WIDEC */ 177extern NCURSES_EXPORT(int) mvwhline_set (WINDOW *, int, int, const cchar_t *, int);/* generated:WIDEC */ 178extern NCURSES_EXPORT(int) mvwin_wch (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */ 179extern NCURSES_EXPORT(int) mvwin_wchnstr (WINDOW *, int,int, cchar_t *,int); /* generated:WIDEC */ 180extern NCURSES_EXPORT(int) mvwin_wchstr (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */ 181extern NCURSES_EXPORT(int) mvwinnwstr (WINDOW *, int, int, wchar_t *, int); /* generated:WIDEC */ 182extern NCURSES_EXPORT(int) mvwins_nwstr (WINDOW *, int,int, const wchar_t *,int); /* generated:WIDEC */ 183extern NCURSES_EXPORT(int) mvwins_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ 184extern NCURSES_EXPORT(int) mvwins_wstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ 185extern NCURSES_EXPORT(int) mvwinwstr (WINDOW *, int, int, wchar_t *); /* generated:WIDEC */ 186extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */ 187extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *); /* implemented */ 188extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, NCURSES_PAIRS_T, const void *); /* implemented */ 189extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* implemented */ 190extern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */ 191extern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */ 192extern NCURSES_EXPORT(int) vid_attr (attr_t, NCURSES_PAIRS_T, void *); /* implemented */ 193extern NCURSES_EXPORT(int) vid_puts (attr_t, NCURSES_PAIRS_T, void *, NCURSES_OUTC); /* implemented */ 194extern NCURSES_EXPORT(int) vline_set (const cchar_t *, int); /* generated:WIDEC */ 195extern NCURSES_EXPORT(int) wadd_wch (WINDOW *,const cchar_t *); /* implemented */ 196extern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int); /* implemented */ 197extern NCURSES_EXPORT(int) wadd_wchstr (WINDOW *,const cchar_t *); /* generated:WIDEC */ 198extern NCURSES_EXPORT(int) waddnwstr (WINDOW *,const wchar_t *,int); /* implemented */ 199extern NCURSES_EXPORT(int) waddwstr (WINDOW *,const wchar_t *); /* generated:WIDEC */ 200extern NCURSES_EXPORT(int) wbkgrnd (WINDOW *,const cchar_t *); /* implemented */ 201extern NCURSES_EXPORT(void) wbkgrndset (WINDOW *,const cchar_t *); /* implemented */ 202extern NCURSES_EXPORT(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*); /* implemented */ 203extern NCURSES_EXPORT(int) wecho_wchar (WINDOW *, const cchar_t *); /* implemented */ 204extern NCURSES_EXPORT(int) wget_wch (WINDOW *, wint_t *); /* implemented */ 205extern NCURSES_EXPORT(int) wget_wstr (WINDOW *, wint_t *); /* generated:WIDEC */ 206extern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *); /* generated:WIDEC */ 207extern NCURSES_EXPORT(int) wgetn_wstr (WINDOW *, wint_t *, int); /* implemented */ 208extern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int); /* implemented */ 209extern NCURSES_EXPORT(int) win_wch (WINDOW *, cchar_t *); /* implemented */ 210extern NCURSES_EXPORT(int) win_wchnstr (WINDOW *, cchar_t *, int); /* implemented */ 211extern NCURSES_EXPORT(int) win_wchstr (WINDOW *, cchar_t *); /* generated:WIDEC */ 212extern NCURSES_EXPORT(int) winnwstr (WINDOW *, wchar_t *, int); /* implemented */ 213extern NCURSES_EXPORT(int) wins_nwstr (WINDOW *, const wchar_t *, int); /* implemented */ 214extern NCURSES_EXPORT(int) wins_wch (WINDOW *, const cchar_t *); /* implemented */ 215extern NCURSES_EXPORT(int) wins_wstr (WINDOW *, const wchar_t *); /* generated:WIDEC */ 216extern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *); /* implemented */ 217extern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *); /* implemented */ 218extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* implemented */ 219 220#if NCURSES_SP_FUNCS 221extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(term_attrs) (SCREEN*); /* implemented:SP_FUNC */ 222extern NCURSES_EXPORT(int) NCURSES_SP_NAME(erasewchar) (SCREEN*, wchar_t *); /* implemented:SP_FUNC */ 223extern NCURSES_EXPORT(int) NCURSES_SP_NAME(killwchar) (SCREEN*, wchar_t *); /* implemented:SP_FUNC */ 224extern NCURSES_EXPORT(int) NCURSES_SP_NAME(unget_wch) (SCREEN*, const wchar_t); /* implemented:SP_FUNC */ 225extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_attr) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *); /* implemented:SP_FUNC */ 226extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *, NCURSES_SP_OUTC); /* implemented:SP_FUNC */ 227extern NCURSES_EXPORT(wchar_t*) NCURSES_SP_NAME(wunctrl) (SCREEN*, cchar_t *); /* implemented:SP_FUNC */ 228#endif 229 230#ifndef NCURSES_NOMACROS 231 232/* 233 * XSI curses macros for XPG4 conformance. 234 */ 235#define add_wch(c) wadd_wch(stdscr,(c)) 236#define add_wchnstr(str,n) wadd_wchnstr(stdscr,(str),(n)) 237#define add_wchstr(str) wadd_wchstr(stdscr,(str)) 238#define addnwstr(wstr,n) waddnwstr(stdscr,(wstr),(n)) 239#define addwstr(wstr) waddwstr(stdscr,(wstr)) 240#define bkgrnd(c) wbkgrnd(stdscr,(c)) 241#define bkgrndset(c) wbkgrndset(stdscr,(c)) 242#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,(l),(r),(t),(b),tl,tr,bl,br) 243#define box_set(w,v,h) wborder_set((w),(v),(v),(h),(h),0,0,0,0) 244#define echo_wchar(c) wecho_wchar(stdscr,(c)) 245#define get_wch(c) wget_wch(stdscr,(c)) 246#define get_wstr(t) wget_wstr(stdscr,(t)) 247#define getbkgrnd(wch) wgetbkgrnd(stdscr,(wch)) 248#define getn_wstr(t,n) wgetn_wstr(stdscr,(t),(n)) 249#define hline_set(c,n) whline_set(stdscr,(c),(n)) 250#define in_wch(c) win_wch(stdscr,(c)) 251#define in_wchnstr(c,n) win_wchnstr(stdscr,(c),(n)) 252#define in_wchstr(c) win_wchstr(stdscr,(c)) 253#define innwstr(c,n) winnwstr(stdscr,(c),(n)) 254#define ins_nwstr(t,n) wins_nwstr(stdscr,(t),(n)) 255#define ins_wch(c) wins_wch(stdscr,(c)) 256#define ins_wstr(t) wins_wstr(stdscr,(t)) 257#define inwstr(c) winwstr(stdscr,(c)) 258#define vline_set(c,n) wvline_set(stdscr,(c),(n)) 259#define wadd_wchstr(win,str) wadd_wchnstr((win),(str),-1) 260#define waddwstr(win,wstr) waddnwstr((win),(wstr),-1) 261#define wget_wstr(w,t) wgetn_wstr((w),(t),-1) 262#define win_wchstr(w,c) win_wchnstr((w),(c),-1) 263#define wins_wstr(w,t) wins_nwstr((w),(t),-1) 264 265#if !NCURSES_OPAQUE 266#define wgetbkgrnd(win,wch) (NCURSES_OK_ADDR(wch) ? ((win) ? (*(wch) = (win)->_bkgrnd) : *(wch), OK) : ERR) 267#endif 268 269#define mvadd_wch(y,x,c) mvwadd_wch(stdscr,(y),(x),(c)) 270#define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,(y),(x),(s),(n)) 271#define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,(y),(x),(s)) 272#define mvaddnwstr(y,x,wstr,n) mvwaddnwstr(stdscr,(y),(x),(wstr),(n)) 273#define mvaddwstr(y,x,wstr) mvwaddwstr(stdscr,(y),(x),(wstr)) 274#define mvget_wch(y,x,c) mvwget_wch(stdscr,(y),(x),(c)) 275#define mvget_wstr(y,x,t) mvwget_wstr(stdscr,(y),(x),(t)) 276#define mvgetn_wstr(y,x,t,n) mvwgetn_wstr(stdscr,(y),(x),(t),(n)) 277#define mvhline_set(y,x,c,n) mvwhline_set(stdscr,(y),(x),(c),(n)) 278#define mvin_wch(y,x,c) mvwin_wch(stdscr,(y),(x),(c)) 279#define mvin_wchnstr(y,x,c,n) mvwin_wchnstr(stdscr,(y),(x),(c),(n)) 280#define mvin_wchstr(y,x,c) mvwin_wchstr(stdscr,(y),(x),(c)) 281#define mvinnwstr(y,x,c,n) mvwinnwstr(stdscr,(y),(x),(c),(n)) 282#define mvins_nwstr(y,x,t,n) mvwins_nwstr(stdscr,(y),(x),(t),(n)) 283#define mvins_wch(y,x,c) mvwins_wch(stdscr,(y),(x),(c)) 284#define mvins_wstr(y,x,t) mvwins_wstr(stdscr,(y),(x),(t)) 285#define mvinwstr(y,x,c) mvwinwstr(stdscr,(y),(x),(c)) 286#define mvvline_set(y,x,c,n) mvwvline_set(stdscr,(y),(x),(c),(n)) 287 288#define mvwadd_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wch((win),(c))) 289#define mvwadd_wchnstr(win,y,x,s,n) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchnstr((win),(s),(n))) 290#define mvwadd_wchstr(win,y,x,s) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchstr((win),(s))) 291#define mvwaddnwstr(win,y,x,wstr,n) (wmove(win,(y),(x)) == ERR ? ERR : waddnwstr((win),(wstr),(n))) 292#define mvwaddwstr(win,y,x,wstr) (wmove(win,(y),(x)) == ERR ? ERR : waddwstr((win),(wstr))) 293#define mvwget_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wget_wch((win),(c))) 294#define mvwget_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wget_wstr((win),(t))) 295#define mvwgetn_wstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wgetn_wstr((win),(t),(n))) 296#define mvwhline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : whline_set((win),(c),(n))) 297#define mvwin_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wch((win),(c))) 298#define mvwin_wchnstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : win_wchnstr((win),(c),(n))) 299#define mvwin_wchstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wchstr((win),(c))) 300#define mvwinnwstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : winnwstr((win),(c),(n))) 301#define mvwins_nwstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wins_nwstr((win),(t),(n))) 302#define mvwins_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wins_wch((win),(c))) 303#define mvwins_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wins_wstr((win),(t))) 304#define mvwinwstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : winwstr((win),(c))) 305#define mvwvline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : wvline_set((win),(c),(n))) 306 307#endif /* NCURSES_NOMACROS */ 308 309#if defined(TRACE) || defined(NCURSES_TEST) 310extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *); 311extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *); 312#endif 313 314#endif /* NCURSES_WIDECHAR */ 315