1#ifndef NOTCURSES_TERMDESC
2#define NOTCURSES_TERMDESC
22#define KKEYBOARD_POP "\x1b[<u"
27#define XTMODKEYSUNDO "\x1b[>2m\x1b[>4m"
159 uint8_t* (*pixel_trans_auxvec)(
const struct ncpile* p);
201 uint8_t* linux_fbuffer;
203#elif defined(__MINGW32__)
232static inline uint16_t
233term_supported_styles(
const tinfo*
ti){
242 unsigned noaltscreen,
unsigned nocbreak,
243 unsigned nonewfonts,
int* cursor_y,
int* cursor_x,
256 size_t* tlen,
size_t* tused);
259ncfputs(
const char* ext, FILE* out){
262 r = fputs_unlocked(ext, out);
270ncfputc(
char c, FILE* out){
272 return putc_unlocked(
c, out);
289 logerror(
"Not attempting a flush following error\n");
291 if(fflush(out) == EOF){
292 logerror(
"Unrecoverable error flushing io (%s)\n", strerror(errno));
299term_emit(
const char* seq, FILE* out,
bool flush){
303 if(ncfputs(seq, out) == EOF){
304 logerror(
"Error emitting %lub escape (%s)\n",
305 (
unsigned long)strlen(seq), strerror(errno));
308 return flush ? ncflush(out) : 0;
__attribute__((nonnull(1, 2))) static inline int egcpool_stash(egcpool *pool
#define logerror(fmt,...)
struct cursorreport * next
queried_terminals_e qterm
unsigned supported_styles
ncpixelimpl_e pixel_implementation
int(* pixel_init)(struct tinfo *ti, int fd)
int(* pixel_draw_late)(const struct tinfo *, struct sprixel *s, int yoff, int xoff)
int(* pixel_remove)(int id, fbuf *f)
int(* pixel_rebuild)(struct sprixel *s, int y, int x, uint8_t *auxvec)
uint32_t bg_collides_default
int(* pixel_wipe)(struct sprixel *s, int y, int x)
void(* pixel_cleanup)(struct tinfo *)
int(* pixel_commit)(fbuf *f, struct sprixel *s, unsigned noscroll)
int(* pixel_scrub)(const struct ncpile *p, struct sprixel *s)
ncpalette originalpalette
unsigned sprixel_scale_height
struct termios * tpreserved
void(* pixel_refresh)(const struct ncpile *p, struct sprixel *s)
int(* pixel_draw)(const struct tinfo *, const struct ncpile *p, struct sprixel *s, fbuf *f, int y, int x)
int(* pixel_clear_all)(fbuf *f)
unsigned stdio_blocking_save
unsigned sixel_maxy_pristine
int(* pixel_move)(struct sprixel *s, fbuf *f, unsigned noscroll, int yoff, int xoff)
void(* pixel_scroll)(const struct ncpile *p, struct tinfo *, int rows)
uint16_t escindices[ESCAPE_MAX]
int grow_esc_table(tinfo *ti, const char *tstr, escape_e esc, size_t *tlen, size_t *tused)
int enter_alternate_screen(int ttyfd, FILE *ttyfp, tinfo *ti, unsigned drain)
int locate_cursor(tinfo *ti, unsigned *cursor_y, unsigned *cursor_x)
int cbreak_mode(tinfo *ti)
int void free_terminfo_cache(tinfo *ti)
int interrogate_terminfo(tinfo *ti, FILE *out, unsigned utf8, unsigned noaltscreen, unsigned nocbreak, unsigned nonewfonts, int *cursor_y, int *cursor_x, struct ncsharedstats *stats, int lmargin, int tmargin, int rmargin, int bmargin, unsigned draininput) __attribute__((nonnull(1
char * termdesc_longterm(const tinfo *ti)
int leave_alternate_screen(int ttyfd, FILE *ttyfp, tinfo *ti, unsigned drain)
int tiocgwinsz(int fd, struct winsize *ws)