v / vlib / ncurses / ncurses_helpers.h
162 lines · 121 sloc · 3.36 KB · 04c09899ccd55ae1caa6b2af1f6a5537f87aae7e
Raw
1#ifndef V_NCURSES_HELPERS_H
2#define V_NCURSES_HELPERS_H
3
4#include <curses.h>
5
6static inline WINDOW *v_ncurses_initscr(void) {
7 return initscr();
8}
9
10static inline WINDOW *v_ncurses_stdscr(void) {
11 return stdscr;
12}
13
14static inline int v_ncurses_endwin(void) {
15 return endwin();
16}
17
18static inline int v_ncurses_cbreak(void) {
19 return cbreak();
20}
21
22static inline int v_ncurses_nocbreak(void) {
23 return nocbreak();
24}
25
26static inline int v_ncurses_raw(void) {
27 return raw();
28}
29
30static inline int v_ncurses_noraw(void) {
31 return noraw();
32}
33
34static inline int v_ncurses_echo(void) {
35 return echo();
36}
37
38static inline int v_ncurses_noecho(void) {
39 return noecho();
40}
41
42static inline int v_ncurses_keypad(void *win, int enabled) {
43 return keypad((WINDOW *)win, enabled ? TRUE : FALSE);
44}
45
46static inline int v_ncurses_nodelay(void *win, int enabled) {
47 return nodelay((WINDOW *)win, enabled ? TRUE : FALSE);
48}
49
50static inline void v_ncurses_timeout(int delay) {
51 timeout(delay);
52}
53
54static inline void v_ncurses_wtimeout(void *win, int delay) {
55 wtimeout((WINDOW *)win, delay);
56}
57
58static inline int v_ncurses_curs_set(int visibility) {
59 return curs_set(visibility);
60}
61
62static inline int v_ncurses_clear(void) {
63 return clear();
64}
65
66static inline int v_ncurses_refresh(void) {
67 return refresh();
68}
69
70static inline int v_ncurses_getch(void) {
71 return getch();
72}
73
74static inline int v_ncurses_addstr(const char *text) {
75 return addnstr(text, -1);
76}
77
78static inline int v_ncurses_mvaddstr(int y, int x, const char *text) {
79 return mvaddnstr(y, x, text, -1);
80}
81
82static inline WINDOW *v_ncurses_newwin(int lines, int cols, int begin_y, int begin_x) {
83 return newwin(lines, cols, begin_y, begin_x);
84}
85
86static inline int v_ncurses_delwin(void *win) {
87 return delwin((WINDOW *)win);
88}
89
90static inline int v_ncurses_box(void *win, unsigned int vertical, unsigned int horizontal) {
91 return box((WINDOW *)win, (chtype)vertical, (chtype)horizontal);
92}
93
94static inline int v_ncurses_getmaxx(void *win) {
95 return getmaxx((WINDOW *)win);
96}
97
98static inline int v_ncurses_getmaxy(void *win) {
99 return getmaxy((WINDOW *)win);
100}
101
102static inline int v_ncurses_wrefresh(void *win) {
103 return wrefresh((WINDOW *)win);
104}
105
106static inline int v_ncurses_wclear(void *win) {
107 return wclear((WINDOW *)win);
108}
109
110static inline int v_ncurses_wgetch(void *win) {
111 return wgetch((WINDOW *)win);
112}
113
114static inline int v_ncurses_wmove(void *win, int y, int x) {
115 return wmove((WINDOW *)win, y, x);
116}
117
118static inline int v_ncurses_waddstr(void *win, const char *text) {
119 return waddnstr((WINDOW *)win, text, -1);
120}
121
122static inline int v_ncurses_mvwaddstr(void *win, int y, int x, const char *text) {
123 return mvwaddnstr((WINDOW *)win, y, x, text, -1);
124}
125
126static inline int v_ncurses_start_color(void) {
127 return start_color();
128}
129
130static inline int v_ncurses_has_colors(void) {
131 return has_colors() ? 1 : 0;
132}
133
134static inline int v_ncurses_init_pair(short pair, short fg, short bg) {
135 return init_pair(pair, fg, bg);
136}
137
138static inline int v_ncurses_color_pair(int pair) {
139 return COLOR_PAIR(pair);
140}
141
142static inline int v_ncurses_attron(int attr) {
143 return attron(attr);
144}
145
146static inline int v_ncurses_attroff(int attr) {
147 return attroff(attr);
148}
149
150static inline int v_ncurses_wattron(void *win, int attr) {
151 return wattron((WINDOW *)win, attr);
152}
153
154static inline int v_ncurses_wattroff(void *win, int attr) {
155 return wattroff((WINDOW *)win, attr);
156}
157
158static inline int v_ncurses_key_f(int n) {
159 return KEY_F(n);
160}
161
162#endif
163