diff options
Diffstat (limited to 'src/libvterm/src/vterm_internal.h')
-rw-r--r-- | src/libvterm/src/vterm_internal.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libvterm/src/vterm_internal.h b/src/libvterm/src/vterm_internal.h index 38e423540..19b00c96c 100644 --- a/src/libvterm/src/vterm_internal.h +++ b/src/libvterm/src/vterm_internal.h @@ -32,6 +32,9 @@ #define CSI_ARGS_MAX 16 #define CSI_LEADER_MAX 16 +#define BUFIDX_PRIMARY 0 +#define BUFIDX_ALTSCREEN 1 + typedef struct VTermEncoding VTermEncoding; typedef struct { @@ -92,6 +95,10 @@ struct VTermState // Bitvector of tab stops unsigned char *tabstops; + /* Primary and Altscreen; lineinfos[1] is lazily allocated as needed */ + VTermLineInfo *lineinfos[2]; + + /* lineinfo will == lineinfos[0] or lineinfos[1], depending on altscreen */ VTermLineInfo *lineinfo; #define ROWWIDTH(state,row) ((state)->lineinfo[(row)].doublewidth ? ((state)->cols / 2) : (state)->cols) #define THISROWWIDTH(state) ROWWIDTH(state, (state)->pos.row) |