VTermScreen
VTermScreen* fTermScreen;
typedef struct VTermScreen VTermScreen;
VTermScreen *vterm_obtain_screen(VTerm *vt);
void vterm_screen_enable_altscreen(VTermScreen *screen, int altscreen);
void vterm_screen_set_callbacks(VTermScreen *screen, const VTermScreenCallbacks *callbacks, void *user);
void vterm_screen_flush_damage(VTermScreen *screen);
void vterm_screen_set_damage_merge(VTermScreen *screen, VTermDamageSize size);
void vterm_screen_reset(VTermScreen *screen, int hard);
size_t vterm_screen_get_chars(const VTermScreen *screen, uint32_t *chars, size_t len, const VTermRect rect);
size_t vterm_screen_get_text(const VTermScreen *screen, char *str, size_t len, const VTermRect rect);
int vterm_screen_get_attrs_extent(const VTermScreen *screen, VTermRect *extent, VTermPos pos, VTermAttrMask attrs);
int vterm_screen_get_cell(const VTermScreen *screen, VTermPos pos, VTermScreenCell *cell);
int vterm_screen_is_eol(const VTermScreen *screen, VTermPos pos);
static void damagerect(VTermScreen *screen, VTermRect rect)
static void damagescreen(VTermScreen *screen)
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
static int vterm_screen_set_cell(VTermScreen *screen, VTermPos pos, const VTermScreenCell *cell);
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
VTermScreen *screen = user;
static VTermScreen *screen_new(VTerm *vt)
VTermScreen *screen;
screen = vterm_allocator_malloc(vt, sizeof(VTermScreen));
INTERNAL void vterm_screen_free(VTermScreen *screen)
void vterm_screen_reset(VTermScreen *screen, int hard)
static size_t _get_chars(const VTermScreen *screen, const int utf8, void *buffer, size_t len, const VTermRect rect)
static inline ScreenCell *getcell(const VTermScreen *screen, int row, int col)
size_t vterm_screen_get_chars(const VTermScreen *screen, uint32_t *chars, size_t len, const VTermRect rect)
size_t vterm_screen_get_text(const VTermScreen *screen, char *str, size_t len, const VTermRect rect)
int vterm_screen_get_cell(const VTermScreen *screen, VTermPos pos, VTermScreenCell *cell)
static int vterm_screen_set_cell(VTermScreen *screen, VTermPos pos, const VTermScreenCell *cell)
static ScreenCell *realloc_buffer(VTermScreen *screen, ScreenCell *buffer, int new_rows, int new_cols)
int vterm_screen_is_eol(const VTermScreen *screen, VTermPos pos)
VTermScreen *vterm_obtain_screen(VTerm *vt)
VTermScreen *screen;
void vterm_screen_enable_altscreen(VTermScreen *screen, int altscreen)
void vterm_screen_set_callbacks(VTermScreen *screen, const VTermScreenCallbacks *callbacks, void *user)
void vterm_screen_flush_damage(VTermScreen *screen)
void vterm_screen_set_damage_merge(VTermScreen *screen, VTermDamageSize size)
int vterm_screen_get_attrs_extent(const VTermScreen *screen, VTermRect *extent, VTermPos pos, VTermAttrMask attrs)
VTermScreen *screen;
void vterm_screen_free(VTermScreen *screen);