aboutsummaryrefslogtreecommitdiff
path: root/screen.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2016-10-13 08:09:47 +0100
committerThomas Adam <thomas@xteddy.org>2016-10-13 08:09:47 +0100
commit6551f4bb3b651aa2dba77a98cc42828737b88306 (patch)
tree82dd6cbba583e9d4bc58a9334a8b74713d94da89 /screen.c
parent76a9e6f27bb0c7b547989c3b80cf8cc0a148064d (diff)
parente0add119ea4a6c8d40905a7ad1f7bc3553d20ccc (diff)
downloadrtmux-6551f4bb3b651aa2dba77a98cc42828737b88306.tar.gz
rtmux-6551f4bb3b651aa2dba77a98cc42828737b88306.tar.bz2
rtmux-6551f4bb3b651aa2dba77a98cc42828737b88306.zip
Merge branch 'obsd-master'
Conflicts: paste.c
Diffstat (limited to 'screen.c')
-rw-r--r--screen.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/screen.c b/screen.c
index 7bde6f9b..3d6b8cdc 100644
--- a/screen.c
+++ b/screen.c
@@ -371,6 +371,22 @@ screen_check_selection(struct screen *s, u_int px, u_int py)
return (1);
}
+/* Get selected grid cell. */
+void
+screen_select_cell(struct screen *s, struct grid_cell *dst,
+ const struct grid_cell *src)
+{
+ if (!s->sel.flag)
+ return;
+
+ memcpy(dst, &s->sel.cell, sizeof *dst);
+
+ utf8_copy(&dst->data, &src->data);
+ dst->attr = dst->attr & ~GRID_ATTR_CHARSET;
+ dst->attr |= src->attr & GRID_ATTR_CHARSET;
+ dst->flags = src->flags;
+}
+
/* Reflow wrapped lines. */
static void
screen_reflow(struct screen *s, u_int new_x)