diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-02-21 19:05:28 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-02-21 19:05:28 +0000 |
commit | 90b7feb891f3f87751c0a0c0b57b38c8834ede8e (patch) | |
tree | 09820ff749c6795cccca121a7d1ee9752a101825 /term.h | |
parent | 258474969d9b8106ce94ac7945ea0635c4726b95 (diff) | |
download | mandoc-90b7feb891f3f87751c0a0c0b57b38c8834ede8e.tar.gz |
Split down term.c into term.h, termact.c.
Diffstat (limited to 'term.h')
-rw-r--r-- | term.h | 59 |
1 files changed, 59 insertions, 0 deletions
@@ -0,0 +1,59 @@ +/* $Id$ */ +/* + * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all + * copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE + * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ +#ifndef TERM_H +#define TERM_H + +#include "mdoc.h" + +__BEGIN_DECLS + +struct termp { + size_t rmargin; + size_t maxrmargin; + size_t maxcols; + size_t offset; + size_t col; + int flags; +#define TERMP_BOLD (1 << 0) /* Embolden words. */ +#define TERMP_UNDERLINE (1 << 1) /* Underline words. */ +#define TERMP_NOSPACE (1 << 2) /* No space before words. */ +#define TERMP_NOLPAD (1 << 3) /* No leftpad before flush. */ +#define TERMP_NOBREAK (1 << 4) /* No break after flush. */ + char *buf; +}; + +struct termact { + int (*pre)(struct termp *, + const struct mdoc_meta *, + const struct mdoc_node *); + int (*post)(struct termp *, + const struct mdoc_meta *, + const struct mdoc_node *); +}; + +void newln(struct termp *); +void vspace(struct termp *); +void word(struct termp *, const char *); +void flushln(struct termp *); + +const struct termact *termacts; + +__END_DECLS + +#endif /*!TERM_H*/ |