From e4966b859ee26adbd25172e1e2e7d266feb6d36c Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Sat, 21 Feb 2009 19:05:28 +0000 Subject: Split down term.c into term.h, termact.c. --- term.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 term.h (limited to 'term.h') diff --git a/term.h b/term.h new file mode 100644 index 00000000..3bf16d7a --- /dev/null +++ b/term.h @@ -0,0 +1,59 @@ +/* $Id: term.h,v 1.1 2009/02/21 19:05:28 kristaps Exp $ */ +/* + * Copyright (c) 2008 Kristaps Dzonsons + * + * 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*/ -- cgit v1.2.3-56-ge451