mirror of
https://github.com/tmux/tmux.git
synced 2024-11-17 18:08:51 +00:00
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.
This commit is contained in:
parent
c6be7d3ee6
commit
e444b0b92a
@ -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>
|
* 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)) {
|
if (screen_check_selection(s, i, py)) {
|
||||||
memcpy(&tc, &s->sel.cell, sizeof tc);
|
memcpy(&tc, &s->sel.cell, sizeof tc);
|
||||||
tc.data = gc->data;
|
tc.data = gc->data;
|
||||||
tty_write(&c->tty, s, oy, TTY_CELL, &tc);
|
tty_cell(&c->tty, s, oy, &tc);
|
||||||
} else
|
} else
|
||||||
tty_write(&c->tty, s, oy, TTY_CELL, gc);
|
tty_cell(&c->tty, s, oy, gc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
4
tmux.h
4
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 <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -1012,6 +1012,8 @@ long long options_get_number(struct options *, const char *);
|
|||||||
|
|
||||||
/* tty.c */
|
/* tty.c */
|
||||||
void tty_cursor(struct tty *, u_int, u_int, u_int);
|
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_putcode(struct tty *, enum tty_code_code);
|
||||||
void tty_putcode1(struct tty *, enum tty_code_code, int);
|
void tty_putcode1(struct tty *, enum tty_code_code, int);
|
||||||
void tty_putcode2(struct tty *, enum tty_code_code, int, int);
|
void tty_putcode2(struct tty *, enum tty_code_code, int, int);
|
||||||
|
14
tty.c
14
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 <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -629,6 +629,16 @@ tty_cmd_clearscreen(
|
|||||||
|
|
||||||
void
|
void
|
||||||
tty_cmd_cell(struct tty *tty, struct screen *s, u_int oy, va_list ap)
|
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;
|
struct grid_cell *gc;
|
||||||
u_int i, width;
|
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);
|
tty_cursor(tty, s->cx, s->cy, oy);
|
||||||
|
|
||||||
gc = va_arg(ap, struct grid_cell *);
|
|
||||||
|
|
||||||
/* If this is a padding character, do nothing. */
|
/* If this is a padding character, do nothing. */
|
||||||
if (gc->flags & GRID_FLAG_PADDING)
|
if (gc->flags & GRID_FLAG_PADDING)
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user