5 #define A_UNDERLINE 0x08
8 #define A_INVISIBLE 0x40
11 #define M_DISPCTRL 0x0001
12 #define M_INSERT 0x0002
13 #define M_NEWLINE 0x0004
14 #define M_CURSORKEY 0x0008
15 #define M_WIDETERM 0x0010
16 #define M_REVERSE 0x0020
17 #define M_ORIGIN 0x0040
18 #define M_AUTOWRAP 0x0080
19 #define M_AUTORPT 0x0100
20 #define M_MOUSEX10 0x0200
21 #define M_CURSORVIS 0x0400
22 #define M_MOUSEX11 0x0800
23 #define M_ISOLAT1 0x1000
28 #define BLANK (Cell) {EMPTY, def_attr, def_pair}
30 #define BLANK (Cell) {EMPTY, term->attr, term->pair}
33 #define MAX_PARTIAL 0x100
34 #define MAX_PARAMS 0x10
42 typedef enum CharSet
{CS_BMP
, CS_ISO
, CS_VTG
, CS_437
} CharSet
;
43 typedef enum State
{S_ANY
, S_ESC
, S_CSI
, S_OSC
, S_OSCESC
, S_STR
, S_STRESC
, S_UNI
} State
;
45 typedef struct SaveCursor
{
49 typedef struct SaveMisc
{
69 SaveCursor save_cursor
;
74 uint8_t partial
[MAX_PARTIAL
];
76 uint8_t plt_local
, plt_dirty
;
79 void set_verbosity(int level
);
80 Term
*new_term(int rows
, int cols
);
81 void parse(Term
*term
, uint8_t byte
);
82 void set_default_palette(char * optarg
);