diff options
author | Thomas Adam <thomas@xteddy.org> | 2016-11-24 16:01:11 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2016-11-24 16:01:11 +0000 |
commit | a02d95a313e0a289a46c2b77eb59d6c6d1488012 (patch) | |
tree | 9cf378f915bd13b7077bef7f20c1de5f086ad419 /screen.c | |
parent | 8a8001350db320f6c8adfef161f96d0abb67e2b4 (diff) | |
parent | 84319aa8f013238ccc1bbd6ea44b9e6be7c58db2 (diff) | |
download | rtmux-a02d95a313e0a289a46c2b77eb59d6c6d1488012.tar.gz rtmux-a02d95a313e0a289a46c2b77eb59d6c6d1488012.tar.bz2 rtmux-a02d95a313e0a289a46c2b77eb59d6c6d1488012.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'screen.c')
-rw-r--r-- | screen.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -258,6 +258,8 @@ screen_set_selection(struct screen *s, u_int sx, u_int sy, memcpy(&sel->cell, gc, sizeof sel->cell); sel->flag = 1; + sel->hidden = 0; + sel->rectflag = rectflag; sel->sx = sx; sel->sy = sy; @@ -271,9 +273,19 @@ screen_clear_selection(struct screen *s) struct screen_sel *sel = &s->sel; sel->flag = 0; + sel->hidden = 0; sel->lineflag = LINE_SEL_NONE; } +/* Hide selection. */ +void +screen_hide_selection(struct screen *s) +{ + struct screen_sel *sel = &s->sel; + + sel->hidden = 1; +} + /* Check if cell in selection. */ int screen_check_selection(struct screen *s, u_int px, u_int py) @@ -281,7 +293,7 @@ screen_check_selection(struct screen *s, u_int px, u_int py) struct screen_sel *sel = &s->sel; u_int xx; - if (!sel->flag) + if (!sel->flag || sel->hidden) return (0); if (sel->rectflag) { @@ -377,7 +389,7 @@ void screen_select_cell(struct screen *s, struct grid_cell *dst, const struct grid_cell *src) { - if (!s->sel.flag) + if (!s->sel.flag || s->sel.hidden) return; memcpy(dst, &s->sel.cell, sizeof *dst); |