diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-02-11 06:50:16 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-02-11 06:50:16 +0000 |
commit | e444b0b92ac9ce4e6aabeef48707e1bc36e0ad13 (patch) | |
tree | e8ee2c3da2b14e59f589e02bb6775b2e539444b1 | |
parent | c6be7d3ee67fa5034480bf892440be14c8e10d45 (diff) | |
download | rtmux-e444b0b92ac9ce4e6aabeef48707e1bc36e0ad13.tar.gz rtmux-e444b0b92ac9ce4e6aabeef48707e1bc36e0ad13.tar.bz2 rtmux-e444b0b92ac9ce4e6aabeef48707e1bc36e0ad13.zip |
Split most of tty_cmd_cell off to tty_cell. First step on making tty_cmd_* take
a window_pane for later use emulating scroll region.
-rw-r--r-- | screen-redraw.c | 6 | ||||
-rw-r--r-- | tmux.h | 4 | ||||
-rw-r--r-- | tty.c | 14 |
3 files changed, 17 insertions, 7 deletions
diff --git a/screen-redraw.c b/screen-redraw.c index ff33ab31..fc3d3eb9 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -1,4 +1,4 @@ -/* $Id: screen-redraw.c,v 1.20 2009-01-19 20:14:55 nicm Exp $ */ +/* $Id: screen-redraw.c,v 1.21 2009-02-11 06:50:15 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -142,8 +142,8 @@ screen_redraw_line(struct client *c, struct screen *s, u_int oy, u_int py) if (screen_check_selection(s, i, py)) { memcpy(&tc, &s->sel.cell, sizeof tc); tc.data = gc->data; - tty_write(&c->tty, s, oy, TTY_CELL, &tc); + tty_cell(&c->tty, s, oy, &tc); } else - tty_write(&c->tty, s, oy, TTY_CELL, gc); + tty_cell(&c->tty, s, oy, gc); } } @@ -1,4 +1,4 @@ -/* $Id: tmux.h,v 1.264 2009-02-11 06:31:09 nicm Exp $ */ +/* $Id: tmux.h,v 1.265 2009-02-11 06:50:15 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -1012,6 +1012,8 @@ long long options_get_number(struct options *, const char *); /* tty.c */ void tty_cursor(struct tty *, u_int, u_int, u_int); +void tty_cell( + struct tty *, struct screen *, u_int, struct grid_cell *); void tty_putcode(struct tty *, enum tty_code_code); void tty_putcode1(struct tty *, enum tty_code_code, int); void tty_putcode2(struct tty *, enum tty_code_code, int, int); @@ -1,4 +1,4 @@ -/* $Id: tty.c,v 1.65 2009-02-07 00:05:23 nicm Exp $ */ +/* $Id: tty.c,v 1.66 2009-02-11 06:50:16 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -630,14 +630,22 @@ tty_cmd_clearscreen( void tty_cmd_cell(struct tty *tty, struct screen *s, u_int oy, va_list ap) { + struct grid_cell *gc; + + gc = va_arg(ap, struct grid_cell *); + + tty_cell(tty, s, oy, gc); +} + +void +tty_cell(struct tty *tty, struct screen *s, u_int oy, struct grid_cell *gc) +{ struct grid_cell *gc; u_int i, width; u_char out[4]; tty_cursor(tty, s->cx, s->cy, oy); - gc = va_arg(ap, struct grid_cell *); - /* If this is a padding character, do nothing. */ if (gc->flags & GRID_FLAG_PADDING) return; |