3 * \brief Header: slang wrapper module
9 #ifdef HAVE_SLANG_SLANG_H
10 # include <slang/slang.h>
13 #endif /* HAVE_SLANG_SLANG_H */
17 KEY_END
, KEY_UP
, KEY_DOWN
, KEY_LEFT
, KEY_RIGHT
,
18 KEY_HOME
, KEY_A1
, KEY_C1
, KEY_NPAGE
, KEY_PPAGE
, KEY_IC
,
19 KEY_ENTER
, KEY_DC
, KEY_SCANCEL
, KEY_BTAB
22 #define KEY_F(x) (1000+x)
24 #define ACS_VLINE SLSMG_VLINE_CHAR
25 #define ACS_HLINE SLSMG_HLINE_CHAR
26 #define ACS_LTEE SLSMG_LTEE_CHAR
27 #define ACS_RTEE SLSMG_RTEE_CHAR
28 #define ACS_ULCORNER SLSMG_ULCORN_CHAR
29 #define ACS_LLCORNER SLSMG_LLCORN_CHAR
30 #define ACS_URCORNER SLSMG_URCORN_CHAR
31 #define ACS_LRCORNER SLSMG_LRCORN_CHAR
33 #define acs() SLsmg_set_char_set(1)
34 #define noacs() SLsmg_set_char_set (0)
35 #define baudrate() SLang_TT_Baud_Rate
38 COLOR_BLACK
, COLOR_RED
, COLOR_GREEN
, COLOR_YELLOW
, COLOR_BLUE
,
39 COLOR_MAGENTA
, COLOR_CYAN
, COLOR_WHITE
42 /* When using Slang with color, we have all the indexes free but
43 * those defined here (A_BOLD, A_UNDERLINE, A_REVERSE, A_BOLD_REVERSE)
46 #define A_UNDERLINE 0x40
47 #define A_REVERSE 0x20
48 #define A_BOLD_REVERSE 0x21
51 # define A_NORMAL 0x00
54 #define COLOR_PAIR(x) x
61 void slang_set_raw_mode (void);
64 #define raw() slang_set_raw_mode()
66 #define nodelay(x,val) set_slang_delay(val)
68 #define beep() SLtt_beep ()
69 #define keypad(scr,value) slang_keypad (value)
71 #define ungetch(x) SLang_ungetkey(x)
73 #define touchwin(x) SLsmg_touch_lines(0, LINES)
74 #define reset_shell_mode() slang_shell_mode()
75 #define reset_prog_mode() slang_prog_mode()
78 void slint_goto (int y
, int x
);
79 void attrset (int color
);
80 void set_slang_delay (int);
81 void slang_init (void);
82 void slang_prog_mode (void);
83 void hline (int ch
, int len
);
84 void vline (int ch
, int len
);
86 void slang_keypad (int set
);
87 void slang_shell_mode (void);
88 void slang_shutdown (void);
89 int has_colors (void);
91 #define move(x, y) SLsmg_gotorc(x, y)
92 #define getyx(stdscr, row, col) \
94 row = SLsmg_get_row(); \
95 col = SLsmg_get_column(); \
97 #define printw SLsmg_printf
98 #define COLS SLtt_Screen_Cols
99 #define LINES SLtt_Screen_Rows
100 #define standend() SLsmg_normal_video()
104 * Patched S-Lang in Red Hat 8.0 expects wchar_t as the argument to addch()
105 * Avoid conversion by using SLsmg_write_nchars(), which takes char*
111 SLsmg_write_nchars (&c
, 1);
113 #define addch(c) mc_addch(c)
115 #define addch(c) SLsmg_write_char(c)
118 #define addstr(s) SLsmg_write_string(str_unconst(s))
119 #define refresh() SLsmg_refresh()
120 #define endwin() SLsmg_reset_smg()
122 #define SLsmg_draw_double_box(r,c,dr,dc) SLsmg_draw_box ((r), (c), (dr), (dc))