diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2009-07-22 20:53:39 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2009-07-22 20:53:39 +0000 |
commit | a863befefddbb0946b94179c2685e6e7479effdd (patch) | |
tree | 8bc2b74225e7cf046a69a5961ec7ae1e65e0e2a6 /usr.bin/tmux/tmux.h | |
parent | a0af3b9ce9dd36f4efe8b903dc7d7ccd25647a45 (diff) |
More tty code tidying: move the saved cursor/region position (from before the
screen was updated) out of struct screen and into struct tty_ctx.
Diffstat (limited to 'usr.bin/tmux/tmux.h')
-rw-r--r-- | usr.bin/tmux/tmux.h | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/usr.bin/tmux/tmux.h b/usr.bin/tmux/tmux.h index 8e4f873a378..a0f9d2788ae 100644 --- a/usr.bin/tmux/tmux.h +++ b/usr.bin/tmux/tmux.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tmux.h,v 1.48 2009/07/22 18:06:58 nicm Exp $ */ +/* $OpenBSD: tmux.h,v 1.49 2009/07/22 20:53:38 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -477,15 +477,9 @@ struct screen { u_int cx; /* cursor x */ u_int cy; /* cursor y */ - u_int old_cx; - u_int old_cy; - u_int rupper; /* scroll region top */ u_int rlower; /* scroll region bottom */ - u_int old_rupper; - u_int old_rlower; - int mode; bitstr_t *tabs; @@ -783,8 +777,19 @@ struct tty_ctx { const struct grid_cell *cell; const struct grid_utf8 *utf8; - u_int num; - void *ptr; + u_int num; + void *ptr; + + /* + * Cursor and region position before the screen was updated - this is + * where the command should be applied; the values in the screen have + * already been updated. + */ + u_int ocx; + u_int ocy; + + u_int orupper; + u_int orlower; }; typedef void tty_cmd_func(struct tty *, struct tty_ctx *); @@ -1032,10 +1037,10 @@ void tty_detect_utf8(struct tty *); void tty_set_title(struct tty *, const char *); void tty_update_mode(struct tty *, int); void tty_draw_line(struct tty *, struct screen *, u_int, u_int, u_int); -void tty_redraw_region(struct tty *, struct window_pane *); int tty_open(struct tty *, char **); void tty_close(struct tty *, int); void tty_free(struct tty *, int); +void tty_write(void (*)(struct tty *, struct tty_ctx *), struct tty_ctx *); void tty_cmd_alignmenttest(struct tty *, struct tty_ctx *); void tty_cmd_cell(struct tty *, struct tty_ctx *); void tty_cmd_clearendofline(struct tty *, struct tty_ctx *); @@ -1073,9 +1078,6 @@ void tty_keys_free(struct tty *); int tty_keys_next(struct tty *, int *, u_char *); /* tty-write.c */ -void tty_write0(struct window_pane *, tty_cmd_func *); -void tty_writenum(struct window_pane *, tty_cmd_func *, u_int); -void tty_writeptr(struct window_pane *, tty_cmd_func *, void *); void tty_write(tty_cmd_func *, struct tty_ctx *); /* options-cmd.c */ |