=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tmux.h,v retrieving revision 1.719 retrieving revision 1.720 diff -c -r1.719 -r1.720 *** src/usr.bin/tmux/tmux.h 2017/02/08 08:50:10 1.719 --- src/usr.bin/tmux/tmux.h 2017/02/08 16:45:18 1.720 *************** *** 1,4 **** ! /* $OpenBSD: tmux.h,v 1.719 2017/02/08 08:50:10 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: tmux.h,v 1.720 2017/02/08 16:45:18 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 651,668 **** bitstr_t *tabs; - bitstr_t *dirty; - u_int dirtysize; - struct screen_sel sel; }; /* Screen write context. */ struct screen_write_ctx { struct window_pane *wp; struct screen *s; - u_int dirty; u_int cells; u_int written; u_int skipped; --- 651,669 ---- bitstr_t *tabs; struct screen_sel sel; }; /* Screen write context. */ + struct screen_write_collect_item; + struct screen_write_collect_line; struct screen_write_ctx { struct window_pane *wp; struct screen *s; + struct screen_write_collect_item *item; + struct screen_write_collect_line *list; + u_int cells; u_int written; u_int skipped; *************** *** 1042,1048 **** struct grid_cell cell; ! int last_wp; struct grid_cell last_cell; #define TTY_NOCURSOR 0x1 --- 1043,1049 ---- struct grid_cell cell; ! int last_wp; struct grid_cell last_cell; #define TTY_NOCURSOR 0x1 *************** *** 1643,1648 **** --- 1644,1650 ---- struct tty_ctx *); void tty_cmd_alignmenttest(struct tty *, const struct tty_ctx *); void tty_cmd_cell(struct tty *, const struct tty_ctx *); + void tty_cmd_cells(struct tty *, const struct tty_ctx *); void tty_cmd_clearendofline(struct tty *, const struct tty_ctx *); void tty_cmd_clearendofscreen(struct tty *, const struct tty_ctx *); void tty_cmd_clearline(struct tty *, const struct tty_ctx *); *************** *** 1911,1916 **** --- 1913,1920 ---- const struct grid_line *grid_peek_line(struct grid *, u_int); void grid_get_cell(struct grid *, u_int, u_int, struct grid_cell *); void grid_set_cell(struct grid *, u_int, u_int, const struct grid_cell *); + void grid_set_cells(struct grid *, u_int, u_int, const struct grid_cell *, + const char *, size_t); void grid_clear(struct grid *, u_int, u_int, u_int, u_int, u_int); void grid_clear_lines(struct grid *, u_int, u_int, u_int); void grid_move_lines(struct grid *, u_int, u_int, u_int, u_int); *************** *** 1925,1930 **** --- 1929,1936 ---- void grid_view_get_cell(struct grid *, u_int, u_int, struct grid_cell *); void grid_view_set_cell(struct grid *, u_int, u_int, const struct grid_cell *); + void grid_view_set_cells(struct grid *, u_int, u_int, + const struct grid_cell *, const char *, size_t); void grid_view_clear_history(struct grid *, u_int); void grid_view_clear(struct grid *, u_int, u_int, u_int, u_int, u_int); void grid_view_scroll_region_up(struct grid *, u_int, u_int); *************** *** 1983,1988 **** --- 1989,1997 ---- void screen_write_clearstartofscreen(struct screen_write_ctx *, u_int); void screen_write_clearscreen(struct screen_write_ctx *, u_int); void screen_write_clearhistory(struct screen_write_ctx *); + void screen_write_collect_end(struct screen_write_ctx *); + void screen_write_collect_add(struct screen_write_ctx *, + const struct grid_cell *); void screen_write_cell(struct screen_write_ctx *, const struct grid_cell *); void screen_write_setselection(struct screen_write_ctx *, u_char *, u_int); void screen_write_rawstring(struct screen_write_ctx *, u_char *, u_int);