|
|
@ -110,6 +110,15 @@ typedef struct notcurses {
|
|
|
|
ncplane* top; // the contents of our topmost plane (initially entire screen)
|
|
|
|
ncplane* top; // the contents of our topmost plane (initially entire screen)
|
|
|
|
ncplane* stdscr;// aliases some plane from the z-buffer, covers screen
|
|
|
|
ncplane* stdscr;// aliases some plane from the z-buffer, covers screen
|
|
|
|
FILE* renderfp; // debugging FILE* to which renderings are written
|
|
|
|
FILE* renderfp; // debugging FILE* to which renderings are written
|
|
|
|
|
|
|
|
char inputbuf[BUFSIZ];
|
|
|
|
|
|
|
|
// we keep a wee ringbuffer of input queued up for delivery. if
|
|
|
|
|
|
|
|
// inputbuf_occupied == sizeof(inputbuf), there is no room. otherwise, data
|
|
|
|
|
|
|
|
// can be read to inputbuf_write_at until we fill up. the first datum
|
|
|
|
|
|
|
|
// available for the app is at inputbuf_valid_starts iff inputbuf_occupied is
|
|
|
|
|
|
|
|
// not 0. the main purpose is working around bad predictions of escapes.
|
|
|
|
|
|
|
|
unsigned inputbuf_occupied;
|
|
|
|
|
|
|
|
unsigned inputbuf_valid_starts;
|
|
|
|
|
|
|
|
unsigned inputbuf_write_at;
|
|
|
|
} notcurses;
|
|
|
|
} notcurses;
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
#ifdef __cplusplus
|
|
|
|