![]() ![]() | ![]() |
version 1.48, 2009/10/18 13:34:17 | version 1.55, 2010/05/15 16:18:23 | ||
---|---|---|---|
|
|
||
TERMENC_ASCII | TERMENC_ASCII | ||
}; | }; | ||
enum termfont { | |||
TERMFONT_NONE = 0, | |||
TERMFONT_BOLD, | |||
TERMFONT_UNDER | |||
}; | |||
#define TERM_MAXMARGIN 100000 /* FIXME */ | |||
struct termp { | struct termp { | ||
size_t defrmargin; /* Right margin of the device.. */ | |||
size_t rmargin; /* Current right margin. */ | size_t rmargin; /* Current right margin. */ | ||
size_t maxrmargin; /* Max right margin. */ | size_t maxrmargin; /* Max right margin. */ | ||
size_t maxcols; /* Max size of buf. */ | size_t maxcols; /* Max size of buf. */ | ||
size_t offset; /* Margin offest. */ | size_t offset; /* Margin offest. */ | ||
size_t col; /* Bytes in buf. */ | size_t col; /* Bytes in buf. */ | ||
int overstep; /* See termp_flushln(). */ | |||
int flags; | int flags; | ||
#define TERMP_SENTENCE (1 << 1) /* Space before a sentence. */ | |||
#define TERMP_NOSPACE (1 << 2) /* No space before words. */ | #define TERMP_NOSPACE (1 << 2) /* No space before words. */ | ||
#define TERMP_NOLPAD (1 << 3) /* See term_flushln(). */ | #define TERMP_NOLPAD (1 << 3) /* See term_flushln(). */ | ||
#define TERMP_NOBREAK (1 << 4) /* See term_flushln(). */ | #define TERMP_NOBREAK (1 << 4) /* See term_flushln(). */ | ||
|
|
||
#define TERMP_NOSPLIT (1 << 11) /* See termp_an_pre/post(). */ | #define TERMP_NOSPLIT (1 << 11) /* See termp_an_pre/post(). */ | ||
#define TERMP_SPLIT (1 << 12) /* See termp_an_pre/post(). */ | #define TERMP_SPLIT (1 << 12) /* See termp_an_pre/post(). */ | ||
#define TERMP_ANPREC (1 << 13) /* See termp_an_pre(). */ | #define TERMP_ANPREC (1 << 13) /* See termp_an_pre(). */ | ||
int bold; | |||
int under; | |||
char *buf; /* Output buffer. */ | char *buf; /* Output buffer. */ | ||
enum termenc enc; /* Type of encoding. */ | enum termenc enc; /* Type of encoding. */ | ||
void *symtab; /* Encoded-symbol table. */ | void *symtab; /* Encoded-symbol table. */ | ||
enum termfont fontl; /* Last font set. */ | |||
enum termfont fontq[10]; /* Symmetric fonts. */ | |||
int fonti; /* Index of font stack. */ | |||
}; | }; | ||
void term_newln(struct termp *); | void term_newln(struct termp *); | ||
|
|
||
void term_word(struct termp *, const char *); | void term_word(struct termp *, const char *); | ||
void term_flushln(struct termp *); | void term_flushln(struct termp *); | ||
int a2width(const char *); | size_t term_hspan(const struct roffsu *); | ||
int a2height(const char *); | size_t term_vspan(const struct roffsu *); | ||
enum termfont term_fonttop(struct termp *); | |||
const void *term_fontq(struct termp *); | |||
void term_fontpush(struct termp *, enum termfont); | |||
void term_fontpop(struct termp *); | |||
void term_fontpopq(struct termp *, const void *); | |||
void term_fontrepl(struct termp *, enum termfont); | |||
void term_fontlast(struct termp *); | |||
__END_DECLS | __END_DECLS | ||