4 #ifdef HAVE_SYSTEM_SLANG
5 #ifdef HAVE_SLANG_SLANG_H
6 # include <slang/slang.h>
10 #else /* !HAVE_SYSTEM_SLANG */
11 # include "slang/slang-mc.h"
12 #endif /* !HAVE_SYSTEM_SLANG */
16 KEY_END
, KEY_UP
, KEY_DOWN
, KEY_LEFT
, KEY_RIGHT
,
17 KEY_HOME
, KEY_A1
, KEY_C1
, KEY_NPAGE
, KEY_PPAGE
, KEY_IC
,
18 KEY_ENTER
, KEY_DC
, KEY_SCANCEL
, KEY_BTAB
21 #define KEY_F(x) 1000+x
23 #define ACS_VLINE SLSMG_VLINE_CHAR
24 #define ACS_HLINE SLSMG_HLINE_CHAR
25 #define ACS_ULCORNER SLSMG_ULCORN_CHAR
26 #define ACS_LLCORNER SLSMG_LLCORN_CHAR
27 #define ACS_URCORNER SLSMG_URCORN_CHAR
28 #define ACS_LRCORNER SLSMG_LRCORN_CHAR
30 #ifdef HAS_ACS_AS_PCCHARS
31 # define ACS_LTEE 0xC3
34 # define baudrate() 19200
37 # define acs() SLsmg_set_char_set(1)
38 # define noacs() SLsmg_set_char_set (0)
39 # define baudrate() SLang_TT_Baud_Rate
43 COLOR_BLACK
, COLOR_RED
, COLOR_GREEN
, COLOR_YELLOW
, COLOR_BLUE
,
44 COLOR_MAGENTA
, COLOR_CYAN
, COLOR_WHITE
47 /* When using Slang with color, we have all the indexes free but
48 * those defined here (A_BOLD, A_UNDERLINE, A_REVERSE, A_BOLD_REVERSE)
51 #define A_UNDERLINE 0x40
52 #define A_REVERSE 0x20
53 #define A_BOLD_REVERSE 0x21
56 # define A_NORMAL 0x00
59 #define COLOR_PAIR(x) x
67 void slang_set_raw_mode (void);
70 #define raw() slang_set_raw_mode()
72 #define nodelay(x,val) set_slang_delay(val)
74 #define beep() SLtt_beep ()
75 #define keypad(scr,value) slang_keypad (value)
77 #define ungetch(x) SLang_ungetkey(x)
79 #define touchwin(x) SLsmg_touch_lines(0, LINES)
80 #define reset_shell_mode() slang_shell_mode()
81 #define reset_prog_mode() slang_prog_mode()
84 void slint_goto (int y
, int x
);
85 void attrset (int color
);
86 void set_slang_delay (int);
87 void slang_init (void);
88 void slang_done_screen (void);
89 void slang_prog_mode (void);
90 void hline (int ch
, int len
);
91 void vline (int ch
, int len
);
93 void slang_keypad (int set
);
94 void slang_shell_mode (void);
95 void slang_shutdown (void);
96 int has_colors (void);
98 /* copied from slcurses.h (MC version 4.0.7) */
99 #define move(x, y) SLsmg_gotorc(x, y)
100 #define printw SLsmg_printf
101 #define mvprintw(x, y, z) SLsmg_gotorc(x, y); SLsmg_printf(z)
102 #define COLS SLtt_Screen_Cols
103 #define LINES SLtt_Screen_Rows
104 #define standend() SLsmg_normal_video()
105 #define addch(c) SLsmg_write_char(c)
106 #define addstr(s) SLsmg_write_string(s)
107 #define initscr() do { extern int force_ugly_line_drawing; \
108 extern int SLtt_Has_Alt_Charset; \
109 SLtt_get_terminfo (); \
110 if (force_ugly_line_drawing) \
111 SLtt_Has_Alt_Charset = 0; \
114 #define refresh() SLsmg_refresh()
115 #define mvaddstr(y, x, s) SLsmg_gotorc(y, x); SLsmg_write_string(s)
116 #define endwin() SLsmg_reset_smg()
118 #define SLsmg_draw_double_box(r,c,dr,dc) SLsmg_draw_box ((r), (c), (dr), (dc))
120 #ifdef HAS_ACS_AS_PCCHARS
121 # define one_vline() addch(ACS_VLINE)
122 # define one_hline() addch(ACS_HLINE)
123 /* This is fast, but unusefull if ! pc_system - doesn't use
124 Alt_Char_Pairs [] :( */
126 /* This is slow, but works well :| */
127 # define one_vline() SLsmg_draw_object (SLsmg_get_row(), SLsmg_get_column(), slow_terminal ? ' ' : ACS_VLINE)
128 # define one_hline() SLsmg_draw_object (SLsmg_get_row(), SLsmg_get_column(), slow_terminal ? ' ' : ACS_HLINE)
131 void enable_interrupt_key (void);
132 void disable_interrupt_key (void);
133 #endif /* !__MYSLANG_H */