aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/term.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-06-12 19:05:47 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-06-12 19:05:47 +0000
commite0177b9bff2cd6141e183411fe5a31f6ba8fe1a9 (patch)
tree6bd3def11ff1053a38ced25716cddbf6378e26c9 /term.h
parent603cf4a99d61372bf702e449ab0aba998312b923 (diff)
downloadmandoc-e0177b9bff2cd6141e183411fe5a31f6ba8fe1a9.tar.gz
mandoc-e0177b9bff2cd6141e183411fe5a31f6ba8fe1a9.tar.zst
mandoc-e0177b9bff2cd6141e183411fe5a31f6ba8fe1a9.zip
Implement automatic line breaking
inside individual table cells that contain text blocks. This cures overlong lines in various Xenocara manuals.
Diffstat (limited to 'term.h')
-rw-r--r--term.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/term.h b/term.h
index 296d2ad1..f06bbd87 100644
--- a/term.h
+++ b/term.h
@@ -1,4 +1,4 @@
-/* $Id: term.h,v 1.126 2017/06/07 20:01:19 schwarze Exp $ */
+/* $Id: term.h,v 1.127 2017/06/12 19:05:47 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011-2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -52,6 +52,7 @@ struct termp_tbl {
struct termp_col {
int *buf; /* Output buffer. */
size_t maxcols; /* Allocated bytes in buf. */
+ size_t lastcol; /* Last byte in buf. */
size_t col; /* Byte in buf to be written. */
size_t rmargin; /* Current right margin. */
size_t offset; /* Current left margin. */
@@ -69,7 +70,6 @@ struct termp {
size_t lastrmargin; /* Right margin before the last ll. */
size_t maxrmargin; /* Max right margin. */
size_t col; /* Byte position in buf. */
- size_t lastcol; /* Bytes in buf. */
size_t viscol; /* Chars on current line. */
size_t trailspace; /* See term_flushln(). */
size_t minbl; /* Minimum blanks before next field. */
@@ -98,6 +98,7 @@ struct termp {
#define TERMP_NOBUF (1 << 17) /* Bypass output buffer. */
#define TERMP_NEWMC (1 << 18) /* No .mc printed yet. */
#define TERMP_ENDMC (1 << 19) /* Next break ends .mc mode. */
+#define TERMP_MULTICOL (1 << 20) /* Multiple column mode. */
enum termtype type; /* Terminal, PS, or PDF. */
enum termenc enc; /* Type of encoding. */
enum termfont fontl; /* Last font set. */
@@ -128,6 +129,7 @@ void roff_term_pre(struct termp *, const struct roff_node *);
void term_eqn(struct termp *, const struct eqn *);
void term_tbl(struct termp *, const struct tbl_span *);
void term_free(struct termp *);
+void term_setcol(struct termp *, size_t);
void term_newln(struct termp *);
void term_vspace(struct termp *);
void term_word(struct termp *, const char *);