micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 1 | /* $Id: curses.wide,v 1.51 2021/05/22 20:28:29 tom Exp $ */ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 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 | */ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 7 | #define _XOPEN_CURSES 1 |
| 8 | |
| 9 | #if NCURSES_WIDECHAR |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 10 | |
| 11 | extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs; |
| 12 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 13 | #define NCURSES_WACS(c) (&_nc_wacs[NCURSES_CAST(unsigned char,(c))]) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 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 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 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 | |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 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 | |
| 124 | extern NCURSES_EXPORT(int) add_wch (const cchar_t *); /* generated:WIDEC */ |
| 125 | extern NCURSES_EXPORT(int) add_wchnstr (const cchar_t *, int); /* generated:WIDEC */ |
| 126 | extern NCURSES_EXPORT(int) add_wchstr (const cchar_t *); /* generated:WIDEC */ |
| 127 | extern NCURSES_EXPORT(int) addnwstr (const wchar_t *, int); /* generated:WIDEC */ |
| 128 | extern NCURSES_EXPORT(int) addwstr (const wchar_t *); /* generated:WIDEC */ |
| 129 | extern NCURSES_EXPORT(int) bkgrnd (const cchar_t *); /* generated:WIDEC */ |
| 130 | extern NCURSES_EXPORT(void) bkgrndset (const cchar_t *); /* generated:WIDEC */ |
| 131 | extern 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 */ |
| 132 | extern NCURSES_EXPORT(int) box_set (WINDOW *, const cchar_t *, const cchar_t *); /* generated:WIDEC */ |
| 133 | extern NCURSES_EXPORT(int) echo_wchar (const cchar_t *); /* generated:WIDEC */ |
| 134 | extern NCURSES_EXPORT(int) erasewchar (wchar_t*); /* implemented */ |
| 135 | extern NCURSES_EXPORT(int) get_wch (wint_t *); /* generated:WIDEC */ |
| 136 | extern NCURSES_EXPORT(int) get_wstr (wint_t *); /* generated:WIDEC */ |
| 137 | extern NCURSES_EXPORT(int) getbkgrnd (cchar_t *); /* generated:WIDEC */ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 138 | extern NCURSES_EXPORT(int) getcchar (const cchar_t *, wchar_t*, attr_t*, NCURSES_PAIRS_T*, void*); /* implemented */ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 139 | extern NCURSES_EXPORT(int) getn_wstr (wint_t *, int); /* generated:WIDEC */ |
| 140 | extern NCURSES_EXPORT(int) hline_set (const cchar_t *, int); /* generated:WIDEC */ |
| 141 | extern NCURSES_EXPORT(int) in_wch (cchar_t *); /* generated:WIDEC */ |
| 142 | extern NCURSES_EXPORT(int) in_wchnstr (cchar_t *, int); /* generated:WIDEC */ |
| 143 | extern NCURSES_EXPORT(int) in_wchstr (cchar_t *); /* generated:WIDEC */ |
| 144 | extern NCURSES_EXPORT(int) innwstr (wchar_t *, int); /* generated:WIDEC */ |
| 145 | extern NCURSES_EXPORT(int) ins_nwstr (const wchar_t *, int); /* generated:WIDEC */ |
| 146 | extern NCURSES_EXPORT(int) ins_wch (const cchar_t *); /* generated:WIDEC */ |
| 147 | extern NCURSES_EXPORT(int) ins_wstr (const wchar_t *); /* generated:WIDEC */ |
| 148 | extern NCURSES_EXPORT(int) inwstr (wchar_t *); /* generated:WIDEC */ |
| 149 | extern NCURSES_EXPORT(NCURSES_CONST char*) key_name (wchar_t); /* implemented */ |
| 150 | extern NCURSES_EXPORT(int) killwchar (wchar_t *); /* implemented */ |
| 151 | extern NCURSES_EXPORT(int) mvadd_wch (int, int, const cchar_t *); /* generated:WIDEC */ |
| 152 | extern NCURSES_EXPORT(int) mvadd_wchnstr (int, int, const cchar_t *, int);/* generated:WIDEC */ |
| 153 | extern NCURSES_EXPORT(int) mvadd_wchstr (int, int, const cchar_t *); /* generated:WIDEC */ |
| 154 | extern NCURSES_EXPORT(int) mvaddnwstr (int, int, const wchar_t *, int); /* generated:WIDEC */ |
| 155 | extern NCURSES_EXPORT(int) mvaddwstr (int, int, const wchar_t *); /* generated:WIDEC */ |
| 156 | extern NCURSES_EXPORT(int) mvget_wch (int, int, wint_t *); /* generated:WIDEC */ |
| 157 | extern NCURSES_EXPORT(int) mvget_wstr (int, int, wint_t *); /* generated:WIDEC */ |
| 158 | extern NCURSES_EXPORT(int) mvgetn_wstr (int, int, wint_t *, int); /* generated:WIDEC */ |
| 159 | extern NCURSES_EXPORT(int) mvhline_set (int, int, const cchar_t *, int); /* generated:WIDEC */ |
| 160 | extern NCURSES_EXPORT(int) mvin_wch (int, int, cchar_t *); /* generated:WIDEC */ |
| 161 | extern NCURSES_EXPORT(int) mvin_wchnstr (int, int, cchar_t *, int); /* generated:WIDEC */ |
| 162 | extern NCURSES_EXPORT(int) mvin_wchstr (int, int, cchar_t *); /* generated:WIDEC */ |
| 163 | extern NCURSES_EXPORT(int) mvinnwstr (int, int, wchar_t *, int); /* generated:WIDEC */ |
| 164 | extern NCURSES_EXPORT(int) mvins_nwstr (int, int, const wchar_t *, int); /* generated:WIDEC */ |
| 165 | extern NCURSES_EXPORT(int) mvins_wch (int, int, const cchar_t *); /* generated:WIDEC */ |
| 166 | extern NCURSES_EXPORT(int) mvins_wstr (int, int, const wchar_t *); /* generated:WIDEC */ |
| 167 | extern NCURSES_EXPORT(int) mvinwstr (int, int, wchar_t *); /* generated:WIDEC */ |
| 168 | extern NCURSES_EXPORT(int) mvvline_set (int, int, const cchar_t *, int); /* generated:WIDEC */ |
| 169 | extern NCURSES_EXPORT(int) mvwadd_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ |
| 170 | extern NCURSES_EXPORT(int) mvwadd_wchnstr (WINDOW *, int, int, const cchar_t *, int); /* generated:WIDEC */ |
| 171 | extern NCURSES_EXPORT(int) mvwadd_wchstr (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ |
| 172 | extern NCURSES_EXPORT(int) mvwaddnwstr (WINDOW *, int, int, const wchar_t *, int);/* generated:WIDEC */ |
| 173 | extern NCURSES_EXPORT(int) mvwaddwstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ |
| 174 | extern NCURSES_EXPORT(int) mvwget_wch (WINDOW *, int, int, wint_t *); /* generated:WIDEC */ |
| 175 | extern NCURSES_EXPORT(int) mvwget_wstr (WINDOW *, int, int, wint_t *); /* generated:WIDEC */ |
| 176 | extern NCURSES_EXPORT(int) mvwgetn_wstr (WINDOW *, int, int, wint_t *, int);/* generated:WIDEC */ |
| 177 | extern NCURSES_EXPORT(int) mvwhline_set (WINDOW *, int, int, const cchar_t *, int);/* generated:WIDEC */ |
| 178 | extern NCURSES_EXPORT(int) mvwin_wch (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */ |
| 179 | extern NCURSES_EXPORT(int) mvwin_wchnstr (WINDOW *, int,int, cchar_t *,int); /* generated:WIDEC */ |
| 180 | extern NCURSES_EXPORT(int) mvwin_wchstr (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */ |
| 181 | extern NCURSES_EXPORT(int) mvwinnwstr (WINDOW *, int, int, wchar_t *, int); /* generated:WIDEC */ |
| 182 | extern NCURSES_EXPORT(int) mvwins_nwstr (WINDOW *, int,int, const wchar_t *,int); /* generated:WIDEC */ |
| 183 | extern NCURSES_EXPORT(int) mvwins_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ |
| 184 | extern NCURSES_EXPORT(int) mvwins_wstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ |
| 185 | extern NCURSES_EXPORT(int) mvwinwstr (WINDOW *, int, int, wchar_t *); /* generated:WIDEC */ |
| 186 | extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */ |
| 187 | extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *); /* implemented */ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 188 | extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, NCURSES_PAIRS_T, const void *); /* implemented */ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 189 | extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* implemented */ |
| 190 | extern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */ |
| 191 | extern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 192 | extern NCURSES_EXPORT(int) vid_attr (attr_t, NCURSES_PAIRS_T, void *); /* implemented */ |
| 193 | extern NCURSES_EXPORT(int) vid_puts (attr_t, NCURSES_PAIRS_T, void *, NCURSES_OUTC); /* implemented */ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 194 | extern NCURSES_EXPORT(int) vline_set (const cchar_t *, int); /* generated:WIDEC */ |
| 195 | extern NCURSES_EXPORT(int) wadd_wch (WINDOW *,const cchar_t *); /* implemented */ |
| 196 | extern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int); /* implemented */ |
| 197 | extern NCURSES_EXPORT(int) wadd_wchstr (WINDOW *,const cchar_t *); /* generated:WIDEC */ |
| 198 | extern NCURSES_EXPORT(int) waddnwstr (WINDOW *,const wchar_t *,int); /* implemented */ |
| 199 | extern NCURSES_EXPORT(int) waddwstr (WINDOW *,const wchar_t *); /* generated:WIDEC */ |
| 200 | extern NCURSES_EXPORT(int) wbkgrnd (WINDOW *,const cchar_t *); /* implemented */ |
| 201 | extern NCURSES_EXPORT(void) wbkgrndset (WINDOW *,const cchar_t *); /* implemented */ |
| 202 | extern 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 */ |
| 203 | extern NCURSES_EXPORT(int) wecho_wchar (WINDOW *, const cchar_t *); /* implemented */ |
| 204 | extern NCURSES_EXPORT(int) wget_wch (WINDOW *, wint_t *); /* implemented */ |
| 205 | extern NCURSES_EXPORT(int) wget_wstr (WINDOW *, wint_t *); /* generated:WIDEC */ |
| 206 | extern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *); /* generated:WIDEC */ |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 207 | extern NCURSES_EXPORT(int) wgetn_wstr (WINDOW *, wint_t *, int); /* implemented */ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 208 | extern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int); /* implemented */ |
| 209 | extern NCURSES_EXPORT(int) win_wch (WINDOW *, cchar_t *); /* implemented */ |
| 210 | extern NCURSES_EXPORT(int) win_wchnstr (WINDOW *, cchar_t *, int); /* implemented */ |
| 211 | extern NCURSES_EXPORT(int) win_wchstr (WINDOW *, cchar_t *); /* generated:WIDEC */ |
| 212 | extern NCURSES_EXPORT(int) winnwstr (WINDOW *, wchar_t *, int); /* implemented */ |
| 213 | extern NCURSES_EXPORT(int) wins_nwstr (WINDOW *, const wchar_t *, int); /* implemented */ |
| 214 | extern NCURSES_EXPORT(int) wins_wch (WINDOW *, const cchar_t *); /* implemented */ |
| 215 | extern NCURSES_EXPORT(int) wins_wstr (WINDOW *, const wchar_t *); /* generated:WIDEC */ |
| 216 | extern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *); /* implemented */ |
| 217 | extern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *); /* implemented */ |
| 218 | extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* implemented */ |
| 219 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 220 | #if NCURSES_SP_FUNCS |
| 221 | extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(term_attrs) (SCREEN*); /* implemented:SP_FUNC */ |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 222 | extern NCURSES_EXPORT(int) NCURSES_SP_NAME(erasewchar) (SCREEN*, wchar_t *); /* implemented:SP_FUNC */ |
| 223 | extern NCURSES_EXPORT(int) NCURSES_SP_NAME(killwchar) (SCREEN*, wchar_t *); /* implemented:SP_FUNC */ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 224 | extern NCURSES_EXPORT(int) NCURSES_SP_NAME(unget_wch) (SCREEN*, const wchar_t); /* implemented:SP_FUNC */ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 225 | extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_attr) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *); /* implemented:SP_FUNC */ |
| 226 | extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *, NCURSES_SP_OUTC); /* implemented:SP_FUNC */ |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 227 | extern NCURSES_EXPORT(wchar_t*) NCURSES_SP_NAME(wunctrl) (SCREEN*, cchar_t *); /* implemented:SP_FUNC */ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 228 | #endif |
| 229 | |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 230 | #ifndef NCURSES_NOMACROS |
| 231 | |
| 232 | /* |
| 233 | * XSI curses macros for XPG4 conformance. |
| 234 | */ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 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) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 264 | |
| 265 | #if !NCURSES_OPAQUE |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 266 | #define wgetbkgrnd(win,wch) (NCURSES_OK_ADDR(wch) ? ((win) ? (*(wch) = (win)->_bkgrnd) : *(wch), OK) : ERR) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 267 | #endif |
| 268 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 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)) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 287 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 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))) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 306 | |
| 307 | #endif /* NCURSES_NOMACROS */ |
| 308 | |
| 309 | #if defined(TRACE) || defined(NCURSES_TEST) |
| 310 | extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *); |
| 311 | extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *); |
| 312 | #endif |
| 313 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 314 | #endif /* NCURSES_WIDECHAR */ |