summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Nottingham <notting@redhat.com>2002-07-08 22:41:53 +0000
committerBill Nottingham <notting@redhat.com>2002-07-08 22:41:53 +0000
commit66da62a5e3326230dd309ca78ed4590d84ac2728 (patch)
tree5e753f0ef03b0f79816d0bf59824ae9883861e60
parentc1e376506cfcfdd8a5b67953a6bcf8c5e2904e9a (diff)
downloadanaconda-66da62a5e3326230dd309ca78ed4590d84ac2728.tar.gz
anaconda-66da62a5e3326230dd309ca78ed4590d84ac2728.tar.xz
anaconda-66da62a5e3326230dd309ca78ed4590d84ac2728.zip
make it (in theory) work with current newt
-rw-r--r--minislang/slang.h75
-rw-r--r--minislang/slsmg.c37
2 files changed, 84 insertions, 28 deletions
diff --git a/minislang/slang.h b/minislang/slang.h
index 721102fab..fc9387578 100644
--- a/minislang/slang.h
+++ b/minislang/slang.h
@@ -929,6 +929,8 @@ extern int SLtt_Baud_Rate;
typedef unsigned long SLtt_Char_Type;
SLtt_Char_Type SLcurses_Acs_Map [128];
+#define acs_map SLcurses_Acs_Map
+#define A_ALTCHARSET 0x8000
#define SLTT_BOLD_MASK 0x01000000
#define SLTT_BLINK_MASK 0x02000000
@@ -1099,34 +1101,51 @@ extern int SLsmg_Newline_Behavior;
extern int SLsmg_Backspace_Moves;
-#ifdef IBMPC_SYSTEM
-# define SLSMG_HLINE_CHAR 0xC4
-# define SLSMG_VLINE_CHAR 0xB3
-# define SLSMG_ULCORN_CHAR 0xDA
-# define SLSMG_URCORN_CHAR 0xBF
-# define SLSMG_LLCORN_CHAR 0xC0
-# define SLSMG_LRCORN_CHAR 0xD9
-# define SLSMG_RTEE_CHAR 0xB4
-# define SLSMG_LTEE_CHAR 0xC3
-# define SLSMG_UTEE_CHAR 0xC2
-# define SLSMG_DTEE_CHAR 0xC1
-# define SLSMG_PLUS_CHAR 0xC5
-/* There are several to choose from: 0xB0, 0xB1, and 0xB2 */
-# define SLSMG_CKBRD_CHAR 0xB0
-#else
-# define SLSMG_HLINE_CHAR 'q'
-# define SLSMG_VLINE_CHAR 'x'
-# define SLSMG_ULCORN_CHAR 'l'
-# define SLSMG_URCORN_CHAR 'k'
-# define SLSMG_LLCORN_CHAR 'm'
-# define SLSMG_LRCORN_CHAR 'j'
-# define SLSMG_CKBRD_CHAR 'a'
-# define SLSMG_RTEE_CHAR 'u'
-# define SLSMG_LTEE_CHAR 't'
-# define SLSMG_UTEE_CHAR 'w'
-# define SLSMG_DTEE_CHAR 'v'
-# define SLSMG_PLUS_CHAR 'n'
-#endif
+#define SLSMG_HLINE_CHAR (acs_map['q'])
+#define SLSMG_VLINE_CHAR (acs_map['x'])
+#define SLSMG_ULCORN_CHAR (acs_map['l'])
+#define SLSMG_URCORN_CHAR (acs_map['k'])
+#define SLSMG_LLCORN_CHAR (acs_map['m'])
+#define SLSMG_LRCORN_CHAR (acs_map['j'])
+#define SLSMG_CKBRD_CHAR (acs_map['a'])
+#define SLSMG_RTEE_CHAR (acs_map['u'])
+#define SLSMG_LTEE_CHAR (acs_map['t'])
+#define SLSMG_UTEE_CHAR (acs_map['w'])
+#define SLSMG_DTEE_CHAR (acs_map['v'])
+#define SLSMG_PLUS_CHAR (acs_map['n'])
+#define SLSMG_DIAMOND_CHAR (acs_map['`'])
+#define SLSMG_DEGREE_CHAR (acs_map['f'])
+#define SLSMG_PLMINUS_CHAR (acs_map['g'])
+#define SLSMG_BULLET_CHAR (acs_map['~'])
+#define SLSMG_LARROW_CHAR (acs_map[','])
+#define SLSMG_RARROW_CHAR (acs_map['+'])
+#define SLSMG_DARROW_CHAR (acs_map['.'])
+#define SLSMG_UARROW_CHAR (acs_map['-'])
+#define SLSMG_BOARD_CHAR (acs_map['h'])
+#define SLSMG_BLOCK_CHAR (acs_map['0'])
+
+#define SLSMG_HLINE_CHAR_TERM 'q'
+#define SLSMG_VLINE_CHAR_TERM 'x'
+#define SLSMG_ULCORN_CHAR_TERM 'l'
+#define SLSMG_URCORN_CHAR_TERM 'k'
+#define SLSMG_LLCORN_CHAR_TERM 'm'
+#define SLSMG_LRCORN_CHAR_TERM 'j'
+#define SLSMG_CKBRD_CHAR_TERM 'a'
+#define SLSMG_RTEE_CHAR_TERM 'u'
+#define SLSMG_LTEE_CHAR_TERM 't'
+#define SLSMG_UTEE_CHAR_TERM 'w'
+#define SLSMG_DTEE_CHAR_TERM 'v'
+#define SLSMG_PLUS_CHAR_TERM 'n'
+#define SLSMG_DIAMOND_CHAR_TERM '`'
+#define SLSMG_DEGREE_CHAR_TERM 'f'
+#define SLSMG_PLMINUS_CHAR_TERM 'g'
+#define SLSMG_BULLET_CHAR_TERM '~'
+#define SLSMG_LARROW_CHAR_TERM ','
+#define SLSMG_RARROW_CHAR_TERM '+'
+#define SLSMG_DARROW_CHAR_TERM '.'
+#define SLSMG_UARROW_CHAR_TERM '-'
+#define SLSMG_BOARD_CHAR_TERM 'h'
+#define SLSMG_BLOCK_CHAR_TERM '0'
#ifndef IBMPC_SYSTEM
# define SLSMG_COLOR_BLACK 0x000000
diff --git a/minislang/slsmg.c b/minislang/slsmg.c
index 3ba382092..16859956a 100644
--- a/minislang/slsmg.c
+++ b/minislang/slsmg.c
@@ -965,6 +965,42 @@ int SLsmg_resume_smg (void)
return 0;
}
+
+static void init_acs_map()
+{
+ if (SLtt_Has_Alt_Charset)
+ {
+ SLcurses_Acs_Map['l'] = SLSMG_ULCORN_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['k'] = SLSMG_URCORN_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['m'] = SLSMG_LLCORN_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['j'] = SLSMG_LRCORN_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['v'] = SLSMG_UTEE_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['w'] = SLSMG_DTEE_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['t'] = SLSMG_LTEE_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['u'] = SLSMG_RTEE_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['x'] = SLSMG_VLINE_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['q'] = SLSMG_HLINE_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['n'] = SLSMG_PLUS_CHAR_TERM | A_ALTCHARSET;
+ SLcurses_Acs_Map['a'] = SLSMG_CKBRD_CHAR_TERM | A_ALTCHARSET;
+ }
+ else
+ {
+ /* ugly defaults to use on terminals which don't support graphics */
+ SLcurses_Acs_Map['l'] = '+';
+ SLcurses_Acs_Map['k'] = '+';
+ SLcurses_Acs_Map['m'] = '+';
+ SLcurses_Acs_Map['j'] = '+';
+ SLcurses_Acs_Map['v'] = '+';
+ SLcurses_Acs_Map['w'] = '+';
+ SLcurses_Acs_Map['t'] = '+';
+ SLcurses_Acs_Map['u'] = '+';
+ SLcurses_Acs_Map['x'] = '|';
+ SLcurses_Acs_Map['q'] = '-';
+ SLcurses_Acs_Map['n'] = '+';
+ SLcurses_Acs_Map['a'] = '#';
+ }
+}
+
int SLsmg_init_smg (void)
{
int i, len;
@@ -990,6 +1026,7 @@ int SLsmg_init_smg (void)
#ifndef IBMPC_SYSTEM
init_alt_char_set ();
#endif
+ init_acs_map();
len = Screen_Cols + 3;
for (i = 0; i < Screen_Rows; i++)
{