=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tmux.h,v retrieving revision 1.575 retrieving revision 1.576 diff -c -r1.575 -r1.576 *** src/usr.bin/tmux/tmux.h 2015/11/12 12:43:36 1.575 --- src/usr.bin/tmux/tmux.h 2015/11/13 08:09:28 1.576 *************** *** 1,4 **** ! /* $OpenBSD: tmux.h,v 1.575 2015/11/12 12:43:36 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: tmux.h,v 1.576 2015/11/13 08:09:28 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 621,631 **** struct utf8_data { u_char data[UTF8_SIZE]; ! size_t have; ! size_t size; ! u_int width; ! }; /* Grid attributes. */ #define GRID_ATTR_BRIGHT 0x1 --- 621,631 ---- struct utf8_data { u_char data[UTF8_SIZE]; ! u_char have; ! u_char size; ! u_char width; ! } __packed; /* Grid attributes. */ #define GRID_ATTR_BRIGHT 0x1 *************** *** 641,681 **** #define GRID_FLAG_FG256 0x1 #define GRID_FLAG_BG256 0x2 #define GRID_FLAG_PADDING 0x4 /* Grid line flags. */ #define GRID_LINE_WRAPPED 0x1 /* Grid cell data. */ struct grid_cell { ! u_char attr; ! u_char flags; ! u_char fg; ! u_char bg; ! u_char xstate; /* top 4 bits width, bottom 4 bits size */ ! u_char xdata[UTF8_SIZE]; } __packed; /* Grid line. */ struct grid_line { ! u_int cellsize; ! struct grid_cell *celldata; ! int flags; } __packed; /* Entire grid of cells. */ struct grid { ! int flags; ! #define GRID_HISTORY 0x1 /* scroll lines into history */ ! u_int sx; ! u_int sy; ! u_int hsize; ! u_int hlimit; ! struct grid_line *linedata; }; /* Option data structures. */ --- 641,696 ---- #define GRID_FLAG_FG256 0x1 #define GRID_FLAG_BG256 0x2 #define GRID_FLAG_PADDING 0x4 + #define GRID_FLAG_EXTENDED 0x8 /* Grid line flags. */ #define GRID_LINE_WRAPPED 0x1 /* Grid cell data. */ struct grid_cell { ! u_char flags; ! u_char attr; ! u_char fg; ! u_char bg; ! struct utf8_data data; ! }; ! struct grid_cell_entry { ! u_char flags; ! union { ! u_int offset; ! struct { ! u_char attr; ! u_char fg; ! u_char bg; ! u_char data; ! } data; ! }; } __packed; /* Grid line. */ struct grid_line { ! u_int cellsize; ! struct grid_cell_entry *celldata; ! u_int extdsize; ! struct grid_cell *extddata; ! ! int flags; } __packed; /* Entire grid of cells. */ struct grid { ! int flags; ! #define GRID_HISTORY 0x1 /* scroll lines into history */ ! u_int sx; ! u_int sy; ! u_int hsize; ! u_int hlimit; ! struct grid_line *linedata; }; /* Option data structures. */ *************** *** 1854,1862 **** void grid_scroll_history_region(struct grid *, u_int, u_int); void grid_clear_history(struct grid *); void grid_expand_line(struct grid *, u_int, u_int); - const struct grid_cell *grid_peek_cell(struct grid *, u_int, u_int); const struct grid_line *grid_peek_line(struct grid *, u_int); ! struct grid_cell *grid_get_cell(struct grid *, u_int, u_int); void grid_set_cell(struct grid *, u_int, u_int, const struct grid_cell *); void grid_clear(struct grid *, u_int, u_int, u_int, u_int); void grid_clear_lines(struct grid *, u_int, u_int); --- 1869,1876 ---- void grid_scroll_history_region(struct grid *, u_int, u_int); void grid_clear_history(struct grid *); void grid_expand_line(struct grid *, u_int, u_int); 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_clear(struct grid *, u_int, u_int, u_int, u_int); void grid_clear_lines(struct grid *, u_int, u_int); *************** *** 1868,1884 **** struct grid *, u_int, struct grid *, u_int, u_int); u_int grid_reflow(struct grid *, struct grid *, u_int); - /* grid-cell.c */ - u_int grid_cell_width(const struct grid_cell *); - void grid_cell_get(const struct grid_cell *, struct utf8_data *); - void grid_cell_set(struct grid_cell *, const struct utf8_data *); - void grid_cell_one(struct grid_cell *, u_char); - /* grid-view.c */ ! const struct grid_cell *grid_view_peek_cell(struct grid *, u_int, u_int); ! struct grid_cell *grid_view_get_cell(struct grid *, u_int, u_int); ! void grid_view_set_cell( ! struct grid *, u_int, u_int, const struct grid_cell *); void grid_view_clear_history(struct grid *); void grid_view_clear(struct grid *, u_int, u_int, u_int, u_int); void grid_view_scroll_region_up(struct grid *, u_int, u_int); --- 1882,1891 ---- struct grid *, u_int, struct grid *, u_int, u_int); u_int grid_reflow(struct grid *, struct grid *, u_int); /* grid-view.c */ ! 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_clear_history(struct grid *); void grid_view_clear(struct grid *, u_int, u_int, u_int, u_int); void grid_view_scroll_region_up(struct grid *, u_int, u_int); *************** *** 2183,2188 **** --- 2190,2196 ---- /* utf8.c */ u_int utf8_width(u_int); void utf8_set(struct utf8_data *, u_char); + void utf8_copy(struct utf8_data *, const struct utf8_data *); int utf8_open(struct utf8_data *, u_char); int utf8_append(struct utf8_data *, u_char); u_int utf8_combine(const struct utf8_data *);