From e444b0b92ac9ce4e6aabeef48707e1bc36e0ad13 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Wed, 11 Feb 2009 06:50:16 +0000 Subject: [PATCH] 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. --- screen-redraw.c | 6 +++--- tmux.h | 4 +++- 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 @@ -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); } } diff --git a/tmux.h b/tmux.h index 03f7e132..4a9e6d60 100644 --- a/tmux.h +++ b/tmux.h @@ -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 @@ -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); diff --git a/tty.c b/tty.c index 83b75929..c24ff6ed 100644 --- a/tty.c +++ b/tty.c @@ -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 @@ -629,6 +629,16 @@ 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; @@ -636,8 +646,6 @@ tty_cmd_cell(struct tty *tty, struct screen *s, u_int oy, va_list ap) 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;