curses_sys/
wide.rs

1use libc::{c_int, wchar_t};
2use base::{WINDOW, cchar_t};
3
4#[inline(always)]
5pub unsafe fn WACS(c: u8) -> cchar_t {
6	*_nc_wacs.offset(c as isize)
7}
8
9#[link(name = "ncursesw")]
10extern "C" {
11	pub static _nc_wacs: *const cchar_t;
12
13	pub fn add_wch(wch: *const cchar_t) -> c_int;
14	pub fn wadd_wch(win: *mut WINDOW, wch: *const cchar_t) -> c_int;
15	pub fn mvadd_wch(y: c_int, x: c_int, wch: *const cchar_t) -> c_int;
16	pub fn mavwadd_wch(win: *mut WINDOW, y: c_int, x: c_int, wch: *const cchar_t) -> c_int;
17	pub fn echo_wchar(wch: *const cchar_t) -> c_int;
18	pub fn wecho_wchar(win: *mut WINDOW, wch: *const cchar_t) -> c_int;
19
20	pub fn bkgrnd(wch: *const cchar_t) -> c_int;
21	pub fn wbkgrnd(win: *mut WINDOW, wch: *const cchar_t) -> c_int;
22	pub fn bkgrndset(wch: *const cchar_t);
23	pub fn wbkgrndset(win: *mut WINDOW, wch: *const cchar_t) -> c_int;
24	pub fn getbkgrnd(wch: *mut cchar_t) -> c_int;
25	pub fn wgetbkgrnd(win: *mut WINDOW, wch: *mut cchar_t) -> c_int;
26
27	pub fn get_wch(wch: *mut wchar_t) -> c_int;
28	pub fn wget_wch(win: *mut WINDOW, wch: *mut wchar_t) -> c_int;
29	pub fn mvget_wch(y: c_int, x: c_int, wch: *mut wchar_t) -> c_int;
30	pub fn mvwget_wch(win: *mut WINDOW, y: c_int, x: c_int, wch: *mut wchar_t) -> c_int;
31	pub fn unget_wch(wch: wchar_t) -> c_int;
32
33	pub fn in_wch(wcval: *mut cchar_t) -> c_int;
34	pub fn mvin_wch(y: c_int, x: c_int, wcval: *mut cchar_t) -> c_int;
35	pub fn mvwin_wch(win: *mut WINDOW, y: c_int, x: c_int, wcval: *mut cchar_t) -> c_int;
36	pub fn win_wch(win: *mut WINDOW, wcval: *mut cchar_t) -> c_int;
37
38	pub fn ins_wstr(wstr: *const wchar_t) -> c_int;
39	pub fn ins_nwstr(wstr: *const wchar_t, n: c_int) -> c_int;
40	pub fn wins_wstr(win: *mut WINDOW, wstr: *const wchar_t) -> c_int;
41	pub fn wins_nwstr(win: *mut WINDOW, wstr: *const wchar_t, n: c_int) -> c_int;
42	pub fn mvins_wstr(y: c_int, x: c_int, wstr: *const wchar_t) -> c_int;
43	pub fn mvins_nwstr(y: c_int, x: c_int, wstr: *const wchar_t, n: c_int) -> c_int;
44	pub fn mvwins_wstr(win: *mut WINDOW, y: c_int, x: c_int, wstr: *const wchar_t) -> c_int;
45	pub fn mvwins_nwstr(win: *mut WINDOW, y: c_int, x: c_int, wstr: *const wchar_t, n: c_int) -> c_int;
46
47	pub fn addwstr(wstr: *const wchar_t) -> c_int;
48	pub fn addnwstr(wstr: *const wchar_t, n: c_int) -> c_int;
49	pub fn waddwstr(win: *mut WINDOW, wstr: *const wchar_t) -> c_int;
50	pub fn waddnwstr(win: *mut WINDOW, wstr: *const wchar_t) -> c_int;
51	pub fn mvaddwstr(y: c_int, x: c_int, wstr: *const wchar_t) -> c_int;
52	pub fn mvaddnwstr(y: c_int, x: c_int, wstr: *const wchar_t, n: c_int) -> c_int;
53	pub fn mvwaddwstr(win: *mut WINDOW, y: c_int, x: c_int, wstr: *const wchar_t) -> c_int;
54	pub fn mvwaddnwstr(win: *mut WINDOW, y: c_int, x: c_int, wstr: *const wchar_t, n: c_int) -> c_int;
55
56	pub fn inwstr(string: *mut wchar_t) -> c_int;
57	pub fn innwstr(string: *mut wchar_t, n: c_int) -> c_int;
58	pub fn winwstr(win: *mut WINDOW, string: *mut wchar_t) -> c_int;
59	pub fn winnwstr(win: *mut WINDOW, string: *mut wchar_t, n: c_int) -> c_int;
60	pub fn mvinwstr(y: c_int, x: c_int, string: *mut wchar_t) -> c_int;
61	pub fn mvinnwstr(y: c_int, x: c_int, string: *mut wchar_t, n: c_int) -> c_int;
62	pub fn mvwinwstr(win: *mut WINDOW, y: c_int, x: c_int, string: *mut wchar_t) -> c_int;
63	pub fn mvwinnwstr(win: *mut WINDOW, y: c_int, x: c_int, string: *mut wchar_t, n: c_int) -> c_int;
64
65	pub fn border_set(ls: *const cchar_t, rs: *const cchar_t, ts: *const cchar_t, bs: *const cchar_t, tl: *const cchar_t, tr: *const cchar_t, bl: *const cchar_t, br: *const cchar_t) -> c_int;
66	pub fn wborder_set(win: *mut WINDOW, ls: *const cchar_t, rs: *const cchar_t, ts: *const cchar_t, bs: *const cchar_t, tl: *const cchar_t, tr: *const cchar_t, bl: *const cchar_t, br: *const cchar_t) -> c_int;
67	pub fn box_set(win: *mut WINDOW, verch: *const cchar_t, horch: *const cchar_t) -> c_int;
68	pub fn hline_set(wch: *const cchar_t, n: c_int) -> c_int;
69	pub fn whline_set(win: *mut WINDOW, wch: *const cchar_t, n: c_int) -> c_int;
70	pub fn mvhline_set(y: c_int, x: c_int, wch: *const cchar_t, n: c_int) -> c_int;
71	pub fn mvwhline_set(win: *mut WINDOW, y: c_int, x: c_int, wch: *const cchar_t, n: c_int) -> c_int;
72	pub fn vline_set(wch: *const cchar_t, n: c_int) -> c_int;
73	pub fn wvline_set(win: *mut WINDOW, wch: *const cchar_t, n: c_int) -> c_int;
74	pub fn mvvline_set(y: c_int, x: c_int, wch: *const cchar_t, n: c_int) -> c_int;
75	pub fn mvwvline_set(win: *mut WINDOW, y: c_int, x: c_int, wch: *const cchar_t, n: c_int) -> c_int;
76}